From 6a6fa44fb2f668bc15b9a0992a973a6a919ce34b Mon Sep 17 00:00:00 2001 From: Deploy from CI Date: Thu, 18 Jan 2024 00:53:15 +0000 Subject: [PATCH] Deploy 5a11de134b1578c7bd7e33074d8eb1e767d2254a to gh-pages --- .bazelrc | 2 + .bazelversion | 1 + .devcontainer/Dockerfile | 26 + .devcontainer/devcontainer.json | 41 + .../library-scripts/common-debian.sh | 454 ++ .github/workflows/create-new-riju-release.yml | 94 + .gitignore | 27 + 404.html | 225 + BUILD | 82 + FontAwesome/css/font-awesome.css | 4 + FontAwesome/fonts/FontAwesome.ttf | Bin 0 -> 165548 bytes FontAwesome/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes FontAwesome/fonts/fontawesome-webfont.svg | 2671 +++++++++++ FontAwesome/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes FontAwesome/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes FontAwesome/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes ayu-highlight.css | 78 + book.js | 697 +++ chapter_1.html | 281 ++ chapter_1/BUILD | 9 + chapter_1/hello_world.claro | 1 + chapter_1/hello_world.generated_docs.html | 247 + clipboard.min.js | 7 + common_programming_concepts.html | 235 + .../sep_var_decl_and_init/BUILD | 13 + .../sep_var_decl_and_init/ex1.claro | 2 + .../sep_var_decl_and_init/ex1_cleanup.claro | 1 + .../sep_var_decl_and_init.generated_docs.html | 245 + .../var_reassignment/BUILD | 7 + .../var_reassignment/ex1.claro | 5 + .../var_reassignment.generated_docs.html | 249 + .../variables_and_types/BUILD | 13 + .../variables_and_types/ex1.claro | 7 + .../variables_and_types/ex1_cleanup.claro | 7 + .../variables_and_types.generated_docs.html | 261 + concurrency.html | 260 + control_flow.html | 240 + control_flow/collection_comprehension/BUILD | 12 + ...llection_comprehension.generated_docs.html | 307 ++ .../collection_comprehension/ex1.claro | 7 + .../collection_comprehension/ex2.claro | 3 + .../collection_comprehension/ex3.claro | 2 + .../collection_comprehension/ex4.claro | 2 + .../more_than_syntax_sugar/BUILD | 10 + .../more_than_syntax_sugar/ex1.claro | 10 + .../more_than_syntax_sugar/ex2.claro | 2 + ...more_than_syntax_sugar.generated_docs.html | 269 ++ control_flow/for/BUILD | 17 + control_flow/for/ex1.claro | 3 + control_flow/for/ex2.claro | 3 + control_flow/for/ex3.claro | 3 + control_flow/for/ex4.claro | 13 + control_flow/for/ex5.claro | 6 + control_flow/for/ex6.claro | 6 + control_flow/for/for.generated_docs.html | 348 ++ control_flow/if_else/BUILD | 13 + control_flow/if_else/ex1.claro | 13 + control_flow/if_else/ex2.claro | 11 + .../if_else/if_else.generated_docs.html | 281 ++ control_flow/match/BUILD | 25 + control_flow/match/ex1.claro | 12 + control_flow/match/ex2.claro | 10 + control_flow/match/ex3.claro | 10 + control_flow/match/ex4.claro | 14 + control_flow/match/ex5.claro | 7 + .../match/exhaustiveness_checks/BUILD | 18 + .../match/exhaustiveness_checks/ex1.claro | 13 + .../match/exhaustiveness_checks/ex2.claro | 14 + .../match/exhaustiveness_checks/ex3.claro | 11 + .../match/exhaustiveness_checks/ex4.claro | 14 + .../exhaustiveness_checks.generated_docs.html | 342 ++ control_flow/match/match.generated_docs.html | 353 ++ control_flow/match/structed_data/BUILD | 10 + control_flow/match/structed_data/ex1.claro | 10 + control_flow/match/structed_data/ex2.claro | 7 + .../structured_data.generated_docs.html | 275 ++ control_flow/match/wildcards/BUILD | 14 + control_flow/match/wildcards/ex1.claro | 17 + control_flow/match/wildcards/ex2.claro | 11 + control_flow/match/wildcards/ex3.claro | 7 + .../wildcards/wildcards.generated_docs.html | 309 ++ control_flow/pipes/BUILD | 7 + control_flow/pipes/ex1.claro | 5 + control_flow/pipes/ex2.claro | 10 + control_flow/pipes/ex3.claro | 6 + control_flow/pipes/ex4.claro | 7 + control_flow/pipes/pipes.generated_docs.html | 314 ++ control_flow/repeat/BUILD | 10 + control_flow/repeat/ex1.claro | 3 + control_flow/repeat/ex2.claro | 5 + .../repeat/repeat.generated_docs.html | 269 ++ control_flow/while/BUILD | 15 + control_flow/while/ex1.claro | 4 + control_flow/while/ex2.claro | 7 + control_flow/while/ex3.claro | 8 + control_flow/while/ex4.claro | 5 + control_flow/while/while.generated_docs.html | 315 ++ copying/BUILD | 10 + copying/copying.generated_docs.html | 294 ++ copying/ex1.claro | 12 + copying/ex2.claro | 13 + copying/known_bugs/BUILD | 11 + copying/known_bugs/ex1.claro | 30 + copying/known_bugs/ex2.claro | 13 + copying/known_bugs/ex3.claro | 17 + .../known_bugs/known_bugs.generated_docs.html | 350 ++ copying/mutability_coercion/BUILD | 15 + copying/mutability_coercion/ex1.claro | 32 + copying/mutability_coercion/ex2.claro | 2 + copying/mutability_coercion/ex3.claro | 10 + .../mutability_coercion.generated_docs.html | 325 ++ copying/performance/BUILD | 16 + copying/performance/ex1.claro | 5 + copying/performance/ex2.claro | 44 + .../performance.generated_docs.html | 338 ++ css/chrome.css | 606 +++ css/general.css | 234 + css/print.css | 50 + css/variables.css | 279 ++ custom_blocks.css | 22 + elasticlunr.min.js | 10 + favicon.png | Bin 0 -> 5679 bytes favicon.svg | 22 + fonts/OPEN-SANS-LICENSE.txt | 202 + fonts/SOURCE-CODE-PRO-LICENSE.txt | 93 + fonts/fonts.css | 100 + fonts/open-sans-v17-all-charsets-300.woff2 | Bin 0 -> 44352 bytes ...open-sans-v17-all-charsets-300italic.woff2 | Bin 0 -> 40656 bytes fonts/open-sans-v17-all-charsets-600.woff2 | Bin 0 -> 44936 bytes ...open-sans-v17-all-charsets-600italic.woff2 | Bin 0 -> 42120 bytes fonts/open-sans-v17-all-charsets-700.woff2 | Bin 0 -> 44988 bytes ...open-sans-v17-all-charsets-700italic.woff2 | Bin 0 -> 40800 bytes fonts/open-sans-v17-all-charsets-800.woff2 | Bin 0 -> 44536 bytes ...open-sans-v17-all-charsets-800italic.woff2 | Bin 0 -> 40812 bytes fonts/open-sans-v17-all-charsets-italic.woff2 | Bin 0 -> 41076 bytes .../open-sans-v17-all-charsets-regular.woff2 | Bin 0 -> 43236 bytes ...source-code-pro-v11-all-charsets-500.woff2 | Bin 0 -> 59140 bytes generics.generated_docs.html | 276 ++ generics/BUILD | 1 + generics/contracts/BUILD | 23 + .../contracts/contracts.generated_docs.html | 291 ++ generics/contracts/ex1.claro | 4 + generics/contracts/ex2.claro | 9 + generics/contracts/ex_contract.claro | 3 + .../contracts/implementing_contracts/BUILD | 28 + .../implementing_contracts/ex2.claro | 2 + .../implementing_contracts/ex3.claro | 2 + .../implementing_contracts/ex_impls.claro | 11 + ...implementing_contracts.generated_docs.html | 290 ++ generics/ex2.claro | 11 + generics/ex_reduce.claro | 6 + generics/generic_return_type_inference/BUILD | 32 + .../generic_return_type_inference/ex1.claro | 21 + .../generic_return_type_inference/ex2.claro | 13 + .../ex3-cleanup.claro | 1 + .../generic_return_type_inference/ex3.claro | 2 + .../generic_return_type_inference/ex4.claro | 7 + .../generic_return_type_inference/ex5.claro | 8 + ..._return_type_inference.generated_docs.html | 347 ++ getting_started/BUILD | 0 getting_started/first_program/BUILD | 42 + .../first_program.generated_docs.html | 316 ++ .../hello_world_binary_target.txt | 5 + getting_started/getting_started.html | 279 ++ getting_started/intro_to_modules/BUILD | 59 + .../intro_to_modules.generated_docs.html | 359 ++ .../intro_to_modules/styling.claro | 4 + .../intro_to_modules/styling.claro_module_api | 9 + .../styling_module_target.txt | 14 + .../updated_BUILD_load_stmt.txt | 1 + .../updated_hello_world.claro | 1 + .../understanding_starter_project/BUILD | 64 + .../example_BUILD_tmp | 9 + ...anding_starter_project.generated_docs.html | 385 ++ graph_procedures/BUILD | 15 + .../calling_graph_procedures/BUILD | 29 + ...lling_graph_procedures.generated_docs.html | 281 ++ .../ex1-cleanup.claro | 1 + .../calling_graph_procedures/ex1.claro | 2 + .../calling_graph_procedures/ex2.claro | 3 + .../calling_graph_procedures/ex3.claro.txt | 11 + .../conditional_subgraph_execution/BUILD | 15 + ...nal_subgraph_execution.generated_docs.html | 297 ++ .../ex1-setup.claro | 21 + .../conditional_subgraph_execution/ex1.claro | 39 + graph_procedures/ex1-setup.claro | 33 + graph_procedures/ex1.claro | 6 + .../graph_procedure_composition/BUILD | 18 + .../ex1-setup.claro | 19 + .../graph_procedure_composition/ex1.claro | 6 + .../ex2-setup.claro | 15 + .../graph_procedure_composition/ex2.claro | 6 + ..._procedure_composition.generated_docs.html | 289 ++ .../graph_procedures.generated_docs.html | 270 ++ guaranteed_deadlock_free.html | 274 ++ guaranteed_deadlock_free/BUILD | 20 + .../blocking_procedures/BUILD | 20 + .../blocking_procedures.generated_docs.html | 268 ++ .../blocking_procedures/ex1-setup.claro | 7 + .../blocking_procedures/ex1.claro | 7 + .../blocking_procedures/ex2-setup.claro | 6 + .../blocking_procedures/ex2.claro | 4 + guaranteed_deadlock_free/ex1.claro | 1 + guaranteed_deadlock_free/ex2.claro | 1 + ...color_is_your_function.generated_docs.html | 260 + .../re_what_color_is_your_function/BUILD | 33 + .../blocking_generics.generated_docs.html | 329 ++ .../re_what_color_is_your_function/ex1.claro | 7 + .../re_what_color_is_your_function/ex2.claro | 8 + .../re_what_color_is_your_function/ex3.claro | 10 + .../re_what_color_is_your_function/ex4.claro | 3 + .../ex5-cleanup.claro | 2 + .../re_what_color_is_your_function/ex5.claro | 7 + highlight.css | 82 + highlight.js | 105 + images/BUILD | 11 + ...tapodOfferWeapon-transparentBackground.png | Bin 0 -> 29797 bytes index.html | 281 ++ lambdas_and_first_class_procedures/BUILD | 19 + .../ex1-cleanup.claro | 3 + lambdas_and_first_class_procedures/ex1.claro | 3 + lambdas_and_first_class_procedures/ex2.claro | 11 + .../lambda_closures/BUILD | 14 + .../lambda_closures/ex1.claro | 5 + .../lambda_closures/ex2.claro | 11 + .../lambda_closures/ex3.claro | 28 + .../lambda_closures.generated_docs.html | 345 ++ ...first_class_procedures.generated_docs.html | 275 ++ mark.min.js | 7 + mermaid-init.js | 35 + mermaid@10.6.1.min.js | 1648 +++++++ module_system.html | 353 ++ module_system/examples/BUILD | 28 + module_system/examples/boxes.claro | 5 + module_system/examples/boxes.claro_module_api | 2 + module_system/examples/contract_impl.claro | 9 + .../examples/example.claro_module_api | 10 + module_system/examples/pretty_print.claro | 7 + module_system/examples/test.claro | 9 + print.html | 4219 +++++++++++++++++ procedures.html | 243 + procedures/consumers/BUILD | 9 + .../consumers/consumers.generated_docs.html | 257 + procedures/consumers/ex1.claro | 8 + procedures/functions/BUILD | 9 + procedures/functions/ex1.claro | 5 + .../functions/functions.generated_docs.html | 248 + procedures/providers/BUILD | 9 + procedures/providers/ex1.claro | 5 + .../providers/providers.generated_docs.html | 248 + searcher.js | 483 ++ searchindex.js | 1 + searchindex.json | 1 + static_typing/BUILD | 13 + static_typing/aliases/BUILD | 14 + .../aliases/aliases.generated_docs.html | 304 ++ static_typing/aliases/ex1.claro | 13 + static_typing/aliases/ex2.claro | 11 + static_typing/aliases/ex3.claro | 6 + .../aliases/not_a_new_type_decl/BUILD | 9 + .../aliases/not_a_new_type_decl/ex1.claro | 13 + .../not_a_new_type_decl.generated_docs.html | 268 ++ static_typing/atoms/BUILD | 26 + static_typing/atoms/atoms.generated_docs.html | 316 ++ static_typing/atoms/ex1.claro | 3 + static_typing/atoms/ex2.claro | 11 + static_typing/atoms/ex3.claro | 11 + static_typing/atoms/ex4.claro | 13 + static_typing/builtin_colls/BUILD | 13 + .../builtin_collections.generated_docs.html | 342 ++ static_typing/builtin_colls/ex1.claro | 20 + static_typing/builtin_colls/ex2.claro | 5 + static_typing/builtin_colls/ex3.claro | 5 + static_typing/builtin_colls/ex4.claro | 5 + static_typing/builtin_colls/ex5.claro | 7 + static_typing/builtin_colls/list_type/BUILD | 7 + .../builtin_colls/list_type/ex1.claro | 5 + .../builtin_colls/list_type/ex2.claro | 3 + .../builtin_colls/list_type/ex3.claro | 3 + .../list_type/list_type.generated_docs.html | 317 ++ static_typing/builtin_colls/map_type/BUILD | 17 + .../builtin_colls/map_type/ex1.claro | 5 + .../builtin_colls/map_type/ex2.claro | 5 + .../builtin_colls/map_type/ex3.claro | 7 + .../builtin_colls/map_type/ex4.claro | 2 + .../builtin_colls/map_type/ex5.claro | 5 + .../map_type/map_type.generated_docs.html | 307 ++ static_typing/builtin_colls/set_type/BUILD | 15 + .../builtin_colls/set_type/ex1.claro | 3 + .../builtin_colls/set_type/ex2.claro | 5 + .../builtin_colls/set_type/ex3.claro | 4 + .../set_type/set_type.generated_docs.html | 272 ++ static_typing/builtin_colls/struct_type/BUILD | 7 + .../builtin_colls/struct_type/ex1.claro | 2 + .../builtin_colls/struct_type/ex2.claro | 3 + .../builtin_colls/struct_type/ex3.claro | 6 + .../struct_type.generated_docs.html | 276 ++ static_typing/builtin_colls/tuple_type/BUILD | 23 + .../builtin_colls/tuple_type/ex1.claro | 7 + .../builtin_colls/tuple_type/ex2.claro | 7 + .../builtin_colls/tuple_type/ex3.claro | 6 + .../builtin_colls/tuple_type/ex4.claro | 7 + .../builtin_colls/tuple_type/ex5.claro | 5 + .../builtin_colls/tuple_type/ex6.claro | 5 + .../tuple_type/tuple_type.generated_docs.html | 362 ++ static_typing/ex1-cleanup.claro | 1 + static_typing/ex1.claro | 1 + static_typing/oneofs/BUILD | 18 + static_typing/oneofs/ex1-cleanup.claro | 2 + static_typing/oneofs/ex1.claro | 1 + static_typing/oneofs/ex2.claro | 17 + static_typing/oneofs/ex3.claro | 6 + static_typing/oneofs/narrowing/BUILD | 14 + static_typing/oneofs/narrowing/ex1.claro | 7 + static_typing/oneofs/narrowing/ex2.claro | 11 + static_typing/oneofs/narrowing/ex3.claro | 22 + .../narrowing/narrowing.generated_docs.html | 313 ++ .../oneofs/oneofs.generated_docs.html | 298 ++ .../static_typing.generated_docs.html | 253 + static_typing/user_defined_types/BUILD | 40 + static_typing/user_defined_types/ex1.claro | 1 + static_typing/user_defined_types/ex2.claro | 4 + static_typing/user_defined_types/ex3.claro | 2 + static_typing/user_defined_types/ex4.claro | 3 + static_typing/user_defined_types/ex5.claro | 3 + .../user_defined_types/ex6-bad.claro | 4 + .../user_defined_types/ex6-good.claro | 1 + static_typing/user_defined_types/ex6.claro | 7 + .../parameterized_types/BUILD | 20 + .../concrete_type_inference/BUILD | 25 + ...oncrete_type_inference.generated_docs.html | 280 ++ .../concrete_type_inference/ex-setup.claro | 1 + .../concrete_type_inference/ex1.claro | 5 + .../concrete_type_inference/ex2.claro | 2 + .../concrete_type_inference/ex3.claro | 2 + .../parameterized_types/ex1.claro | 1 + .../parameterized_types/ex2.claro | 5 + .../parameterized_types/ex3.claro | 1 + .../parameterized_types.generated_docs.html | 272 ++ .../user_defined_types/recursive_types/BUILD | 24 + .../recursive_types/ex1.claro | 5 + .../recursive_types/ex2.claro | 7 + .../recursive_types/ex3.claro | 5 + .../recursive_types/ex4.claro | 7 + .../impossible_recursive_types/BUILD | 12 + .../impossible_recursive_types/ex1.claro | 3 + ...ssible_recursive_types.generated_docs.html | 260 + .../recursive_types.generated_docs.html | 290 ++ .../user_defined_types.generated_docs.html | 346 ++ tomorrow-night.css | 102 + type_inference/BUILD | 18 + type_inference/ex-cleanup.claro | 3 + type_inference/ex1.claro | 3 + type_inference/ex2.claro | 3 + .../required_type_annotations/BUILD | 42 + .../required_type_annotations/ex1.claro | 4 + .../ex2-cleanup.claro | 1 + .../required_type_annotations/ex2.claro | 1 + .../required_type_annotations/ex3.claro | 1 + .../ex4-cleanup.claro | 1 + .../required_type_annotations/ex4.claro | 1 + .../required_type_annotations/ex5.claro | 6 + .../required_type_annotations/ex6.claro | 14 + .../required_type_annotations/ex7.claro | 10 + .../required_type_annotations/ex8.claro | 5 + ...uired_type_annotations.generated_docs.html | 360 ++ .../type_inference.generated_docs.html | 266 ++ 367 files changed, 34679 insertions(+) create mode 100644 .bazelrc create mode 100644 .bazelversion create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/library-scripts/common-debian.sh create mode 100644 .github/workflows/create-new-riju-release.yml create mode 100644 .gitignore create mode 100644 404.html create mode 100644 BUILD create mode 100644 FontAwesome/css/font-awesome.css create mode 100644 FontAwesome/fonts/FontAwesome.ttf create mode 100644 FontAwesome/fonts/fontawesome-webfont.eot create mode 100644 FontAwesome/fonts/fontawesome-webfont.svg create mode 100644 FontAwesome/fonts/fontawesome-webfont.ttf create mode 100644 FontAwesome/fonts/fontawesome-webfont.woff create mode 100644 FontAwesome/fonts/fontawesome-webfont.woff2 create mode 100644 ayu-highlight.css create mode 100644 book.js create mode 100644 chapter_1.html create mode 100644 chapter_1/BUILD create mode 100644 chapter_1/hello_world.claro create mode 100644 chapter_1/hello_world.generated_docs.html create mode 100644 clipboard.min.js create mode 100644 common_programming_concepts.html create mode 100644 common_programming_concepts/sep_var_decl_and_init/BUILD create mode 100644 common_programming_concepts/sep_var_decl_and_init/ex1.claro create mode 100644 common_programming_concepts/sep_var_decl_and_init/ex1_cleanup.claro create mode 100644 common_programming_concepts/sep_var_decl_and_init/sep_var_decl_and_init.generated_docs.html create mode 100644 common_programming_concepts/var_reassignment/BUILD create mode 100644 common_programming_concepts/var_reassignment/ex1.claro create mode 100644 common_programming_concepts/var_reassignment/var_reassignment.generated_docs.html create mode 100644 common_programming_concepts/variables_and_types/BUILD create mode 100644 common_programming_concepts/variables_and_types/ex1.claro create mode 100644 common_programming_concepts/variables_and_types/ex1_cleanup.claro create mode 100644 common_programming_concepts/variables_and_types/variables_and_types.generated_docs.html create mode 100644 concurrency.html create mode 100644 control_flow.html create mode 100644 control_flow/collection_comprehension/BUILD create mode 100644 control_flow/collection_comprehension/collection_comprehension.generated_docs.html create mode 100644 control_flow/collection_comprehension/ex1.claro create mode 100644 control_flow/collection_comprehension/ex2.claro create mode 100644 control_flow/collection_comprehension/ex3.claro create mode 100644 control_flow/collection_comprehension/ex4.claro create mode 100644 control_flow/collection_comprehension/more_than_syntax_sugar/BUILD create mode 100644 control_flow/collection_comprehension/more_than_syntax_sugar/ex1.claro create mode 100644 control_flow/collection_comprehension/more_than_syntax_sugar/ex2.claro create mode 100644 control_flow/collection_comprehension/more_than_syntax_sugar/more_than_syntax_sugar.generated_docs.html create mode 100644 control_flow/for/BUILD create mode 100644 control_flow/for/ex1.claro create mode 100644 control_flow/for/ex2.claro create mode 100644 control_flow/for/ex3.claro create mode 100644 control_flow/for/ex4.claro create mode 100644 control_flow/for/ex5.claro create mode 100644 control_flow/for/ex6.claro create mode 100644 control_flow/for/for.generated_docs.html create mode 100644 control_flow/if_else/BUILD create mode 100644 control_flow/if_else/ex1.claro create mode 100644 control_flow/if_else/ex2.claro create mode 100644 control_flow/if_else/if_else.generated_docs.html create mode 100644 control_flow/match/BUILD create mode 100644 control_flow/match/ex1.claro create mode 100644 control_flow/match/ex2.claro create mode 100644 control_flow/match/ex3.claro create mode 100644 control_flow/match/ex4.claro create mode 100644 control_flow/match/ex5.claro create mode 100644 control_flow/match/exhaustiveness_checks/BUILD create mode 100644 control_flow/match/exhaustiveness_checks/ex1.claro create mode 100644 control_flow/match/exhaustiveness_checks/ex2.claro create mode 100644 control_flow/match/exhaustiveness_checks/ex3.claro create mode 100644 control_flow/match/exhaustiveness_checks/ex4.claro create mode 100644 control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html create mode 100644 control_flow/match/match.generated_docs.html create mode 100644 control_flow/match/structed_data/BUILD create mode 100644 control_flow/match/structed_data/ex1.claro create mode 100644 control_flow/match/structed_data/ex2.claro create mode 100644 control_flow/match/structed_data/structured_data.generated_docs.html create mode 100644 control_flow/match/wildcards/BUILD create mode 100644 control_flow/match/wildcards/ex1.claro create mode 100644 control_flow/match/wildcards/ex2.claro create mode 100644 control_flow/match/wildcards/ex3.claro create mode 100644 control_flow/match/wildcards/wildcards.generated_docs.html create mode 100644 control_flow/pipes/BUILD create mode 100644 control_flow/pipes/ex1.claro create mode 100644 control_flow/pipes/ex2.claro create mode 100644 control_flow/pipes/ex3.claro create mode 100644 control_flow/pipes/ex4.claro create mode 100644 control_flow/pipes/pipes.generated_docs.html create mode 100644 control_flow/repeat/BUILD create mode 100644 control_flow/repeat/ex1.claro create mode 100644 control_flow/repeat/ex2.claro create mode 100644 control_flow/repeat/repeat.generated_docs.html create mode 100644 control_flow/while/BUILD create mode 100644 control_flow/while/ex1.claro create mode 100644 control_flow/while/ex2.claro create mode 100644 control_flow/while/ex3.claro create mode 100644 control_flow/while/ex4.claro create mode 100644 control_flow/while/while.generated_docs.html create mode 100644 copying/BUILD create mode 100644 copying/copying.generated_docs.html create mode 100644 copying/ex1.claro create mode 100644 copying/ex2.claro create mode 100644 copying/known_bugs/BUILD create mode 100644 copying/known_bugs/ex1.claro create mode 100644 copying/known_bugs/ex2.claro create mode 100644 copying/known_bugs/ex3.claro create mode 100644 copying/known_bugs/known_bugs.generated_docs.html create mode 100644 copying/mutability_coercion/BUILD create mode 100644 copying/mutability_coercion/ex1.claro create mode 100644 copying/mutability_coercion/ex2.claro create mode 100644 copying/mutability_coercion/ex3.claro create mode 100644 copying/mutability_coercion/mutability_coercion.generated_docs.html create mode 100644 copying/performance/BUILD create mode 100644 copying/performance/ex1.claro create mode 100644 copying/performance/ex2.claro create mode 100644 copying/performance/performance.generated_docs.html create mode 100644 css/chrome.css create mode 100644 css/general.css create mode 100644 css/print.css create mode 100644 css/variables.css create mode 100644 custom_blocks.css create mode 100644 elasticlunr.min.js create mode 100644 favicon.png create mode 100644 favicon.svg create mode 100644 fonts/OPEN-SANS-LICENSE.txt create mode 100644 fonts/SOURCE-CODE-PRO-LICENSE.txt create mode 100644 fonts/fonts.css create mode 100644 fonts/open-sans-v17-all-charsets-300.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-300italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-600.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-600italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-700.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-700italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-800.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-800italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-regular.woff2 create mode 100644 fonts/source-code-pro-v11-all-charsets-500.woff2 create mode 100644 generics.generated_docs.html create mode 100644 generics/BUILD create mode 100644 generics/contracts/BUILD create mode 100644 generics/contracts/contracts.generated_docs.html create mode 100644 generics/contracts/ex1.claro create mode 100644 generics/contracts/ex2.claro create mode 100644 generics/contracts/ex_contract.claro create mode 100644 generics/contracts/implementing_contracts/BUILD create mode 100644 generics/contracts/implementing_contracts/ex2.claro create mode 100644 generics/contracts/implementing_contracts/ex3.claro create mode 100644 generics/contracts/implementing_contracts/ex_impls.claro create mode 100644 generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html create mode 100644 generics/ex2.claro create mode 100644 generics/ex_reduce.claro create mode 100644 generics/generic_return_type_inference/BUILD create mode 100644 generics/generic_return_type_inference/ex1.claro create mode 100644 generics/generic_return_type_inference/ex2.claro create mode 100644 generics/generic_return_type_inference/ex3-cleanup.claro create mode 100644 generics/generic_return_type_inference/ex3.claro create mode 100644 generics/generic_return_type_inference/ex4.claro create mode 100644 generics/generic_return_type_inference/ex5.claro create mode 100644 generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html create mode 100644 getting_started/BUILD create mode 100644 getting_started/first_program/BUILD create mode 100644 getting_started/first_program/first_program.generated_docs.html create mode 100644 getting_started/first_program/hello_world_binary_target.txt create mode 100644 getting_started/getting_started.html create mode 100644 getting_started/intro_to_modules/BUILD create mode 100644 getting_started/intro_to_modules/intro_to_modules.generated_docs.html create mode 100644 getting_started/intro_to_modules/styling.claro create mode 100644 getting_started/intro_to_modules/styling.claro_module_api create mode 100644 getting_started/intro_to_modules/styling_module_target.txt create mode 100644 getting_started/intro_to_modules/updated_BUILD_load_stmt.txt create mode 100644 getting_started/intro_to_modules/updated_hello_world.claro create mode 100644 getting_started/understanding_starter_project/BUILD create mode 100644 getting_started/understanding_starter_project/example_BUILD_tmp create mode 100644 getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html create mode 100644 graph_procedures/BUILD create mode 100644 graph_procedures/calling_graph_procedures/BUILD create mode 100644 graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html create mode 100644 graph_procedures/calling_graph_procedures/ex1-cleanup.claro create mode 100644 graph_procedures/calling_graph_procedures/ex1.claro create mode 100644 graph_procedures/calling_graph_procedures/ex2.claro create mode 100644 graph_procedures/calling_graph_procedures/ex3.claro.txt create mode 100644 graph_procedures/conditional_subgraph_execution/BUILD create mode 100644 graph_procedures/conditional_subgraph_execution/conditional_subgraph_execution.generated_docs.html create mode 100644 graph_procedures/conditional_subgraph_execution/ex1-setup.claro create mode 100644 graph_procedures/conditional_subgraph_execution/ex1.claro create mode 100644 graph_procedures/ex1-setup.claro create mode 100644 graph_procedures/ex1.claro create mode 100644 graph_procedures/graph_procedure_composition/BUILD create mode 100644 graph_procedures/graph_procedure_composition/ex1-setup.claro create mode 100644 graph_procedures/graph_procedure_composition/ex1.claro create mode 100644 graph_procedures/graph_procedure_composition/ex2-setup.claro create mode 100644 graph_procedures/graph_procedure_composition/ex2.claro create mode 100644 graph_procedures/graph_procedure_composition/graph_procedure_composition.generated_docs.html create mode 100644 graph_procedures/graph_procedures.generated_docs.html create mode 100644 guaranteed_deadlock_free.html create mode 100644 guaranteed_deadlock_free/BUILD create mode 100644 guaranteed_deadlock_free/blocking_procedures/BUILD create mode 100644 guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html create mode 100644 guaranteed_deadlock_free/blocking_procedures/ex1-setup.claro create mode 100644 guaranteed_deadlock_free/blocking_procedures/ex1.claro create mode 100644 guaranteed_deadlock_free/blocking_procedures/ex2-setup.claro create mode 100644 guaranteed_deadlock_free/blocking_procedures/ex2.claro create mode 100644 guaranteed_deadlock_free/ex1.claro create mode 100644 guaranteed_deadlock_free/ex2.claro create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function.generated_docs.html create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/BUILD create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/ex1.claro create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/ex2.claro create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/ex3.claro create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/ex4.claro create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/ex5-cleanup.claro create mode 100644 guaranteed_deadlock_free/re_what_color_is_your_function/ex5.claro create mode 100644 highlight.css create mode 100644 highlight.js create mode 100644 images/BUILD create mode 100644 images/ClaroLogoFromArrivalHeptapodOfferWeapon-transparentBackground.png create mode 100644 index.html create mode 100644 lambdas_and_first_class_procedures/BUILD create mode 100644 lambdas_and_first_class_procedures/ex1-cleanup.claro create mode 100644 lambdas_and_first_class_procedures/ex1.claro create mode 100644 lambdas_and_first_class_procedures/ex2.claro create mode 100644 lambdas_and_first_class_procedures/lambda_closures/BUILD create mode 100644 lambdas_and_first_class_procedures/lambda_closures/ex1.claro create mode 100644 lambdas_and_first_class_procedures/lambda_closures/ex2.claro create mode 100644 lambdas_and_first_class_procedures/lambda_closures/ex3.claro create mode 100644 lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html create mode 100644 lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html create mode 100644 mark.min.js create mode 100644 mermaid-init.js create mode 100644 mermaid@10.6.1.min.js create mode 100644 module_system.html create mode 100644 module_system/examples/BUILD create mode 100644 module_system/examples/boxes.claro create mode 100644 module_system/examples/boxes.claro_module_api create mode 100644 module_system/examples/contract_impl.claro create mode 100644 module_system/examples/example.claro_module_api create mode 100644 module_system/examples/pretty_print.claro create mode 100644 module_system/examples/test.claro create mode 100644 print.html create mode 100644 procedures.html create mode 100644 procedures/consumers/BUILD create mode 100644 procedures/consumers/consumers.generated_docs.html create mode 100644 procedures/consumers/ex1.claro create mode 100644 procedures/functions/BUILD create mode 100644 procedures/functions/ex1.claro create mode 100644 procedures/functions/functions.generated_docs.html create mode 100644 procedures/providers/BUILD create mode 100644 procedures/providers/ex1.claro create mode 100644 procedures/providers/providers.generated_docs.html create mode 100644 searcher.js create mode 100644 searchindex.js create mode 100644 searchindex.json create mode 100644 static_typing/BUILD create mode 100644 static_typing/aliases/BUILD create mode 100644 static_typing/aliases/aliases.generated_docs.html create mode 100644 static_typing/aliases/ex1.claro create mode 100644 static_typing/aliases/ex2.claro create mode 100644 static_typing/aliases/ex3.claro create mode 100644 static_typing/aliases/not_a_new_type_decl/BUILD create mode 100644 static_typing/aliases/not_a_new_type_decl/ex1.claro create mode 100644 static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html create mode 100644 static_typing/atoms/BUILD create mode 100644 static_typing/atoms/atoms.generated_docs.html create mode 100644 static_typing/atoms/ex1.claro create mode 100644 static_typing/atoms/ex2.claro create mode 100644 static_typing/atoms/ex3.claro create mode 100644 static_typing/atoms/ex4.claro create mode 100644 static_typing/builtin_colls/BUILD create mode 100644 static_typing/builtin_colls/builtin_collections.generated_docs.html create mode 100644 static_typing/builtin_colls/ex1.claro create mode 100644 static_typing/builtin_colls/ex2.claro create mode 100644 static_typing/builtin_colls/ex3.claro create mode 100644 static_typing/builtin_colls/ex4.claro create mode 100644 static_typing/builtin_colls/ex5.claro create mode 100644 static_typing/builtin_colls/list_type/BUILD create mode 100644 static_typing/builtin_colls/list_type/ex1.claro create mode 100644 static_typing/builtin_colls/list_type/ex2.claro create mode 100644 static_typing/builtin_colls/list_type/ex3.claro create mode 100644 static_typing/builtin_colls/list_type/list_type.generated_docs.html create mode 100644 static_typing/builtin_colls/map_type/BUILD create mode 100644 static_typing/builtin_colls/map_type/ex1.claro create mode 100644 static_typing/builtin_colls/map_type/ex2.claro create mode 100644 static_typing/builtin_colls/map_type/ex3.claro create mode 100644 static_typing/builtin_colls/map_type/ex4.claro create mode 100644 static_typing/builtin_colls/map_type/ex5.claro create mode 100644 static_typing/builtin_colls/map_type/map_type.generated_docs.html create mode 100644 static_typing/builtin_colls/set_type/BUILD create mode 100644 static_typing/builtin_colls/set_type/ex1.claro create mode 100644 static_typing/builtin_colls/set_type/ex2.claro create mode 100644 static_typing/builtin_colls/set_type/ex3.claro create mode 100644 static_typing/builtin_colls/set_type/set_type.generated_docs.html create mode 100644 static_typing/builtin_colls/struct_type/BUILD create mode 100644 static_typing/builtin_colls/struct_type/ex1.claro create mode 100644 static_typing/builtin_colls/struct_type/ex2.claro create mode 100644 static_typing/builtin_colls/struct_type/ex3.claro create mode 100644 static_typing/builtin_colls/struct_type/struct_type.generated_docs.html create mode 100644 static_typing/builtin_colls/tuple_type/BUILD create mode 100644 static_typing/builtin_colls/tuple_type/ex1.claro create mode 100644 static_typing/builtin_colls/tuple_type/ex2.claro create mode 100644 static_typing/builtin_colls/tuple_type/ex3.claro create mode 100644 static_typing/builtin_colls/tuple_type/ex4.claro create mode 100644 static_typing/builtin_colls/tuple_type/ex5.claro create mode 100644 static_typing/builtin_colls/tuple_type/ex6.claro create mode 100644 static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html create mode 100644 static_typing/ex1-cleanup.claro create mode 100644 static_typing/ex1.claro create mode 100644 static_typing/oneofs/BUILD create mode 100644 static_typing/oneofs/ex1-cleanup.claro create mode 100644 static_typing/oneofs/ex1.claro create mode 100644 static_typing/oneofs/ex2.claro create mode 100644 static_typing/oneofs/ex3.claro create mode 100644 static_typing/oneofs/narrowing/BUILD create mode 100644 static_typing/oneofs/narrowing/ex1.claro create mode 100644 static_typing/oneofs/narrowing/ex2.claro create mode 100644 static_typing/oneofs/narrowing/ex3.claro create mode 100644 static_typing/oneofs/narrowing/narrowing.generated_docs.html create mode 100644 static_typing/oneofs/oneofs.generated_docs.html create mode 100644 static_typing/static_typing.generated_docs.html create mode 100644 static_typing/user_defined_types/BUILD create mode 100644 static_typing/user_defined_types/ex1.claro create mode 100644 static_typing/user_defined_types/ex2.claro create mode 100644 static_typing/user_defined_types/ex3.claro create mode 100644 static_typing/user_defined_types/ex4.claro create mode 100644 static_typing/user_defined_types/ex5.claro create mode 100644 static_typing/user_defined_types/ex6-bad.claro create mode 100644 static_typing/user_defined_types/ex6-good.claro create mode 100644 static_typing/user_defined_types/ex6.claro create mode 100644 static_typing/user_defined_types/parameterized_types/BUILD create mode 100644 static_typing/user_defined_types/parameterized_types/concrete_type_inference/BUILD create mode 100644 static_typing/user_defined_types/parameterized_types/concrete_type_inference/concrete_type_inference.generated_docs.html create mode 100644 static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex-setup.claro create mode 100644 static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex1.claro create mode 100644 static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex2.claro create mode 100644 static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex3.claro create mode 100644 static_typing/user_defined_types/parameterized_types/ex1.claro create mode 100644 static_typing/user_defined_types/parameterized_types/ex2.claro create mode 100644 static_typing/user_defined_types/parameterized_types/ex3.claro create mode 100644 static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html create mode 100644 static_typing/user_defined_types/recursive_types/BUILD create mode 100644 static_typing/user_defined_types/recursive_types/ex1.claro create mode 100644 static_typing/user_defined_types/recursive_types/ex2.claro create mode 100644 static_typing/user_defined_types/recursive_types/ex3.claro create mode 100644 static_typing/user_defined_types/recursive_types/ex4.claro create mode 100644 static_typing/user_defined_types/recursive_types/impossible_recursive_types/BUILD create mode 100644 static_typing/user_defined_types/recursive_types/impossible_recursive_types/ex1.claro create mode 100644 static_typing/user_defined_types/recursive_types/impossible_recursive_types/impossible_recursive_types.generated_docs.html create mode 100644 static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html create mode 100644 static_typing/user_defined_types/user_defined_types.generated_docs.html create mode 100644 tomorrow-night.css create mode 100644 type_inference/BUILD create mode 100644 type_inference/ex-cleanup.claro create mode 100644 type_inference/ex1.claro create mode 100644 type_inference/ex2.claro create mode 100644 type_inference/required_type_annotations/BUILD create mode 100644 type_inference/required_type_annotations/ex1.claro create mode 100644 type_inference/required_type_annotations/ex2-cleanup.claro create mode 100644 type_inference/required_type_annotations/ex2.claro create mode 100644 type_inference/required_type_annotations/ex3.claro create mode 100644 type_inference/required_type_annotations/ex4-cleanup.claro create mode 100644 type_inference/required_type_annotations/ex4.claro create mode 100644 type_inference/required_type_annotations/ex5.claro create mode 100644 type_inference/required_type_annotations/ex6.claro create mode 100644 type_inference/required_type_annotations/ex7.claro create mode 100644 type_inference/required_type_annotations/ex8.claro create mode 100644 type_inference/required_type_annotations/required_type_annotations.generated_docs.html create mode 100644 type_inference/type_inference.generated_docs.html diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 00000000..1d993a2b --- /dev/null +++ b/.bazelrc @@ -0,0 +1,2 @@ +common --enable_bzlmod +common --java_runtime_version=remotejdk_11 \ No newline at end of file diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 00000000..c0be8a79 --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +6.4.0 \ No newline at end of file diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..fc51cd90 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,26 @@ +# You can pick any Debian/Ubuntu-based image. 😊 +FROM mcr.microsoft.com/devcontainers/base:bullseye + +# Options for setup script +ARG INSTALL_ZSH="true" +ARG UPGRADE_PACKAGES="false" +ARG USERNAME=vscode +ARG USER_UID=1000 +ARG USER_GID=$USER_UID +# Install needed packages and setup non-root user. Use a separate RUN statement to add your own dependencies. +COPY library-scripts/*.sh /tmp/library-scripts/ +RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ + && /bin/bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" \ + && apt-get install -y pkg-config zip g++ zlib1g-dev unzip python \ + && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts + +# Install Bazel +ARG BAZELISK_VERSION=v1.10.1 +ARG BAZELISK_DOWNLOAD_SHA=dev-mode +RUN curl -fSsL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64 \ + && ([ "${BAZELISK_DOWNLOAD_SHA}" = "dev-mode" ] || echo "${BAZELISK_DOWNLOAD_SHA} */usr/local/bin/bazelisk" | sha256sum --check - ) \ + && chmod 0755 /usr/local/bin/bazelisk + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..3571dd4f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,41 @@ +{ + "name": "Claro - Bazel Codespace", + "build": { + "dockerfile": "Dockerfile", + "args": { + "BAZELISK_VERSION": "v1.10.1", + "BAZELISK_DOWNLOAD_SHA": "4cb534c52cdd47a6223d4596d530e7c9c785438ab3b0a49ff347e991c210b2cd" + } + }, + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "devondcarew.bazel-code", + "BazelBuild.vscode-bazel", + "StackBuild.bazel-stack-vscode", + ] + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "echo \"alias bazel='bazelisk'\" >> ~/.bashrc && source ~/.bashrc", + // Uncomment when using a ptrace-based debugger like C++, Go, and Rust + // "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], + // Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode", + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "11", + "jdkDistro": "open", + "gradleVersion": "latest", + "mavenVersion": "latest", + "antVersion": "latest" + } + } +} diff --git a/.devcontainer/library-scripts/common-debian.sh b/.devcontainer/library-scripts/common-debian.sh new file mode 100644 index 00000000..efdca351 --- /dev/null +++ b/.devcontainer/library-scripts/common-debian.sh @@ -0,0 +1,454 @@ +#!/usr/bin/env bash +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- +# +# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/common.md +# Maintainer: The VS Code and Codespaces Teams +# +# Syntax: ./common-debian.sh [install zsh flag] [username] [user UID] [user GID] [upgrade packages flag] [install Oh My Zsh! flag] [Add non-free packages] + +set -e + +INSTALL_ZSH=${1:-"true"} +USERNAME=${2:-"automatic"} +USER_UID=${3:-"automatic"} +USER_GID=${4:-"automatic"} +UPGRADE_PACKAGES=${5:-"true"} +INSTALL_OH_MYS=${6:-"true"} +ADD_NON_FREE_PACKAGES=${7:-"false"} +SCRIPT_DIR="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)" +MARKER_FILE="/usr/local/etc/vscode-dev-containers/common" + +if [ "$(id -u)" -ne 0 ]; then + echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.' + exit 1 +fi + +# Ensure that login shells get the correct path if the user updated the PATH using ENV. +rm -f /etc/profile.d/00-restore-env.sh +echo "export PATH=${PATH//$(sh -lc 'echo $PATH')/\$PATH}" > /etc/profile.d/00-restore-env.sh +chmod +x /etc/profile.d/00-restore-env.sh + +# If in automatic mode, determine if a user already exists, if not use vscode +if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then + USERNAME="" + POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)") + for CURRENT_USER in ${POSSIBLE_USERS[@]}; do + if id -u ${CURRENT_USER} > /dev/null 2>&1; then + USERNAME=${CURRENT_USER} + break + fi + done + if [ "${USERNAME}" = "" ]; then + USERNAME=vscode + fi +elif [ "${USERNAME}" = "none" ]; then + USERNAME=root + USER_UID=0 + USER_GID=0 +fi + +# Load markers to see which steps have already run +if [ -f "${MARKER_FILE}" ]; then + echo "Marker file found:" + cat "${MARKER_FILE}" + source "${MARKER_FILE}" +fi + +# Ensure apt is in non-interactive to avoid prompts +export DEBIAN_FRONTEND=noninteractive + +# Function to call apt-get if needed +apt_get_update_if_needed() +{ + if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then + echo "Running apt-get update..." + apt-get update + else + echo "Skipping apt-get update." + fi +} + +# Run install apt-utils to avoid debconf warning then verify presence of other common developer tools and dependencies +if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then + + package_list="apt-utils \ + openssh-client \ + gnupg2 \ + dirmngr \ + iproute2 \ + procps \ + lsof \ + htop \ + net-tools \ + psmisc \ + curl \ + wget \ + rsync \ + ca-certificates \ + unzip \ + zip \ + nano \ + vim-tiny \ + less \ + jq \ + lsb-release \ + apt-transport-https \ + dialog \ + libc6 \ + libgcc1 \ + libkrb5-3 \ + libgssapi-krb5-2 \ + libicu[0-9][0-9] \ + liblttng-ust[0-9] \ + libstdc++6 \ + zlib1g \ + locales \ + sudo \ + ncdu \ + man-db \ + strace \ + manpages \ + manpages-dev \ + init-system-helpers" + + # Needed for adding manpages-posix and manpages-posix-dev which are non-free packages in Debian + if [ "${ADD_NON_FREE_PACKAGES}" = "true" ]; then + # Bring in variables from /etc/os-release like VERSION_CODENAME + . /etc/os-release + sed -i -E "s/deb http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME} main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME} main contrib non-free/" /etc/apt/sources.list + sed -i -E "s/deb-src http:\/\/(deb|httredir)\.debian\.org\/debian ${VERSION_CODENAME} main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME} main contrib non-free/" /etc/apt/sources.list + sed -i -E "s/deb http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME}-updates main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME}-updates main contrib non-free/" /etc/apt/sources.list + sed -i -E "s/deb-src http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME}-updates main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME}-updates main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb-src http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb-src http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main contrib non-free/" /etc/apt/sources.list + # Handle bullseye location for security https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html + sed -i "s/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb-src http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main contrib non-free/" /etc/apt/sources.list + echo "Running apt-get update..." + apt-get update + package_list="${package_list} manpages-posix manpages-posix-dev" + else + apt_get_update_if_needed + fi + + # Install libssl1.1 if available + if [[ ! -z $(apt-cache --names-only search ^libssl1.1$) ]]; then + package_list="${package_list} libssl1.1" + fi + + # Install appropriate version of libssl1.0.x if available + libssl_package=$(dpkg-query -f '${db:Status-Abbrev}\t${binary:Package}\n' -W 'libssl1\.0\.?' 2>&1 || echo '') + if [ "$(echo "$LIlibssl_packageBSSL" | grep -o 'libssl1\.0\.[0-9]:' | uniq | sort | wc -l)" -eq 0 ]; then + if [[ ! -z $(apt-cache --names-only search ^libssl1.0.2$) ]]; then + # Debian 9 + package_list="${package_list} libssl1.0.2" + elif [[ ! -z $(apt-cache --names-only search ^libssl1.0.0$) ]]; then + # Ubuntu 18.04, 16.04, earlier + package_list="${package_list} libssl1.0.0" + fi + fi + + echo "Packages to verify are installed: ${package_list}" + apt-get -y install --no-install-recommends ${package_list} 2> >( grep -v 'debconf: delaying package configuration, since apt-utils is not installed' >&2 ) + + # Install git if not already installed (may be more recent than distro version) + if ! type git > /dev/null 2>&1; then + apt-get -y install --no-install-recommends git + fi + + PACKAGES_ALREADY_INSTALLED="true" +fi + +# Get to latest versions of all packages +if [ "${UPGRADE_PACKAGES}" = "true" ]; then + apt_get_update_if_needed + apt-get -y upgrade --no-install-recommends + apt-get autoremove -y +fi + +# Ensure at least the en_US.UTF-8 UTF-8 locale is available. +# Common need for both applications and things like the agnoster ZSH theme. +if [ "${LOCALE_ALREADY_SET}" != "true" ] && ! grep -o -E '^\s*en_US.UTF-8\s+UTF-8' /etc/locale.gen > /dev/null; then + echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen + locale-gen + LOCALE_ALREADY_SET="true" +fi + +# Create or update a non-root user to match UID/GID. +group_name="${USERNAME}" +if id -u ${USERNAME} > /dev/null 2>&1; then + # User exists, update if needed + if [ "${USER_GID}" != "automatic" ] && [ "$USER_GID" != "$(id -g $USERNAME)" ]; then + group_name="$(id -gn $USERNAME)" + groupmod --gid $USER_GID ${group_name} + usermod --gid $USER_GID $USERNAME + fi + if [ "${USER_UID}" != "automatic" ] && [ "$USER_UID" != "$(id -u $USERNAME)" ]; then + usermod --uid $USER_UID $USERNAME + fi +else + # Create user + if [ "${USER_GID}" = "automatic" ]; then + groupadd $USERNAME + else + groupadd --gid $USER_GID $USERNAME + fi + if [ "${USER_UID}" = "automatic" ]; then + useradd -s /bin/bash --gid $USERNAME -m $USERNAME + else + useradd -s /bin/bash --uid $USER_UID --gid $USERNAME -m $USERNAME + fi +fi + +# Add sudo support for non-root user +if [ "${USERNAME}" != "root" ] && [ "${EXISTING_NON_ROOT_USER}" != "${USERNAME}" ]; then + echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME + chmod 0440 /etc/sudoers.d/$USERNAME + EXISTING_NON_ROOT_USER="${USERNAME}" +fi + +# ** Shell customization section ** +if [ "${USERNAME}" = "root" ]; then + user_rc_path="/root" +else + user_rc_path="/home/${USERNAME}" +fi + +# Restore user .bashrc defaults from skeleton file if it doesn't exist or is empty +if [ ! -f "${user_rc_path}/.bashrc" ] || [ ! -s "${user_rc_path}/.bashrc" ] ; then + cp /etc/skel/.bashrc "${user_rc_path}/.bashrc" +fi + +# Restore user .profile defaults from skeleton file if it doesn't exist or is empty +if [ ! -f "${user_rc_path}/.profile" ] || [ ! -s "${user_rc_path}/.profile" ] ; then + cp /etc/skel/.profile "${user_rc_path}/.profile" +fi + +# .bashrc/.zshrc snippet +rc_snippet="$(cat << 'EOF' + +if [ -z "${USER}" ]; then export USER=$(whoami); fi +if [[ "${PATH}" != *"$HOME/.local/bin"* ]]; then export PATH="${PATH}:$HOME/.local/bin"; fi + +# Display optional first run image specific notice if configured and terminal is interactive +if [ -t 1 ] && [[ "${TERM_PROGRAM}" = "vscode" || "${TERM_PROGRAM}" = "codespaces" ]] && [ ! -f "$HOME/.config/vscode-dev-containers/first-run-notice-already-displayed" ]; then + if [ -f "/usr/local/etc/vscode-dev-containers/first-run-notice.txt" ]; then + cat "/usr/local/etc/vscode-dev-containers/first-run-notice.txt" + elif [ -f "/workspaces/.codespaces/shared/first-run-notice.txt" ]; then + cat "/workspaces/.codespaces/shared/first-run-notice.txt" + fi + mkdir -p "$HOME/.config/vscode-dev-containers" + # Mark first run notice as displayed after 10s to avoid problems with fast terminal refreshes hiding it + ((sleep 10s; touch "$HOME/.config/vscode-dev-containers/first-run-notice-already-displayed") &) +fi + +# Set the default git editor if not already set +if [ -z "$(git config --get core.editor)" ] && [ -z "${GIT_EDITOR}" ]; then + if [ "${TERM_PROGRAM}" = "vscode" ]; then + if [[ -n $(command -v code-insiders) && -z $(command -v code) ]]; then + export GIT_EDITOR="code-insiders --wait" + else + export GIT_EDITOR="code --wait" + fi + fi +fi + +EOF +)" + +# code shim, it fallbacks to code-insiders if code is not available +cat << 'EOF' > /usr/local/bin/code +#!/bin/sh + +get_in_path_except_current() { + which -a "$1" | grep -A1 "$0" | grep -v "$0" +} + +code="$(get_in_path_except_current code)" + +if [ -n "$code" ]; then + exec "$code" "$@" +elif [ "$(command -v code-insiders)" ]; then + exec code-insiders "$@" +else + echo "code or code-insiders is not installed" >&2 + exit 127 +fi +EOF +chmod +x /usr/local/bin/code + +# systemctl shim - tells people to use 'service' if systemd is not running +cat << 'EOF' > /usr/local/bin/systemctl +#!/bin/sh +set -e +if [ -d "/run/systemd/system" ]; then + exec /bin/systemctl "$@" +else + echo '\n"systemd" is not running in this container due to its overhead.\nUse the "service" command to start services instead. e.g.: \n\nservice --status-all' +fi +EOF +chmod +x /usr/local/bin/systemctl + +# Codespaces bash and OMZ themes - partly inspired by https://github.com/ohmyzsh/ohmyzsh/blob/master/themes/robbyrussell.zsh-theme +codespaces_bash="$(cat \ +<<'EOF' + +# Codespaces bash prompt theme +__bash_prompt() { + local userpart='`export XIT=$? \ + && [ ! -z "${GITHUB_USER}" ] && echo -n "\[\033[0;32m\]@${GITHUB_USER} " || echo -n "\[\033[0;32m\]\u " \ + && [ "$XIT" -ne "0" ] && echo -n "\[\033[1;31m\]➜" || echo -n "\[\033[0m\]➜"`' + local gitbranch='`\ + if [ "$(git config --get codespaces-theme.hide-status 2>/dev/null)" != 1 ]; then \ + export BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null); \ + if [ "${BRANCH}" != "" ]; then \ + echo -n "\[\033[0;36m\](\[\033[1;31m\]${BRANCH}" \ + && if git ls-files --error-unmatch -m --directory --no-empty-directory -o --exclude-standard ":/*" > /dev/null 2>&1; then \ + echo -n " \[\033[1;33m\]✗"; \ + fi \ + && echo -n "\[\033[0;36m\]) "; \ + fi; \ + fi`' + local lightblue='\[\033[1;34m\]' + local removecolor='\[\033[0m\]' + PS1="${userpart} ${lightblue}\w ${gitbranch}${removecolor}\$ " + unset -f __bash_prompt +} +__bash_prompt + +EOF +)" + +codespaces_zsh="$(cat \ +<<'EOF' +# Codespaces zsh prompt theme +__zsh_prompt() { + local prompt_username + if [ ! -z "${GITHUB_USER}" ]; then + prompt_username="@${GITHUB_USER}" + else + prompt_username="%n" + fi + PROMPT="%{$fg[green]%}${prompt_username} %(?:%{$reset_color%}➜ :%{$fg_bold[red]%}➜ )" # User/exit code arrow + PROMPT+='%{$fg_bold[blue]%}%(5~|%-1~/…/%3~|%4~)%{$reset_color%} ' # cwd + PROMPT+='$([ "$(git config --get codespaces-theme.hide-status 2>/dev/null)" != 1 ] && git_prompt_info)' # Git status + PROMPT+='%{$fg[white]%}$ %{$reset_color%}' + unset -f __zsh_prompt +} +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}(%{$fg_bold[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg_bold[yellow]%}✗%{$fg_bold[cyan]%})" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[cyan]%})" +__zsh_prompt + +EOF +)" + +# Add RC snippet and custom bash prompt +if [ "${RC_SNIPPET_ALREADY_ADDED}" != "true" ]; then + echo "${rc_snippet}" >> /etc/bash.bashrc + echo "${codespaces_bash}" >> "${user_rc_path}/.bashrc" + echo 'export PROMPT_DIRTRIM=4' >> "${user_rc_path}/.bashrc" + if [ "${USERNAME}" != "root" ]; then + echo "${codespaces_bash}" >> "/root/.bashrc" + echo 'export PROMPT_DIRTRIM=4' >> "/root/.bashrc" + fi + chown ${USERNAME}:${group_name} "${user_rc_path}/.bashrc" + RC_SNIPPET_ALREADY_ADDED="true" +fi + +# Optionally install and configure zsh and Oh My Zsh! +if [ "${INSTALL_ZSH}" = "true" ]; then + if ! type zsh > /dev/null 2>&1; then + apt_get_update_if_needed + apt-get install -y zsh + fi + if [ "${ZSH_ALREADY_INSTALLED}" != "true" ]; then + echo "${rc_snippet}" >> /etc/zsh/zshrc + ZSH_ALREADY_INSTALLED="true" + fi + + # Adapted, simplified inline Oh My Zsh! install steps that adds, defaults to a codespaces theme. + # See https://github.com/ohmyzsh/ohmyzsh/blob/master/tools/install.sh for official script. + oh_my_install_dir="${user_rc_path}/.oh-my-zsh" + if [ ! -d "${oh_my_install_dir}" ] && [ "${INSTALL_OH_MYS}" = "true" ]; then + template_path="${oh_my_install_dir}/templates/zshrc.zsh-template" + user_rc_file="${user_rc_path}/.zshrc" + umask g-w,o-w + mkdir -p ${oh_my_install_dir} + git clone --depth=1 \ + -c core.eol=lf \ + -c core.autocrlf=false \ + -c fsck.zeroPaddedFilemode=ignore \ + -c fetch.fsck.zeroPaddedFilemode=ignore \ + -c receive.fsck.zeroPaddedFilemode=ignore \ + "https://github.com/ohmyzsh/ohmyzsh" "${oh_my_install_dir}" 2>&1 + echo -e "$(cat "${template_path}")\nDISABLE_AUTO_UPDATE=true\nDISABLE_UPDATE_PROMPT=true" > ${user_rc_file} + sed -i -e 's/ZSH_THEME=.*/ZSH_THEME="codespaces"/g' ${user_rc_file} + + mkdir -p ${oh_my_install_dir}/custom/themes + echo "${codespaces_zsh}" > "${oh_my_install_dir}/custom/themes/codespaces.zsh-theme" + # Shrink git while still enabling updates + cd "${oh_my_install_dir}" + git repack -a -d -f --depth=1 --window=1 + # Copy to non-root user if one is specified + if [ "${USERNAME}" != "root" ]; then + cp -rf "${user_rc_file}" "${oh_my_install_dir}" /root + chown -R ${USERNAME}:${group_name} "${user_rc_path}" + fi + fi +fi + +# Persist image metadata info, script if meta.env found in same directory +meta_info_script="$(cat << 'EOF' +#!/bin/sh +. /usr/local/etc/vscode-dev-containers/meta.env + +# Minimal output +if [ "$1" = "version" ] || [ "$1" = "image-version" ]; then + echo "${VERSION}" + exit 0 +elif [ "$1" = "release" ]; then + echo "${GIT_REPOSITORY_RELEASE}" + exit 0 +elif [ "$1" = "content" ] || [ "$1" = "content-url" ] || [ "$1" = "contents" ] || [ "$1" = "contents-url" ]; then + echo "${CONTENTS_URL}" + exit 0 +fi + +#Full output +echo +echo "Development container image information" +echo +if [ ! -z "${VERSION}" ]; then echo "- Image version: ${VERSION}"; fi +if [ ! -z "${DEFINITION_ID}" ]; then echo "- Definition ID: ${DEFINITION_ID}"; fi +if [ ! -z "${VARIANT}" ]; then echo "- Variant: ${VARIANT}"; fi +if [ ! -z "${GIT_REPOSITORY}" ]; then echo "- Source code repository: ${GIT_REPOSITORY}"; fi +if [ ! -z "${GIT_REPOSITORY_RELEASE}" ]; then echo "- Source code release/branch: ${GIT_REPOSITORY_RELEASE}"; fi +if [ ! -z "${BUILD_TIMESTAMP}" ]; then echo "- Timestamp: ${BUILD_TIMESTAMP}"; fi +if [ ! -z "${CONTENTS_URL}" ]; then echo && echo "More info: ${CONTENTS_URL}"; fi +echo +EOF +)" +if [ -f "${SCRIPT_DIR}/meta.env" ]; then + mkdir -p /usr/local/etc/vscode-dev-containers/ + cp -f "${SCRIPT_DIR}/meta.env" /usr/local/etc/vscode-dev-containers/meta.env + echo "${meta_info_script}" > /usr/local/bin/devcontainer-info + chmod +x /usr/local/bin/devcontainer-info +fi + +# Write marker file +mkdir -p "$(dirname "${MARKER_FILE}")" +echo -e "\ + PACKAGES_ALREADY_INSTALLED=${PACKAGES_ALREADY_INSTALLED}\n\ + LOCALE_ALREADY_SET=${LOCALE_ALREADY_SET}\n\ + EXISTING_NON_ROOT_USER=${EXISTING_NON_ROOT_USER}\n\ + RC_SNIPPET_ALREADY_ADDED=${RC_SNIPPET_ALREADY_ADDED}\n\ + ZSH_ALREADY_INSTALLED=${ZSH_ALREADY_INSTALLED}" > "${MARKER_FILE}" + +echo "Done!" diff --git a/.github/workflows/create-new-riju-release.yml b/.github/workflows/create-new-riju-release.yml new file mode 100644 index 00000000..701aac7b --- /dev/null +++ b/.github/workflows/create-new-riju-release.yml @@ -0,0 +1,94 @@ +name: Deploy + +on: + push: + branches: [ main ] + workflow_dispatch: + +jobs: + + Build-and-Release: + + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build Release Artifacts + run: | + # In order to be able to run the Claro CLIs users will need the compiler and builtin Java deps Jars. + bazel build //src/java/com/claro:claro_compiler_binary_deploy.jar + bazel build //examples/claro_programs:claro_builtin_java_deps_deploy.jar + # Create a single tar file to encapsulate all CLI resources. + ln -s bazel-bin/src/java/com/claro/claro_compiler_binary_deploy.jar claro_compiler_binary_deploy.jar + ln -s bazel-bin/examples/claro_programs/claro_builtin_java_deps_deploy.jar claro_builtin_java_deps_deploy.jar + # -h ensures that the above symlinks are actually dereferenced, else they'd be empty symlinks in the tar file. + tar -hcf claro-cli-install.tar.gz \ + claro_compiler_binary_deploy.jar \ + claro_builtin_java_deps_deploy.jar + + # Create a source archive that will have a stable hash. The one that GitHub automatically produces will not + # be able to guarantee a stable hash, see: https://blog.bazel.build/2023/02/15/github-archive-checksum.html. + git archive -o claro-source-archive-v0.1.${{ github.run_number }}.zip HEAD + + # Create the cli tool that will be used for new users to get their first Claro project correctly configured. + bazel build //tools:create_claro_project_script + ln -s bazel-bin/tools/create_claro_project.sh create_claro_project.sh + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + tag_name: v0.1.${{ github.run_number }} + name: v0.1.${{ github.run_number }} Automated Release + body: | + # This is an automated release v0.1.${{ github.run_number }}. + Check out the simple [setup instructions](https://github.com/JasonSteving99/claro-lang/#create-your-own-claro-project-with-bazel) to get started! + draft: false + prerelease: false + fail_on_unmatched_files: true + files: | + create_claro_project.sh + claro-cli-install.tar.gz + claro-source-archive-v0.1.${{ github.run_number }}.zip + + Deploy-User-Docs-to-GH-Pages: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install mdbook + run: | + mkdir mdbook + curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.36/mdbook-v0.4.36-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook + echo `pwd`/mdbook >> $GITHUB_PATH + - name: Deploy GitHub Pages + run: | + # The docs are auto-generated to ensure that the examples are always up-to-date and actually run. + bazel run //mdbook_docs/src:write_all_docs && bazel test //mdbook_docs/src/... + if [ $? -eq 0 ]; then + echo "Successfully Generated Docs" + else + echo "Failed to Build Docs" + exit 1 + fi + + cd mdbook_docs + mdbook build + git worktree add gh-pages + git config user.name "Deploy from CI" + git config user.email "jasonmail99@gmail.com" + cd gh-pages + # Delete the ref to avoid keeping history. + git update-ref -d refs/heads/gh-pages + rm -rf * + mv ../book/* . + git add . + git commit -m "Deploy $GITHUB_SHA to gh-pages" + git push --force --set-upstream origin gh-pages + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..91f47730 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +# Ignore .DS_store... it just has some garbage about mac file folder settings. +.DS_Store +# Ignore backup files. +*~ +# Ignore Vim swap files. +.*.swp +# Ignore files generated by IDEs. +/.classpath +/.factorypath +/.idea/ +/.ijwb/ +/.project +/.settings +/.vscode/ +/bazel.iml +# Ignore all bazel-* symlinks. There is no full list since this can change +# based on the name of the directory bazel is cloned into. +/bazel-* +# Ignore outputs generated during Bazel bootstrapping. +/output/ +# Ignore jekyll build output. +/production +/.sass-cache +# Bazelisk version file +.bazelversion +# User-specific .bazelrc +user.bazelrc diff --git a/404.html b/404.html new file mode 100644 index 00000000..55eaa130 --- /dev/null +++ b/404.html @@ -0,0 +1,225 @@ + + + + + + Page not found - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Document not found (404)

+

This URL is invalid, sorry. Please use the navigation bar or search to continue.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/BUILD b/BUILD new file mode 100644 index 00000000..41babbe9 --- /dev/null +++ b/BUILD @@ -0,0 +1,82 @@ +load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_file") +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +write_source_file( + name = "write_all_docs", + additional_update_targets = [ + ":generics", + "//mdbook_docs/src/chapter_1:hello_world", + "//mdbook_docs/src/common_programming_concepts/variables_and_types:variables_and_types", + "//mdbook_docs/src/common_programming_concepts/sep_var_decl_and_init:sep_var_decl_and_init", + "//mdbook_docs/src/common_programming_concepts/var_reassignment:var_reassignment", + "//mdbook_docs/src/control_flow/collection_comprehension:collection_comprehension", + "//mdbook_docs/src/control_flow/collection_comprehension/more_than_syntax_sugar:more_than_syntax_sugar", + "//mdbook_docs/src/control_flow/if_else:if_else", + "//mdbook_docs/src/control_flow/for:for", + "//mdbook_docs/src/control_flow/match:match", + "//mdbook_docs/src/control_flow/match/exhaustiveness_checks:exhaustiveness_checks", + "//mdbook_docs/src/control_flow/match/structed_data:structured_data", + "//mdbook_docs/src/control_flow/match/wildcards:wildcards", + "//mdbook_docs/src/control_flow/pipes:pipes", + "//mdbook_docs/src/control_flow/repeat:repeat", + "//mdbook_docs/src/control_flow/while:while", + "//mdbook_docs/src/copying:copying", + "//mdbook_docs/src/copying/known_bugs:known_bugs", + "//mdbook_docs/src/copying/mutability_coercion:mutability_coercion", + "//mdbook_docs/src/copying/performance:performance", + "//mdbook_docs/src/generics/contracts:contracts", + "//mdbook_docs/src/generics/contracts/implementing_contracts:implementing_contracts", + "//mdbook_docs/src/generics/generic_return_type_inference:generic_return_type_inference", + "//mdbook_docs/src/getting_started/first_program:first_program", + "//mdbook_docs/src/getting_started/intro_to_modules:intro_to_modules", + "//mdbook_docs/src/getting_started/understanding_starter_project:understanding_starter_project", + "//mdbook_docs/src/graph_procedures:graph_procedures", + "//mdbook_docs/src/graph_procedures/calling_graph_procedures:calling_graph_procedures", + "//mdbook_docs/src/graph_procedures/conditional_subgraph_execution:conditional_subgraph_execution", + "//mdbook_docs/src/graph_procedures/graph_procedure_composition:graph_procedure_composition", + "//mdbook_docs/src/guaranteed_deadlock_free:re_what_color_is_your_function", + "//mdbook_docs/src/guaranteed_deadlock_free/blocking_procedures:blocking_procedures", + "//mdbook_docs/src/guaranteed_deadlock_free/re_what_color_is_your_function:blocking_generics", + "//mdbook_docs/src/images:logo", + "//mdbook_docs/src/lambdas_and_first_class_procedures:lambdas_and_first_class_procedures", + "//mdbook_docs/src/lambdas_and_first_class_procedures/lambda_closures:lambda_closures", + "//mdbook_docs/src/procedures/consumers:consumers", + "//mdbook_docs/src/procedures/functions:functions", + "//mdbook_docs/src/procedures/providers:providers", + "//mdbook_docs/src/static_typing:static_typing", + "//mdbook_docs/src/static_typing/aliases:aliases", + "//mdbook_docs/src/static_typing/aliases/not_a_new_type_decl:not_a_new_type_decl", + "//mdbook_docs/src/static_typing/atoms:atoms", + "//mdbook_docs/src/static_typing/builtin_colls:builtin_collections", + "//mdbook_docs/src/static_typing/builtin_colls/list_type:list_type", + "//mdbook_docs/src/static_typing/builtin_colls/map_type:map_type", + "//mdbook_docs/src/static_typing/builtin_colls/set_type:set_type", + "//mdbook_docs/src/static_typing/builtin_colls/struct_type:struct_type", + "//mdbook_docs/src/static_typing/builtin_colls/tuple_type:tuple_type", + "//mdbook_docs/src/static_typing/oneofs:oneofs", + "//mdbook_docs/src/static_typing/oneofs/narrowing:narrowing", + "//mdbook_docs/src/static_typing/user_defined_types:user_defined_types", + "//mdbook_docs/src/static_typing/user_defined_types/recursive_types:recursive_types", + "//mdbook_docs/src/static_typing/user_defined_types/parameterized_types:parameterized_types", + "//mdbook_docs/src/static_typing/user_defined_types/parameterized_types/concrete_type_inference:concrete_type_inference", + "//mdbook_docs/src/static_typing/user_defined_types/recursive_types/impossible_recursive_types:impossible_recursive_types", + "//mdbook_docs/src/type_inference:type_inference", + "//mdbook_docs/src/type_inference/required_type_annotations:required_type_annotations", + ], +) + + +doc_with_validated_examples( + name = "generics", + doc_template = "generics.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/generics:ex_reduce.claro", + "append_output": False, + }, + { + "example": "//mdbook_docs/src/generics:ex2.claro", + "hidden_setup": "//mdbook_docs/src/generics:ex_reduce.claro", + } + ], +) \ No newline at end of file diff --git a/FontAwesome/css/font-awesome.css b/FontAwesome/css/font-awesome.css new file mode 100644 index 00000000..540440ce --- /dev/null +++ b/FontAwesome/css/font-awesome.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/FontAwesome/fonts/FontAwesome.ttf b/FontAwesome/fonts/FontAwesome.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mW2@EHO9NV8h3u2x_sp}KECIB>@9+Qn{FBV{ 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY z*BeMp5!YRitn`g&nth8{m6Dd0QYAj0ZxqJ;!r>+5bAHQflhf0aYx(Url?1GY6U}5F zylvy$dA2fK(`58 z4KJ8nnOPF^3Rx@@8g_Vg6GI*_Bng?U4A#>qx-1Jv@{q$QbMPz!SyL+_iFRlz_(NHK z0V0O}tchz`Cb(6e7?+~x9pfb%8)c-+N~ShwBa6&z&P!?UfKd=_feP)X9~S=&MC3F( z*fN(l@lMz-Sg_16J{@jx<&VV<$8Y)g2W-?OuM)0zALCcypa7@C54l}4jp82+hE{_p zzbA6zM`9T_Oj{2RAI9}Nc{4Y$2PA<_)4TPX&X=UEl76Wmy`q=?CUS>c{DGdm^`|%G z(s%#%Hrw?koB7l6V{b8-VY{XAvxUrI5`qnSe&|K^v-^%e^oLtN=Nq48kKc0Q$&at- zZW5)*hobU>eO7s-$XtWXd)6mnm%lcTUi zK&*foQA{K#vaRajK9rcS7^w0jBmjFlBtBqCDQ+x!lKgTGJR=daf)T>G+sSz z>3!F|bshfrxlql3dksJ;yki`JCk>MLXg+mixfSh^nFV61GuCX5b*731Gb8O4vs+sD z4ZYW1+uL*PwerFv_UNOOT|#!KNGU?!W7<_aPf)(m1c|p*IQ7F$KslqsvIdML5`{$z z0qCeH@IM!*f^8%E$}_%2`zkHzlwXZbDe}9@bPMTFJd+e=i*a)@X7LHY13w}nwL}8*;!Y- zX2blTm}2po@Xu>WVIroz;-*=>PVN;djL-t96631*$$`%G82II>ph;?=TR4h2OMLSQ z2;d3;a80}nlz<;SHDQ`N9Q8jut4l5tVPQt5)YGAfWfy`Xy6Bw73Vm@xer|4VenPRn zqA@3W4m762OLl&L=g#koX_H0iV;tizI$~lRyxb8pIi6uPkq;}DBs2pY@?nAnJs^TD z8|!JS5EC74lgaH!6f4?##+LEvRQOK$x77r0bYambGsZy|W;q?ZfFQGZ5=^R43MD)+ z6i<$Qt^anS2UQ>elc`i$>dK&I$F<#sLe2x&ChT#9G~oMJ&o1ngsLNFmOi*H=P&BPU zE%f!18&NkWEbGE^zTUBW{);XJ1bwMMA8S@RNVDicF2Bdt*M5m!(Yp7|v1MQDVfLib zz2nWNI`Y#~z5BOQaVG)<*(#Jz?qZkt@@afP>W-7vV$y2Q#<~IOO|h;-EJ;N!4Tpo^ zU@8)hpk4hC!wy5Z)+7DJvtx7JcFpS9~Tv{OBpIM#U2D zk8XI`IcLd|InI}FIB@^{{6VN6P;wTAVBz=ve3qTy(=>t;n$`JeDcSLbsnk>E0m)Rm zW;_r~w&+rLE)V!M3z+;R)%Nb?WP5k7{P1TeUF_R`TC8z@?dLmK?~c#!(i*JSku2pS z--8$Fh@<%s*^)j0|Hg>bt>QjBE@Ipwk1==?343tLN;5Apv7hZkM!Shz~&+WynJAc08`uE`A{YtbCi2_ziC%N89v&j=UV=9qCt+GB%BC8;6h8AOLkTMEk zmx-ycsJ!u=#_~lu7w>+0_wJ|J&2VsFBTHw1WwLR$zLvoJ2*eqifiaekEnhy?+g>qu zZUvMf6i_~XSZe<2FrZa>nW!ptu~C5*5DIxY4HuAXNgnh}=7P5nA$+QwLt^``9#_+H z`mfOG+2|DlO&aD@zvygqs~}VbIiMpZi`#jGF-KZ`QT1chMfGWp>G|yL{OMzgD2xcf z&2eS^aeS+cMN(CcBrQxb--Af)ayk_`(~P!%i4=x2Cw_f+-HJeUbzsH1aM}F%>=s2% zM?Q*#8b&>34M=@f(d_9+*56D?Cr|Z%*N>-GXSyHS;W-Dk(&ZigO8Ro{e)| z{{oOe9gI!SmzU>HpVXWG_x(8bB|uKEg4`tZS&zOeJJplyEu|O751;DAFHVI{_uT2Y z6Ay~b#|bRYM44Q%QFaXTC?4xNd0&1-8@TY3-3 zAO33h?)O>J{;hv};kxBFUs|-Ta#}6_1WHvE^7Ha@@(<-7N99dz$V+mztm%#Hmv<&K z_OGe&&wu#3!(#WjKp8E2Vr{y2@G|Zkmfe#|!58R;hVaITt?gwBL01ilO z3ZFxoXLNL_9Mm{*e31+Tuo^8#Vy7NKITuBG1;>E_=_lK;$bl%VrP|4lA`n66UO>>; zpAzE?H7L6DBr}1{9C5%&p}?Iip-(U^m1ib7u@_Ve$B7W}G$G9eeN%KUjA3F2^CMpj zvrcdO;LWT-zsonhwPf=-f#p2T?lwu&)02+B5bsY<5-Z~UZ`Z}G%5qu^PJba{q69~t zw^lIQDm{`Y`26svo|_baJZrQ*Ve_>mGaE|ck`i1wfvGuDvl5*~yP@+UWrg#?xstWW=82!@sC2}|#8tq6 z1uss{tST(5%51I5b4wBzoR++2wv}z|>)jj-0_YgN!Z4Eqh( z#6fa_%rF{Q1v5Y;0ydA&QhX3^yT+8|J8?KE#u@u7&SESEi`)VT={;J_d%r;+;Wzwy z`F^YXkR>tBFoVH5i)5BB`N-3CTL!=3n-mH#v0$Eu)+w8El3a>)m8>vm`-(DXhJ*72 zfB;Ys@uq;74|>^vV{n17eegk})k9i06F*LvrJ-`HvSF-#DuPq%pM?4DF;&QKObL%2 zQT~zg`_%RrVb6)tnD(jjcNGXaiW=7y?3%yx$tQO{E`P}kk3X`5zd%pp6+76as&b8@ zU_*`m|Ge#d&-nju+s^jL|4-T;DkW>X|8HSt&z}Dqh|&C2D)4Sn=$j%~7X&3a0qO9yeGA>hr{%c;twgFkKCw@86vM zU*w<2r`PgL+@u=xvT6$`$KR7uhb^|n?gu0S&eo_F*ooTumu!(V= zZl~^Y-G1Fc-EF%2bl=lGMHYOq$2OcI`G_3II`xEo_ry70SQ(#iz^~oa@jCrH5kGmy zJ_W2ETHF<&An7^cLxTBu8f*fdiSj4%Pu%}i`De#ZJnPAUJ!rq_HRHOP=`LF}_A0y@ zcK)Ih7c197<+^uLSd9@EtJFHUXa_d*&MWN7@mMUd&Llst+&mekM4U0rm5xH)b?j@o zU;no;YHjSuk-J8pCE9(H$I~C>^+r80de;&59co*2;iRil))_J5r?v-tY{P*CF1zo{ z#ubhP(#hu%%uP%xM=f*lzl~ArQudG}>!_1ttj*QX_1g%DP)J0dO3L||o7^TqmPPqb z=F2lc$0-yW(U8RE2lYqdqG7P}v7et1?FU;>Igx^jJ4xB%bOYQ6I?|w14k+s==dU<; z5{^Zs#Cqfto>+)aAK}UJU*9nzr65A9=B8&Jkzf4YxyNp9V(f=EL6S{iM$R0@eaE&M z4V!+zgez}lMepqxKepqE9Xp<2xAd$tg0}G*%$2pH&u`p$#AdFmF&knf?ld;_aN(l& zFTCoXSF@GN2i|U7y}I@7{uOsJ-RJVT%LS{cINAqZ@*);^>|s`Lr`gbZ-|xqJBoD(z|^>f}mZ^yAq^oCu3R%L4-r#J=<4Ooig-dkn*oo4Vcpo!xc5B0c5-8YXx z9<_P$zK>ykW1Gpy#<}k7{oBM*k(&4D5!!vz1!Jx7UlbpNg3bzDughUkIULxV_62H7 z&e$4jd|Sm4Jm@!a1&{r{fX0m#A)izODZ;2mMy?5QEHV=2Dxs#qx*uFl*>@IxD zH>5q4SAJR4odE;XpDK=5V2K=Ie~qj!WP$M^`4y@88)$ge!Gkz5eC?a)b>h|P3>@nR zOyQ$H3SmF`hq^b=Cw`dw@Icyv>?c9K4I4K%+6W6p%q!19G?!yjT2)z|)GK&;jrWc$9ufXrw99RU~#s+9!Ivp!ekG66gjP#Z3p< zWrf^OC6;;=IT?@oUh;VTS#}W!29oPYf&h@xSz8^+;>fmI>_Mlz+UPYHjRvpLa46lH zZu48M>TN4U8H^q$+mm)p*k35lnP2Va9)nA77bL;(oZ$7P>9bePaOGO99DY~?A+KC- z-mr9PZ(_0`qco*pxjk{J(-z2b720ezb3uuX;|we_InI+FNlRV*h?Bv*SWI4S4un}v zz9?^bY)Xs`PKC2KNG#E26O$p??%<|$?upBF*=??Z=O0a3zA2%or)zrF-!YI6VZy1aKN#^Q>N zho*lbG9`&ZV$+_G-Q(;lDolHHrqg1Lj;r)Uxuzv^y@^Q<39iR-GD983og+!Pdc7f# zGkr>3ZE`q1HaYCi_gUf|WTxie_VRVhmI$0}{U#995sm{M1Psmu+(nVTFiG8&3NFY6 z0#d-lBW`Auh&UWFA}T#q3emX3@)?>wGE8 z8^(W`=#XZQZ^VJCzzb$w0n2^QY_AV6c`iuJ$LIU2sGt9MDY(51x|P|XznE%2NWz97{`x-sjWl?W*k(jiGvfG zDiDdSL_&N6#`n?<{w!D}jB=H_Aa-0RrKP7q%Q#T#ff)y|RTQm_5E7I@=;Q19D%Uf{ zC8OPB!tNcuieO*U0@L@RAnGN(5ofW--`}>4J-FefM7Q-&Prr^L!vqVlSbzYxi?9i!!v#fD(@+Ji>SV#- zhrj^|6jX77FNHXf^jV~GO~?b8NYf39?)r3}PJo~<{Mq1@w@`q%2GVhCca;BtyKn|< zXhe&f^^&dd{GQR2s6(}EvApiiIG-Rc&6Kv~rR66}htK`F{QgbX$ba3C?3jA{w|3`b zr)HZ(;ryT6vaLaMl&78Z<-=EJW_r@$Of2-8JihypoJ%i0FDvWHEzf;A#~$DC>sO1@ zX06G{ByTx$pz^MdO3wuHD4f|7ND{bIkzEVtS4P+LTdKKbNzU%XkR#1^2o^jl4*c@i zkC29{1%^*IPcMLXz>*_ytsO4p+`P+Gs}46yzb`8j?$VKy(qAx%uKT- zrgr|+jE#S()aTUJ$Hh8LuDF)imQ1(UeDk^*i`DCIW9Kr{?)k6De;iJ=#KUOuYS`xs zoY%c3KHl2kzvRjtxw$;X5g(h7U^S;qHTw2n{?aYOZHZ})IaB=$hUEr~U*<`x{vGMB zIH@WI1-e49IE7__@IRvQ?2sb|1@$Qf8OgCH^+F}um0fT-Y0Kv<)7!@Q<0VAPVkx~L3EgHnVH!c zsj)UT{*&!bw8WO~IKsTQ=B&usVtY;ACCk@aZ@x7F?j%!Qdzub`o>p)AYhG(JE_&ea z@~to2%nJVc`nMuE-etEA2dX6dX$S z?24eHO)}jB(9OOQdfE5G_7CJv$wDR0Q^|5=>Hqebte64SYEojbq#NTV`3J?vEy+FL zEa89kd}PpB?8F}|a{k-9_}%jC6GzBqs!*L>4#Mbv&Y~0vmY>t<^x^lPh7Ny)3d*x3 zs_eLta-xLK|A#w`4bv52eOrX}?JA-*0j;27Ag1Gi5TB44g=ctmEu!r-9mU|CVqzsq zf(9D4&=aD5m?c%PVO#);3D-sq!N=zI}Liha5PM|k0Bvc zhE$6D5LJg|Cey|;!$_e|zT*k6&1MgHpD42hX4*RBKfmVWv8g%EL9iPJojIwo-1(aP z=MLMENC zlPJHW__Pcs<(lHzEvY@WQZE{{;jq8doXPTUlwbHXIyc2-j2?T7WC7nAi#EDaa-%A-cnmns=lx&RbO@RAPk%5=Soykq1~<)B)@SZtN7-EqHFDoCGNR7m4^nhuYq9Tg)YmlhQ)6kbmT-1T^(v4)5SiTP=d47`;gJ!5Fx``YNp zd$)BP5c=8Z4a|KnnPL8=7_8`9Y zuK~nM0Zg)GW#R`jNPe9CPd0sY>O7ug0)&TeDZT%ml7|+=d>$juV8s{8ud#PO@BEBy z|H0y?`7~P46`W&C*()jdimRIQ))>^fOn&m3paOu*0Flg z(~H(Cxsd;KNqqA+P=(mDo@9pA&{4OJcXS`=KE*de6w41m zS8OY=Wq>RtCWKzuVnB~s-D?OjdSwft>=M9@P`DCd5(W=@1Il_&s}49BSbvbCiZKu7 zoMHu5XIJ?an5Gno35N*;4|X6BD2bW@l8)grnwKcjbN>ei^sP>^eOfPJ#S_D(gwGYI!YV=NrJx&muiF}3C zkd|Y$;4&VQF&&F|bTqD#=(3jA_^krX3jt|*QZdZv-x!x;ArzOHEl`|?)ybUsBt~6te+nqYz>vSY0 zOmjLN;VS->=yW)!8EDM+9dKG2PB!OHMvL9x@JIi};?MN@jd$K;N@9Me{AFUOJ=SCs zQtnJvD~s35??&as8l&hUgu_->bai}!HQF`K66^fd@>;jc%BwfZU(TB@G_IH6;do|2 z*X%X+jaS}WIrZY9C8lNPS9r@}3^h%=XFC@+ck)4Zi5*|9T+zTJxCh5)i>?z>+-ag1 zlbt4sUSUJRbbNL~VpW=Re5oT&6r${oczpaZPuS@&=ZAf;`mc*+e%c8s|B7_YS{Ob! zba!fDj-A90wXgur@8?=r)LB@(7M66d{iB8Th~KP*4Z1}<2P!?d3I5?tC^r0IDlxvsr=9`9!^0Xn{M8i6eL(Qq?p=at& zDr*RJv?G0=(rrD6Ye6iQ2LwP662wfN&*9^dj_}`n@e@lv${JnXYSOWDt5i)VvlImI}KE{+kkt zFj8u-^edxPgv{SmW>GIbvVS;&_X>?ew}17IKZiFAl#qZ^!acf6amI9&?rPWy+N-;g z5xR!ERY;K=m=WGt&CG&bnhoTpgE^rB7|mSF&0?_Vd08y{wZyXoNLwUtLO%i*>UNtOv}uKIl^putByFHc*Dy2u#9mVw>TOd@I|=&cVj` zJcv(jXJhOFb|KrrE`r;^U2HcbNiKov>K=9(yPRFYu4GrStJz+54co`|vjgl~Fv@lv zyPn+uA3+CUq5CFwnBC02&2C}0vfJ40><)Okx{KY-?qT<```CBb{p`E!0rnt!h&{}{ z#~xvivd7?V^$GSQ`#yV$JX+Fo>{S@i z{TX|m{hYnQ-ehmFx7j=F7wld39{VNx6?>oknjK{yuw(2)_7VFHtf~GEo{K(ae_(%P ze`24oPuXYebM|NU1^Wy8EBhP!JNpOwC;O6p#g4NRY@EsLB-e4qITyIdB@S*1H|o;3 ziJQ3v-hpf!h6A~iNAYOx;%*+pJ>1J;0=5xpT%eM zIeadk$LI3}d?9b-i}+%`ME5#h%9ruwd<9?0SMk++4PVRG@%6lkH}e+W%G-E5kMIsC zJ#_JIzJd4fUf#$1`2Zi}8~G3)<|BNRZ{nNz7QU5l=cIDdja$-mE^ z;!pD*@FV;g{w#lv|B(NPKhIy_FY+Jrm-tWkPx;II75*xJjsJ|l&VSC|;BWG`_}ly) z{tNyte~Tgu$p6GY;h*x)_~-o3{0sgU z{#X7t{&)Tl{!jiT|B4^yCpdIt`AIE`oLaLA^qzf5Brr;N{glr*4$QAO0e4#)9FHR^H zN`!z=DgxA_}lh7=*2(3b!&@M!T4xv-%61s&A zLXXfZ^a=gKfG{X*6o!OhVMG`eHVK=BEy7k|n{bYBu5ccdNVW@O!Ue*G!VcjgVW+T5 z*ezTvTq0a5>=7;#E*Gv4t`x2kt`_zR*9iNB{lWp^Tf()%b;9++4Z@AWLE(^alWwe&M^q1G;@uXK%~!u+%p?+})-hjslmcibZtxav+Lv6hg)HxVw88Kj~ z236H%q^2kZ_71f5h#kExoo0MY`(W2Ve`MIaX`pwsFVckeShOHjVA8^)gZhm_Z3FEQ zLo2!icVVQZQ^aprY#kWrG17%rcxiB`yMILA*3uUlY7uF9#rxiNefLNU7DCHNWXniX zSA?iQvl8Ci-9FM~#=Fk`rrt=$h*b?@$sCCcS=0xGGPJ4T4Wq*&-5py+`W8!fe>>8t z`LwW-*51+57NK5i+SJ`1888fXw~dSrMf8J_{lgD8Hz}4T@myU4VZ0sBr@34+S1muxn-!`*3p74oOm)$1Vrj|X|M%A0Kga+G=Tb{ z(zfKalco=rmo>X+Ll9+Xco4fc)>HxXc%`?~wJphX2DCE761qugy9 zM1=@NCh9g$=SATbZr_y!_{n;Newzc#|`rBKE^h4Mx4D=b=2KxFi-uk|l z&i=@Vd7{5Y2T%1QwGZGvvN;kNvEkDP2dT(5Ojv6NpfEC|R%X#2s0j|O;hQ2uAV*tz zqqOI)fuZhgL>=~;0P#(2fQu39$mZ@5z@^&p1Y`vE%9B-v_$E|7G$8auwu+d|!$z&i z!?uyG(Z1Ha4sG(Jb0~I?^HBv8dP`{+icZ&kzYDM;m$*Vq^ zl>|y=gZ9D3iEq`bCF@6lhT3{805MD&>fm-^Xn0uYYHv5T0vgbH{bFmRx7X4}-P(bU z9f_E`FpNzqbSpuc?*=6_I%rbv)FDwSa5kNW$mla-lmZ-QM2!xfnTd)44j*WZ=r<2x z&UZ;8EyF#-dSF!anW=TCJJQjHO^lf!SDhzP=g`3DAka#Gj|6}mZP&L(T7V&hw$Tv` z<=|HHV9THaKiz}kF!rxz8l9$A0BR2)ZeR$&#YcPjKrb-HPX@;`+GER!N6jA3M}8GRlZX`(O1 zJfR>asT!bewWvX*uP|?b+53mZ;ejE58ZJsUgA&5znONBfM6gDvuqLA20|1y#z<)cI zq}Bn9u|)%CN@<+{ZF(RaKLU6i!7gvm2uL5o*tY;90_T~5+q-}?M|)e1zzZ1X&WK&< zVx<|hbXnC$6;chfls5IXTab68YhW0iA2AM(c8}1A840MUMtvI=sz?MY%mA=5t(3}g zLZ8q&+TDxU(rHBIL0WfAEq$oHrN1qr?~AnebdOj%s7a`0Lj+BaU>)dE`d#cO?ubOS z4~$}lfxL!=I@5dA`5q|4BW)qSv~-3T(N#XWN0tGc7k%CGBuR1L>hY|AZH0@r~w6H(Zn`&H8Uw_or*%qB>}U#whBE%n}ybqHX@TFrc-m)soc#gzu>60&Z^YC75)QI|ID zLEM62Hqk|iK9z<#)6fpM0Z|Q<4gzojd4a~lbLUV?pS}Y$ZO@R<(%vt2l$4d&Tf0YE zf!KkK)nNc8>>aXOP7_nMNzbE$liw0tIVZhUr}$=&xdWSr4Vb1w1KsTs zCdTL%G_$*v)|TO(t%F$921bX5H;!Ua0673q8PInCE%!!5y3hhX(mf~)kJ8YF!v@;i zbZ?3Xt)rcMQ;)Pc(%m|MjYB{Fkf1DJSH2z7LB-q@7mQIqU}6pKRY`Dq6}GnzfF4k` zA6n;^m0LG~6bDtRv;@aqncoGP%W(%1qF+dDOik5 z!D3_z7E`8@V!F`V63SFUnMzPiumsfvODIPPqGQmzuQ!q?9!juDcjB%kH zVXdhR$~(#wF2j&?DDNm!8NDc@Ol6d*j9!#cHDy!{B%P7CjY3pS8RaOa9OaaQ;37zH z5hS<>5?llcE`kIXL4u25IpwIJ92Jyz$GYl1e9R}P#~ndpd17gApiv~$Ppr- z2oX?(icv?X7ZaA%cidafP%g0$hq9fkcSP3K2+z2qZ!T5+MSK5P?L9Kq6E^ zl?14g0OcTH2oW%Z2pB>H3?TxB5CKDofFVS{5F%g*5io=Z7(xULAwpjvn6|=&a+Fez zQp!q^DF+4}7s?T?KyM=lE|dd@ekAZhiUx7H2z^4|8PK^ zmVp|rg*ED&57Y$Ime-VOcXh%AYP6=-s53uMQ>MKy*X|SL)o9PP+PzM@*K79~>b+L0 zw^pmSR;#yGtG8CGw^pmSR;#yGtG8CGw^pmSR;#yGtG8CGw^pmSR;yP-nt?j4-a4(` zI<4M1t=>AV-a4(`I<4M1t=>AV-a4(`I<4M1t=>AV-a4&b4Yvj~+#0CY>aEx6t=H<+ zFl<1>uz`B5-g>Rxdad4it=@XA-g>Rxdad4it=<`0KhO9-gZkGMYOgEQURS8Su2BEF zLjCIsN-365OI@Lsx + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FontAwesome/fonts/fontawesome-webfont.ttf b/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/FontAwesome/fonts/fontawesome-webfont.woff2 b/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/ayu-highlight.css b/ayu-highlight.css new file mode 100644 index 00000000..32c94322 --- /dev/null +++ b/ayu-highlight.css @@ -0,0 +1,78 @@ +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/book.js b/book.js new file mode 100644 index 00000000..aa12e7ec --- /dev/null +++ b/book.js @@ -0,0 +1,697 @@ +"use strict"; + +// Fix back button cache problem +window.onunload = function () { }; + +// Global variable, shared between modules +function playground_text(playground, hidden = true) { + let code_block = playground.querySelector("code"); + + if (window.ace && code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + return editor.getValue(); + } else if (hidden) { + return code_block.textContent; + } else { + return code_block.innerText; + } +} + +(function codeSnippets() { + function fetch_with_timeout(url, options, timeout = 6000) { + return Promise.race([ + fetch(url, options), + new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)) + ]); + } + + var playgrounds = Array.from(document.querySelectorAll(".playground")); + if (playgrounds.length > 0) { + fetch_with_timeout("https://play.rust-lang.org/meta/crates", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + }) + .then(response => response.json()) + .then(response => { + // get list of crates available in the rust playground + let playground_crates = response.crates.map(item => item["id"]); + playgrounds.forEach(block => handle_crate_list_update(block, playground_crates)); + }); + } + + function handle_crate_list_update(playground_block, playground_crates) { + // update the play buttons after receiving the response + update_play_button(playground_block, playground_crates); + + // and install on change listener to dynamically update ACE editors + if (window.ace) { + let code_block = playground_block.querySelector("code"); + if (code_block.classList.contains("editable")) { + let editor = window.ace.edit(code_block); + editor.addEventListener("change", function (e) { + update_play_button(playground_block, playground_crates); + }); + // add Ctrl-Enter command to execute rust code + editor.commands.addCommand({ + name: "run", + bindKey: { + win: "Ctrl-Enter", + mac: "Ctrl-Enter" + }, + exec: _editor => run_rust_code(playground_block) + }); + } + } + } + + // updates the visibility of play button based on `no_run` class and + // used crates vs ones available on https://play.rust-lang.org + function update_play_button(pre_block, playground_crates) { + var play_button = pre_block.querySelector(".play-button"); + + // skip if code is `no_run` + if (pre_block.querySelector('code').classList.contains("no_run")) { + play_button.classList.add("hidden"); + return; + } + + // get list of `extern crate`'s from snippet + var txt = playground_text(pre_block); + var re = /extern\s+crate\s+([a-zA-Z_0-9]+)\s*;/g; + var snippet_crates = []; + var item; + while (item = re.exec(txt)) { + snippet_crates.push(item[1]); + } + + // check if all used crates are available on play.rust-lang.org + var all_available = snippet_crates.every(function (elem) { + return playground_crates.indexOf(elem) > -1; + }); + + if (all_available) { + play_button.classList.remove("hidden"); + } else { + play_button.classList.add("hidden"); + } + } + + function run_rust_code(code_block) { + var result_block = code_block.querySelector(".result"); + if (!result_block) { + result_block = document.createElement('code'); + result_block.className = 'result hljs language-bash'; + + code_block.append(result_block); + } + + let text = playground_text(code_block); + let classes = code_block.querySelector('code').classList; + let edition = "2015"; + if(classes.contains("edition2018")) { + edition = "2018"; + } else if(classes.contains("edition2021")) { + edition = "2021"; + } + var params = { + version: "stable", + optimize: "0", + code: text, + edition: edition + }; + + if (text.indexOf("#![feature") !== -1) { + params.version = "nightly"; + } + + result_block.innerText = "Running..."; + + fetch_with_timeout("https://play.rust-lang.org/evaluate.json", { + headers: { + 'Content-Type': "application/json", + }, + method: 'POST', + mode: 'cors', + body: JSON.stringify(params) + }) + .then(response => response.json()) + .then(response => { + if (response.result.trim() === '') { + result_block.innerText = "No output"; + result_block.classList.add("result-no-output"); + } else { + result_block.innerText = response.result; + result_block.classList.remove("result-no-output"); + } + }) + .catch(error => result_block.innerText = "Playground Communication: " + error.message); + } + + // Syntax highlighting Configuration + hljs.configure({ + tabReplace: ' ', // 4 spaces + languages: [], // Languages used for auto-detection + }); + + let code_nodes = Array + .from(document.querySelectorAll('code')) + // Don't highlight `inline code` blocks in headers. + .filter(function (node) {return !node.parentElement.classList.contains("header"); }); + + if (window.ace) { + // language-rust class needs to be removed for editable + // blocks or highlightjs will capture events + code_nodes + .filter(function (node) {return node.classList.contains("editable"); }) + .forEach(function (block) { block.classList.remove('language-rust'); }); + + code_nodes + .filter(function (node) {return !node.classList.contains("editable"); }) + .forEach(function (block) { hljs.highlightBlock(block); }); + } else { + code_nodes.forEach(function (block) { hljs.highlightBlock(block); }); + } + + // Adding the hljs class gives code blocks the color css + // even if highlighting doesn't apply + code_nodes.forEach(function (block) { block.classList.add('hljs'); }); + + Array.from(document.querySelectorAll("code.hljs")).forEach(function (block) { + + var lines = Array.from(block.querySelectorAll('.boring')); + // If no lines were hidden, return + if (!lines.length) { return; } + block.classList.add("hide-boring"); + + var buttons = document.createElement('div'); + buttons.className = 'buttons'; + buttons.innerHTML = ""; + + // add expand button + var pre_block = block.parentNode; + pre_block.insertBefore(buttons, pre_block.firstChild); + + pre_block.querySelector('.buttons').addEventListener('click', function (e) { + if (e.target.classList.contains('fa-eye')) { + e.target.classList.remove('fa-eye'); + e.target.classList.add('fa-eye-slash'); + e.target.title = 'Hide lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.remove('hide-boring'); + } else if (e.target.classList.contains('fa-eye-slash')) { + e.target.classList.remove('fa-eye-slash'); + e.target.classList.add('fa-eye'); + e.target.title = 'Show hidden lines'; + e.target.setAttribute('aria-label', e.target.title); + + block.classList.add('hide-boring'); + } + }); + }); + + if (window.playground_copyable) { + Array.from(document.querySelectorAll('pre code')).forEach(function (block) { + var pre_block = block.parentNode; + if (!pre_block.classList.contains('playground')) { + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var clipButton = document.createElement('button'); + clipButton.className = 'fa fa-copy clip-button'; + clipButton.title = 'Copy to clipboard'; + clipButton.setAttribute('aria-label', clipButton.title); + clipButton.innerHTML = ''; + + buttons.insertBefore(clipButton, buttons.firstChild); + } + }); + } + + // Process playground code blocks + Array.from(document.querySelectorAll(".playground")).forEach(function (pre_block) { + // Add play button + var buttons = pre_block.querySelector(".buttons"); + if (!buttons) { + buttons = document.createElement('div'); + buttons.className = 'buttons'; + pre_block.insertBefore(buttons, pre_block.firstChild); + } + + var runCodeButton = document.createElement('button'); + runCodeButton.className = 'fa fa-play play-button'; + runCodeButton.hidden = true; + runCodeButton.title = 'Run this code'; + runCodeButton.setAttribute('aria-label', runCodeButton.title); + + buttons.insertBefore(runCodeButton, buttons.firstChild); + runCodeButton.addEventListener('click', function (e) { + run_rust_code(pre_block); + }); + + if (window.playground_copyable) { + var copyCodeClipboardButton = document.createElement('button'); + copyCodeClipboardButton.className = 'fa fa-copy clip-button'; + copyCodeClipboardButton.innerHTML = ''; + copyCodeClipboardButton.title = 'Copy to clipboard'; + copyCodeClipboardButton.setAttribute('aria-label', copyCodeClipboardButton.title); + + buttons.insertBefore(copyCodeClipboardButton, buttons.firstChild); + } + + let code_block = pre_block.querySelector("code"); + if (window.ace && code_block.classList.contains("editable")) { + var undoChangesButton = document.createElement('button'); + undoChangesButton.className = 'fa fa-history reset-button'; + undoChangesButton.title = 'Undo changes'; + undoChangesButton.setAttribute('aria-label', undoChangesButton.title); + + buttons.insertBefore(undoChangesButton, buttons.firstChild); + + undoChangesButton.addEventListener('click', function () { + let editor = window.ace.edit(code_block); + editor.setValue(editor.originalCode); + editor.clearSelection(); + }); + } + }); +})(); + +(function themes() { + var html = document.querySelector('html'); + var themeToggleButton = document.getElementById('theme-toggle'); + var themePopup = document.getElementById('theme-list'); + var themeColorMetaTag = document.querySelector('meta[name="theme-color"]'); + var stylesheets = { + ayuHighlight: document.querySelector("[href$='ayu-highlight.css']"), + tomorrowNight: document.querySelector("[href$='tomorrow-night.css']"), + highlight: document.querySelector("[href$='highlight.css']"), + }; + + function showThemes() { + themePopup.style.display = 'block'; + themeToggleButton.setAttribute('aria-expanded', true); + themePopup.querySelector("button#" + get_theme()).focus(); + } + + function updateThemeSelected() { + themePopup.querySelectorAll('.theme-selected').forEach(function (el) { + el.classList.remove('theme-selected'); + }); + themePopup.querySelector("button#" + get_theme()).classList.add('theme-selected'); + } + + function hideThemes() { + themePopup.style.display = 'none'; + themeToggleButton.setAttribute('aria-expanded', false); + themeToggleButton.focus(); + } + + function get_theme() { + var theme; + try { theme = localStorage.getItem('mdbook-theme'); } catch (e) { } + if (theme === null || theme === undefined) { + return default_theme; + } else { + return theme; + } + } + + function set_theme(theme, store = true) { + let ace_theme; + + if (theme == 'coal' || theme == 'navy') { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = false; + stylesheets.highlight.disabled = true; + + ace_theme = "ace/theme/tomorrow_night"; + } else if (theme == 'ayu') { + stylesheets.ayuHighlight.disabled = false; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = true; + ace_theme = "ace/theme/tomorrow_night"; + } else { + stylesheets.ayuHighlight.disabled = true; + stylesheets.tomorrowNight.disabled = true; + stylesheets.highlight.disabled = false; + ace_theme = "ace/theme/dawn"; + } + + setTimeout(function () { + themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor; + }, 1); + + if (window.ace && window.editors) { + window.editors.forEach(function (editor) { + editor.setTheme(ace_theme); + }); + } + + var previousTheme = get_theme(); + + if (store) { + try { localStorage.setItem('mdbook-theme', theme); } catch (e) { } + } + + html.classList.remove(previousTheme); + html.classList.add(theme); + updateThemeSelected(); + } + + // Set theme + var theme = get_theme(); + + set_theme(theme, false); + + themeToggleButton.addEventListener('click', function () { + if (themePopup.style.display === 'block') { + hideThemes(); + } else { + showThemes(); + } + }); + + themePopup.addEventListener('click', function (e) { + var theme; + if (e.target.className === "theme") { + theme = e.target.id; + } else if (e.target.parentElement.className === "theme") { + theme = e.target.parentElement.id; + } else { + return; + } + set_theme(theme); + }); + + themePopup.addEventListener('focusout', function(e) { + // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below) + if (!!e.relatedTarget && !themeToggleButton.contains(e.relatedTarget) && !themePopup.contains(e.relatedTarget)) { + hideThemes(); + } + }); + + // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628 + document.addEventListener('click', function(e) { + if (themePopup.style.display === 'block' && !themeToggleButton.contains(e.target) && !themePopup.contains(e.target)) { + hideThemes(); + } + }); + + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (!themePopup.contains(e.target)) { return; } + + switch (e.key) { + case 'Escape': + e.preventDefault(); + hideThemes(); + break; + case 'ArrowUp': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.previousElementSibling) { + li.previousElementSibling.querySelector('button').focus(); + } + break; + case 'ArrowDown': + e.preventDefault(); + var li = document.activeElement.parentElement; + if (li && li.nextElementSibling) { + li.nextElementSibling.querySelector('button').focus(); + } + break; + case 'Home': + e.preventDefault(); + themePopup.querySelector('li:first-child button').focus(); + break; + case 'End': + e.preventDefault(); + themePopup.querySelector('li:last-child button').focus(); + break; + } + }); +})(); + +(function sidebar() { + var body = document.querySelector("body"); + var sidebar = document.getElementById("sidebar"); + var sidebarLinks = document.querySelectorAll('#sidebar a'); + var sidebarToggleButton = document.getElementById("sidebar-toggle"); + var sidebarResizeHandle = document.getElementById("sidebar-resize-handle"); + var firstContact = null; + + function showSidebar() { + body.classList.remove('sidebar-hidden') + body.classList.add('sidebar-visible'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', 0); + }); + sidebarToggleButton.setAttribute('aria-expanded', true); + sidebar.setAttribute('aria-hidden', false); + try { localStorage.setItem('mdbook-sidebar', 'visible'); } catch (e) { } + } + + + var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle'); + + function toggleSection(ev) { + ev.currentTarget.parentElement.classList.toggle('expanded'); + } + + Array.from(sidebarAnchorToggles).forEach(function (el) { + el.addEventListener('click', toggleSection); + }); + + function hideSidebar() { + body.classList.remove('sidebar-visible') + body.classList.add('sidebar-hidden'); + Array.from(sidebarLinks).forEach(function (link) { + link.setAttribute('tabIndex', -1); + }); + sidebarToggleButton.setAttribute('aria-expanded', false); + sidebar.setAttribute('aria-hidden', true); + try { localStorage.setItem('mdbook-sidebar', 'hidden'); } catch (e) { } + } + + // Toggle sidebar + sidebarToggleButton.addEventListener('click', function sidebarToggle() { + if (body.classList.contains("sidebar-hidden")) { + var current_width = parseInt( + document.documentElement.style.getPropertyValue('--sidebar-width'), 10); + if (current_width < 150) { + document.documentElement.style.setProperty('--sidebar-width', '150px'); + } + showSidebar(); + } else if (body.classList.contains("sidebar-visible")) { + hideSidebar(); + } else { + if (getComputedStyle(sidebar)['transform'] === 'none') { + hideSidebar(); + } else { + showSidebar(); + } + } + }); + + sidebarResizeHandle.addEventListener('mousedown', initResize, false); + + function initResize(e) { + window.addEventListener('mousemove', resize, false); + window.addEventListener('mouseup', stopResize, false); + body.classList.add('sidebar-resizing'); + } + function resize(e) { + var pos = (e.clientX - sidebar.offsetLeft); + if (pos < 20) { + hideSidebar(); + } else { + if (body.classList.contains("sidebar-hidden")) { + showSidebar(); + } + pos = Math.min(pos, window.innerWidth - 100); + document.documentElement.style.setProperty('--sidebar-width', pos + 'px'); + } + } + //on mouseup remove windows functions mousemove & mouseup + function stopResize(e) { + body.classList.remove('sidebar-resizing'); + window.removeEventListener('mousemove', resize, false); + window.removeEventListener('mouseup', stopResize, false); + } + + document.addEventListener('touchstart', function (e) { + firstContact = { + x: e.touches[0].clientX, + time: Date.now() + }; + }, { passive: true }); + + document.addEventListener('touchmove', function (e) { + if (!firstContact) + return; + + var curX = e.touches[0].clientX; + var xDiff = curX - firstContact.x, + tDiff = Date.now() - firstContact.time; + + if (tDiff < 250 && Math.abs(xDiff) >= 150) { + if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300)) + showSidebar(); + else if (xDiff < 0 && curX < 300) + hideSidebar(); + + firstContact = null; + } + }, { passive: true }); +})(); + +(function chapterNavigation() { + document.addEventListener('keydown', function (e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; } + if (window.search && window.search.hasFocus()) { return; } + var html = document.querySelector('html'); + + function next() { + var nextButton = document.querySelector('.nav-chapters.next'); + if (nextButton) { + window.location.href = nextButton.href; + } + } + function prev() { + var previousButton = document.querySelector('.nav-chapters.previous'); + if (previousButton) { + window.location.href = previousButton.href; + } + } + switch (e.key) { + case 'ArrowRight': + e.preventDefault(); + if (html.dir == 'rtl') { + prev(); + } else { + next(); + } + break; + case 'ArrowLeft': + e.preventDefault(); + if (html.dir == 'rtl') { + next(); + } else { + prev(); + } + break; + } + }); +})(); + +(function clipboard() { + var clipButtons = document.querySelectorAll('.clip-button'); + + function hideTooltip(elem) { + elem.firstChild.innerText = ""; + elem.className = 'fa fa-copy clip-button'; + } + + function showTooltip(elem, msg) { + elem.firstChild.innerText = msg; + elem.className = 'fa fa-copy tooltipped'; + } + + var clipboardSnippets = new ClipboardJS('.clip-button', { + text: function (trigger) { + hideTooltip(trigger); + let playground = trigger.closest("pre"); + return playground_text(playground, false); + } + }); + + Array.from(clipButtons).forEach(function (clipButton) { + clipButton.addEventListener('mouseout', function (e) { + hideTooltip(e.currentTarget); + }); + }); + + clipboardSnippets.on('success', function (e) { + e.clearSelection(); + showTooltip(e.trigger, "Copied!"); + }); + + clipboardSnippets.on('error', function (e) { + showTooltip(e.trigger, "Clipboard error!"); + }); +})(); + +(function scrollToTop () { + var menuTitle = document.querySelector('.menu-title'); + + menuTitle.addEventListener('click', function () { + document.scrollingElement.scrollTo({ top: 0, behavior: 'smooth' }); + }); +})(); + +(function controllMenu() { + var menu = document.getElementById('menu-bar'); + + (function controllPosition() { + var scrollTop = document.scrollingElement.scrollTop; + var prevScrollTop = scrollTop; + var minMenuY = -menu.clientHeight - 50; + // When the script loads, the page can be at any scroll (e.g. if you reforesh it). + menu.style.top = scrollTop + 'px'; + // Same as parseInt(menu.style.top.slice(0, -2), but faster + var topCache = menu.style.top.slice(0, -2); + menu.classList.remove('sticky'); + var stickyCache = false; // Same as menu.classList.contains('sticky'), but faster + document.addEventListener('scroll', function () { + scrollTop = Math.max(document.scrollingElement.scrollTop, 0); + // `null` means that it doesn't need to be updated + var nextSticky = null; + var nextTop = null; + var scrollDown = scrollTop > prevScrollTop; + var menuPosAbsoluteY = topCache - scrollTop; + if (scrollDown) { + nextSticky = false; + if (menuPosAbsoluteY > 0) { + nextTop = prevScrollTop; + } + } else { + if (menuPosAbsoluteY > 0) { + nextSticky = true; + } else if (menuPosAbsoluteY < minMenuY) { + nextTop = prevScrollTop + minMenuY; + } + } + if (nextSticky === true && stickyCache === false) { + menu.classList.add('sticky'); + stickyCache = true; + } else if (nextSticky === false && stickyCache === true) { + menu.classList.remove('sticky'); + stickyCache = false; + } + if (nextTop !== null) { + menu.style.top = nextTop + 'px'; + topCache = nextTop; + } + prevScrollTop = scrollTop; + }, { passive: true }); + })(); + (function controllBorder() { + function updateBorder() { + if (menu.offsetTop === 0) { + menu.classList.remove('bordered'); + } else { + menu.classList.add('bordered'); + } + } + updateBorder(); + document.addEventListener('scroll', updateBorder, { passive: true }); + })(); +})(); diff --git a/chapter_1.html b/chapter_1.html new file mode 100644 index 00000000..047ca762 --- /dev/null +++ b/chapter_1.html @@ -0,0 +1,281 @@ + + + + + + Welcome to Claro! - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Welcome to Claro!

+ +

Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications.

+

Dependency Management Done Right

+
+

Claro was designed with modern build tooling in mind:

+
    +
  • Swap any dependency without changing a single line of source code
  • +
  • Runtime "Dependency Injection" frameworks are a thing of the past
  • +
  • First class Module system
  • +
+

Fearless Concurrency

+
+

Developed by a Xoogler taking inspiration from years of hands-on development experience with Google-internal backend web +frameworks, Claro moves well beyond async/await. Claro’s declarative, DAG-based structured concurrency model is the +first of its kind in a programming language - statically guaranteeing that programs are:

+
    +
  • Non-blocking
  • +
  • Data-race free
  • +
  • Deadlock free
  • +
  • Optimally scheduled
  • +
  • Scaleable by default
  • +
+

Data Oriented

+
+
    +
  • Strict separation between data and functionality
  • +
  • Mutability tracked at the type system level
  • +
  • Extremely flexible built in algebraic data types
  • +
  • Model arbitrary data structures with zero boilerplate
  • +
+

Unapologetically Practical

+
+
    +
  • Bi-directional type inference
  • +
  • Robust standard library
  • +
  • Builtin external package manager
  • +
  • Build time metaprogramming
  • +
+

Designed to Scale with You

+
+
    +
  • Incremental compilation out of the box
  • +
  • Code reuse made simple
  • +
  • Develop codebases of any size without devolving into a spaghetti labyrinth
  • +
+

Actively In Development

+
+
+

Claro is in active development and is not yet ready for production use. While Claro has been in active development +for more than 3 years, its design and implementation has been done entirely by its single maintainer, +Jason Steving - while the foundation has been +laid, contributions are welcome! Anyone with interest is actively encouraged to reach out and get involved!

+
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/chapter_1/BUILD b/chapter_1/BUILD new file mode 100644 index 00000000..6e0d921a --- /dev/null +++ b/chapter_1/BUILD @@ -0,0 +1,9 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(["hello_world.claro"]) + +doc_with_validated_examples( + name = "hello_world", + doc_template = "hello_world.tmpl.md", + examples = ["hello_world.claro"], +) diff --git a/chapter_1/hello_world.claro b/chapter_1/hello_world.claro new file mode 100644 index 00000000..60d48d71 --- /dev/null +++ b/chapter_1/hello_world.claro @@ -0,0 +1 @@ +print("Hello, world!"); \ No newline at end of file diff --git a/chapter_1/hello_world.generated_docs.html b/chapter_1/hello_world.generated_docs.html new file mode 100644 index 00000000..b09d9a21 --- /dev/null +++ b/chapter_1/hello_world.generated_docs.html @@ -0,0 +1,247 @@ + + + + + + Hello, World - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Hello, World!

+

Fig 1:

+
+
print("Hello, world!");
+
+

Output:

+
Hello, world!
+
+
+

As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every +Claro program is simply a sequence of statements that are executed from top-to-bottom as if it were a "script". You +don't need to specify a "main" method" as in other languages like Java, instead, much like Python, you simply specify a +starting file which will execute top-down at program start.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/clipboard.min.js b/clipboard.min.js new file mode 100644 index 00000000..02c549e3 --- /dev/null +++ b/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n + + + + + Common Programming Concepts - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Common Programming Concepts

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/common_programming_concepts/sep_var_decl_and_init/BUILD b/common_programming_concepts/sep_var_decl_and_init/BUILD new file mode 100644 index 00000000..817d2e89 --- /dev/null +++ b/common_programming_concepts/sep_var_decl_and_init/BUILD @@ -0,0 +1,13 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "sep_var_decl_and_init", + doc_template = "sep_var_decl_and_init.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_cleanup": "ex1_cleanup.claro", + "append_output": False, + }, + ], +) diff --git a/common_programming_concepts/sep_var_decl_and_init/ex1.claro b/common_programming_concepts/sep_var_decl_and_init/ex1.claro new file mode 100644 index 00000000..afa8704a --- /dev/null +++ b/common_programming_concepts/sep_var_decl_and_init/ex1.claro @@ -0,0 +1,2 @@ +var i: int; +i = 10; \ No newline at end of file diff --git a/common_programming_concepts/sep_var_decl_and_init/ex1_cleanup.claro b/common_programming_concepts/sep_var_decl_and_init/ex1_cleanup.claro new file mode 100644 index 00000000..a519e0f8 --- /dev/null +++ b/common_programming_concepts/sep_var_decl_and_init/ex1_cleanup.claro @@ -0,0 +1 @@ +_ = i; \ No newline at end of file diff --git a/common_programming_concepts/sep_var_decl_and_init/sep_var_decl_and_init.generated_docs.html b/common_programming_concepts/sep_var_decl_and_init/sep_var_decl_and_init.generated_docs.html new file mode 100644 index 00000000..b33ffb8c --- /dev/null +++ b/common_programming_concepts/sep_var_decl_and_init/sep_var_decl_and_init.generated_docs.html @@ -0,0 +1,245 @@ + + + + + + Separate Variable Declaration & Initialization - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Separate Variable Declaration & Initialization

+

The previous example demonstrates the simultaneous declaration and initialization of a new variable and its initial +value. It is also possible to delay initialization to happen independently of declaration.

+

Fig 1:

+
+
var i: int;
+i = 10;
+
+
+

(Note: this is particularly useful when you may want to initialize to different values in different branches of an +if-else chain for example.)

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/common_programming_concepts/var_reassignment/BUILD b/common_programming_concepts/var_reassignment/BUILD new file mode 100644 index 00000000..2b7df6f8 --- /dev/null +++ b/common_programming_concepts/var_reassignment/BUILD @@ -0,0 +1,7 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "var_reassignment", + doc_template = "var_reassignment.tmpl.md", + examples = ["ex1.claro"], +) diff --git a/common_programming_concepts/var_reassignment/ex1.claro b/common_programming_concepts/var_reassignment/ex1.claro new file mode 100644 index 00000000..d967ad7a --- /dev/null +++ b/common_programming_concepts/var_reassignment/ex1.claro @@ -0,0 +1,5 @@ +var s: string = "Hello"; +print(s); + +s = "goodbye"; +print(s); \ No newline at end of file diff --git a/common_programming_concepts/var_reassignment/var_reassignment.generated_docs.html b/common_programming_concepts/var_reassignment/var_reassignment.generated_docs.html new file mode 100644 index 00000000..4b7ee2d7 --- /dev/null +++ b/common_programming_concepts/var_reassignment/var_reassignment.generated_docs.html @@ -0,0 +1,249 @@ + + + + + + Variable Reassignment - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Variable Reassignment

+

By definition, the value represented by a variable may vary, or change, over time throughout the program:

+

Fig 1:

+
+
var s: string = "Hello";
+print(s);
+
+s = "goodbye";
+print(s);
+
+

Output:

+
Hello
+goodbye
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/common_programming_concepts/variables_and_types/BUILD b/common_programming_concepts/variables_and_types/BUILD new file mode 100644 index 00000000..5ba86bb5 --- /dev/null +++ b/common_programming_concepts/variables_and_types/BUILD @@ -0,0 +1,13 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "variables_and_types", + doc_template = "variables_and_types.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_cleanup": "ex1_cleanup.claro", + "append_output": False, + }, + ], +) diff --git a/common_programming_concepts/variables_and_types/ex1.claro b/common_programming_concepts/variables_and_types/ex1.claro new file mode 100644 index 00000000..6a05949b --- /dev/null +++ b/common_programming_concepts/variables_and_types/ex1.claro @@ -0,0 +1,7 @@ +var i: int = 10; # Any whole number from -2^31 to 2^31-1. +var l: long = 10L; # Any whole number from -2^63 to 2^63-1. +var f: float = 1.15F; # A single-precision 32-bit IEEE 754 floating point number. +var d: double = 1.15; # A double-precision 64-bit IEEE 754 floating point number. +var b: boolean = true; # true or false. +var s: string = "very first string"; # An immutable sequence of chars. Heap allocated. +var c: char = 'a'; # A single 16-bit Unicode character. \ No newline at end of file diff --git a/common_programming_concepts/variables_and_types/ex1_cleanup.claro b/common_programming_concepts/variables_and_types/ex1_cleanup.claro new file mode 100644 index 00000000..cc5a7c03 --- /dev/null +++ b/common_programming_concepts/variables_and_types/ex1_cleanup.claro @@ -0,0 +1,7 @@ +_ = i; +_ = l; +_ = f; +_ = d; +_ = b; +_ = s; +_ = c; diff --git a/common_programming_concepts/variables_and_types/variables_and_types.generated_docs.html b/common_programming_concepts/variables_and_types/variables_and_types.generated_docs.html new file mode 100644 index 00000000..7d9d25d6 --- /dev/null +++ b/common_programming_concepts/variables_and_types/variables_and_types.generated_docs.html @@ -0,0 +1,261 @@ + + + + + + Variables & Primitive Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Variables & Primitive Types

+

Claro is a statically-compiled, strictly typed language. Practically speaking, this means that the type of all variables +must be statically determined upon declaration of the variable, and may never change thereafter.

+

Claro has several builtin "primitive" types representing generally small or low-level "value types" that are immutable +to the programmer. They are referred to as "primitive" because they are foundational to the language's type system, and +make up the basic building blocks of which every other type in the language is just some structured combination. Values +of these primitive types are generally cheap to allocate on the stack, and are passed as copies to other functions +(strings, being handled in typical JVM fashion, are actually heap allocated with references to strings passed instead of +copying the value itself).

+

The supported set of primitives are: int, long, float, double, boolean, string, char. The example below shows how you'd +define variables to represent values of each type:

+

Fig 1:

+
+
var i: int = 10; # Any whole number from -2^31 to 2^31-1.
+var l: long = 10L; # Any whole number from -2^63 to 2^63-1.
+var f: float = 1.15F; # A single-precision 32-bit IEEE 754 floating point number.
+var d: double = 1.15; # A double-precision 64-bit IEEE 754 floating point number.
+var b: boolean = true; # true or false.
+var s: string = "very first string"; # An immutable sequence of chars. Heap allocated.
+var c: char = 'a'; # A single 16-bit Unicode character.
+
+
+

To break the syntax down further:

+

var : Keyword introducing / declaring a new variable.

+

b : the name we chose for this particular var.

+

: : a syntactic divider between a variable's name and its type.

+

boolean : the type of the variable, which constrains the domain of values which this variable may hold.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/concurrency.html b/concurrency.html new file mode 100644 index 00000000..25f9e647 --- /dev/null +++ b/concurrency.html @@ -0,0 +1,260 @@ + + + + + + Concurrency - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Concurrency

+

There is one remaining significant factor that a programming language should provide builtin mechanisms for in order to +enable programmers to develop very highly performant code that can take full advantage of the available CPU hardware: +concurrency.

+

Sometimes you have already squeezed every last drop of performance out of your algorithmic designs, or you are +constrained by waiting for slow operations to complete (DB requests, networked API calls, file I/O) before your program +may even make progress through its workload. In these situations, often the only way possible to get more work done is +to do more than one thing at the same time.

+

In order to achieve this, Claro asks you to first think about the dependencies between the various steps in your desired +workflow. These dependencies come in the form of data, so you should be asking yourself, "At any given step in my +workflow, what data do I need to be available in order to make the decisions I'll need to make or to take the actions +needed?". When you start to reason in this way, you will likely come across opportunities where certain components of +your workflow are completely independent, in the sense that they do not rely at all upon the same data in order to do +their work. Examples of this are easy to see in web service request handling (each reg can typically be handled +independently of any others), or if you look a bit closer it can also be seen in MapReduce style batch processing (the +large input is partitioned for the workers to map independently of other partitions. There will be many more examples, +but the key takeaway is that if these work items can be partitioned to be completely independent like this, then they +should be run at exactly the same time rather than sequentially. In a single-machine context, you achieve this by using +multiple threads to execute your program, or portions of your program, concurrently.

+

Unfortunately, using threads is known to have inherent dangers. Mistakes with threaded programs have been known to +cause "deadlocking" or other issues where a program becomes completely stock and is unable to make forward progress. +Alternatively, you may run into "data races" where multiple threads attempt to read/write the same shared data +simultaneously, each not knowing that another thread may be impacting or be impacted by the state change - this leads to +consistency problems where threads end up operating on stale, corrupted, or inconsistent data. These have tended to be +reasons for people to fully avoid working with multithreaded code at all - but that caution is just leaving performance +on the table. Thankfully, Claro addresses these issues and provides convenient, fearless concurrency!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow.html b/control_flow.html new file mode 100644 index 00000000..be3405e6 --- /dev/null +++ b/control_flow.html @@ -0,0 +1,240 @@ + + + + + + Control Flow - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Control Flow

+

Claro has only a few control flow structures at the current moment. These structures allow programs to execute code +both conditionally and repeatedly. The only thing to keep an eye on, coming from a dynamic language like Python, is that +Claro will statically validate that do not misuse conditional execution to run code that may attempt to use a variable +before initialization. The examples in the following sections will also demonstrate invalid code that Claro throw a +compile-time error on.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/collection_comprehension/BUILD b/control_flow/collection_comprehension/BUILD new file mode 100644 index 00000000..de169a9e --- /dev/null +++ b/control_flow/collection_comprehension/BUILD @@ -0,0 +1,12 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "collection_comprehension", + doc_template = "collection_comprehension.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + "ex3.claro", + "ex4.claro", + ], +) diff --git a/control_flow/collection_comprehension/collection_comprehension.generated_docs.html b/control_flow/collection_comprehension/collection_comprehension.generated_docs.html new file mode 100644 index 00000000..4ad94424 --- /dev/null +++ b/control_flow/collection_comprehension/collection_comprehension.generated_docs.html @@ -0,0 +1,307 @@ + + + + + + Collection Comprehension - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Collection Comprehension

+

Claro takes direct inspiration from Python's powerful "Comprehensions" syntax to provide powerful single-expression +operation to encode the common pattern of iterating some collection's elements and putting them into a new collection +after potentially filtering and transforming the elements. This allows you to do complex initializations of both mutable +and immutable collections directly in-line without having to drop down to multi-line initialization using some form of +loop.

+

List Comprehension

+

Compare the following loop-based initialization:

+

Fig 1:

+
+
var mutList: mut [string] = mut [];
+for (x in [1, 3, 99, 2, 1]) {
+  if (x <= 10) {
+    lists::add(mutList, strings::repeated("*", x));
+  }
+}
+print(mutList);
+
+

Output:

+
mut [*, ***, **, *]
+
+
+

with the List Comprehension based alternative:

+

Fig 2:

+
+
# The `|` below is read either "for" or "given".
+var mutList = mut [strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10];
+print(mutList);
+
+

Output:

+
mut [*, ***, **, *]
+
+
+

As you can see, taking the time to get comfortable with Comprehension expressions can serve to significantly simplify +your code.

+
+

Optional: it may be useful to read a bit about the +"Set Builder Notation" that inspires this +syntax in both Claro and Python.

+
+

Set Comprehension

+

The same convenient Comprehension-based initialization is also supported for Sets. Simply swap the square brackets +[...] for curly braces {...}:

+

Fig 3:

+
+
var immutableSet = {strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10};
+print(immutableSet);
+
+

Output:

+
{**, *, ***}
+
+
+

Notice now, even though the same mapping and filtering is done over the same input collection as in the list +comprehension examples above, the output here does not duplicate the entry "*" as Set Comprehension honors set +semantics. (However, to be very explicit, strings::repeated("*", 1) was called twice).

+

Map Comprehension

+

And finally, Comprehension-based initialization is also supported for Maps. Again, use curly braces {...} instead of +square brackets [...], but this time a colon-separated key-value entry is computed from the input collection instead +of a single value:

+

Fig 4:

+
+
var mutMap = mut {x : strings::repeated("*", x) | x in [1, 3, 99, 2] where x <= 10};
+print(mutMap);
+
+

Output:

+
mut {1: *, 2: **, 3: ***}
+
+
+
+

Warning: Map Comprehension will Panic at runtime if you attempt to create multiple entries yielding the same key. +It's still up for debate whether this is desirable behavior - it's possible that this may be updated to some other model +such as "last entry wins". TBD.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/collection_comprehension/ex1.claro b/control_flow/collection_comprehension/ex1.claro new file mode 100644 index 00000000..58351414 --- /dev/null +++ b/control_flow/collection_comprehension/ex1.claro @@ -0,0 +1,7 @@ +var mutList: mut [string] = mut []; +for (x in [1, 3, 99, 2, 1]) { + if (x <= 10) { + lists::add(mutList, strings::repeated("*", x)); + } +} +print(mutList); \ No newline at end of file diff --git a/control_flow/collection_comprehension/ex2.claro b/control_flow/collection_comprehension/ex2.claro new file mode 100644 index 00000000..55a44663 --- /dev/null +++ b/control_flow/collection_comprehension/ex2.claro @@ -0,0 +1,3 @@ +# The `|` below is read either "for" or "given". +var mutList = mut [strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10]; +print(mutList); \ No newline at end of file diff --git a/control_flow/collection_comprehension/ex3.claro b/control_flow/collection_comprehension/ex3.claro new file mode 100644 index 00000000..ae024f1e --- /dev/null +++ b/control_flow/collection_comprehension/ex3.claro @@ -0,0 +1,2 @@ +var immutableSet = {strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10}; +print(immutableSet); \ No newline at end of file diff --git a/control_flow/collection_comprehension/ex4.claro b/control_flow/collection_comprehension/ex4.claro new file mode 100644 index 00000000..3442c340 --- /dev/null +++ b/control_flow/collection_comprehension/ex4.claro @@ -0,0 +1,2 @@ +var mutMap = mut {x : strings::repeated("*", x) | x in [1, 3, 99, 2] where x <= 10}; +print(mutMap); \ No newline at end of file diff --git a/control_flow/collection_comprehension/more_than_syntax_sugar/BUILD b/control_flow/collection_comprehension/more_than_syntax_sugar/BUILD new file mode 100644 index 00000000..45cecf8a --- /dev/null +++ b/control_flow/collection_comprehension/more_than_syntax_sugar/BUILD @@ -0,0 +1,10 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "more_than_syntax_sugar", + doc_template = "more_than_syntax_sugar.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + ], +) diff --git a/control_flow/collection_comprehension/more_than_syntax_sugar/ex1.claro b/control_flow/collection_comprehension/more_than_syntax_sugar/ex1.claro new file mode 100644 index 00000000..f285e2bb --- /dev/null +++ b/control_flow/collection_comprehension/more_than_syntax_sugar/ex1.claro @@ -0,0 +1,10 @@ +var mutList: mut [string] = mut []; +for (x in [1, 3, 99, 2, 1]) { + if (x <= 10) { + lists::add(mutList, strings::repeated("*", x)); + } +} + +# Claro is automatically coercing the copied list to be immutable. +var immutableList: [string] = copy(mutList); +print(immutableList); \ No newline at end of file diff --git a/control_flow/collection_comprehension/more_than_syntax_sugar/ex2.claro b/control_flow/collection_comprehension/more_than_syntax_sugar/ex2.claro new file mode 100644 index 00000000..0b097834 --- /dev/null +++ b/control_flow/collection_comprehension/more_than_syntax_sugar/ex2.claro @@ -0,0 +1,2 @@ +var immutableList = [strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10]; +print(immutableList); \ No newline at end of file diff --git a/control_flow/collection_comprehension/more_than_syntax_sugar/more_than_syntax_sugar.generated_docs.html b/control_flow/collection_comprehension/more_than_syntax_sugar/more_than_syntax_sugar.generated_docs.html new file mode 100644 index 00000000..a7c6ce9d --- /dev/null +++ b/control_flow/collection_comprehension/more_than_syntax_sugar/more_than_syntax_sugar.generated_docs.html @@ -0,0 +1,269 @@ + + + + + + Comprehension is More Than Syntax Sugar - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Comprehension is More Than Syntax Sugar

+

While the previous section emphasized the ergonomic and simplifying qualities of Comprehensions, it should be explicitly +stated that this construct is not just syntax sugar. Specifically, there is no other way in the language to directly +initialize a List/Set/Map with size and elements determined dynamically at runtime without incurring an extra copy:

+

Fig 1:

+
+
var mutList: mut [string] = mut [];
+for (x in [1, 3, 99, 2, 1]) {
+  if (x <= 10) {
+    lists::add(mutList, strings::repeated("*", x));
+  }
+}
+
+# Claro is automatically coercing the copied list to be immutable.
+var immutableList: [string] = copy(mutList);
+print(immutableList);
+
+

Output:

+
[*, ***, **, *]
+
+
+

Using List Comprehension instead not only produces much simpler code, but will also allow you to drop the unnecessary +copy:

+

Fig 2:

+
+
var immutableList = [strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10];
+print(immutableList);
+
+

Output:

+
[*, ***, **, *]
+
+
+
+

Note: Read more about Claro's built-in copy(...) operator here (TODO(steving)).

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/for/BUILD b/control_flow/for/BUILD new file mode 100644 index 00000000..a59510e0 --- /dev/null +++ b/control_flow/for/BUILD @@ -0,0 +1,17 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "for", + doc_template = "for.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + "ex3.claro", + { + "example": "ex4.claro", + "expect_errors": True, + }, + "ex5.claro", + "ex6.claro", + ], +) diff --git a/control_flow/for/ex1.claro b/control_flow/for/ex1.claro new file mode 100644 index 00000000..035dd866 --- /dev/null +++ b/control_flow/for/ex1.claro @@ -0,0 +1,3 @@ +for (e in [1, 2, 3, 4, 5]) { + print(e); +} \ No newline at end of file diff --git a/control_flow/for/ex2.claro b/control_flow/for/ex2.claro new file mode 100644 index 00000000..cd54573a --- /dev/null +++ b/control_flow/for/ex2.claro @@ -0,0 +1,3 @@ +for (e in {1, 2, 3}) { + print(e); +} \ No newline at end of file diff --git a/control_flow/for/ex3.claro b/control_flow/for/ex3.claro new file mode 100644 index 00000000..a2167353 --- /dev/null +++ b/control_flow/for/ex3.claro @@ -0,0 +1,3 @@ +for (e in {'a': 1, 'b': 2, 'c': 3}) { + print("Key: {e[0]} - Val: {e[1]}"); +} \ No newline at end of file diff --git a/control_flow/for/ex4.claro b/control_flow/for/ex4.claro new file mode 100644 index 00000000..85491e47 --- /dev/null +++ b/control_flow/for/ex4.claro @@ -0,0 +1,13 @@ +$$random::create() +$$ |> random::nextNonNegativeBoundedInt(^, 10) +$$ |> var r = ^; +$$var l: mut [int] = mut []; +$$while (r-- > 0) { +$$ lists::add(l, r); +$$} +$$ +var s: int; +for (elem in l) { # <-- `l` could be empty. + s = elem; +} +print(s); diff --git a/control_flow/for/ex5.claro b/control_flow/for/ex5.claro new file mode 100644 index 00000000..2f0ee5a6 --- /dev/null +++ b/control_flow/for/ex5.claro @@ -0,0 +1,6 @@ +for (e in [1, 2, 3, 4, 5]) { + if (e == 3) { + break; + } + print(e); +} \ No newline at end of file diff --git a/control_flow/for/ex6.claro b/control_flow/for/ex6.claro new file mode 100644 index 00000000..b54e264b --- /dev/null +++ b/control_flow/for/ex6.claro @@ -0,0 +1,6 @@ +for (e in [1, 2, 3, 4, 5]) { + if (e % 2 == 0) { + continue; + } + print(e); +} diff --git a/control_flow/for/for.generated_docs.html b/control_flow/for/for.generated_docs.html new file mode 100644 index 00000000..90cd4429 --- /dev/null +++ b/control_flow/for/for.generated_docs.html @@ -0,0 +1,348 @@ + + + + + + For - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

For Loops

+

For loops in Claro are closely analogous to Java's +"enhanced for-loops". +They enable you to easily iterate over the elements of a collection.

+

For Loop Over Lists

+

Fig 1:

+
+
for (e in [1, 2, 3, 4, 5]) {
+    print(e);
+}
+
+

Output:

+
1
+2
+3
+4
+5
+
+
+

For Loop Over Sets

+

Fig 2:

+
+
for (e in {1, 2, 3}) {
+  print(e);
+}
+
+

Output:

+
1
+2
+3
+
+
+

For Loop Over Maps

+

Iterating over the elements of a map of type {K: V} using the for-loop construct will yield a loop variable whose type +is tuple<K, V>:

+

Fig 3:

+
+
for (e in {'a': 1, 'b': 2, 'c': 3}) {
+  print("Key: {e[0]} - Val: {e[1]}");
+}
+
+

Output:

+
Key: a - Val: 1
+Key: b - Val: 2
+Key: c - Val: 3
+
+
+

Note 1:

+
+For loops over tuples are not currently supported as it's unclear what the appropriate behavior would be iterating over +a collection of heterogeneous types. It's possible that in the future support may be added for a loop variable whose +type is oneof<...all unique types in the tuple...> but there are no current plans for prioritizing this. +
+

Note 2:

+
+Possible use of an uninitialized variable is a compile-time error: +
+

Fig 4:

+
+
random::create()
+  |> random::nextNonNegativeBoundedInt(^, 10)
+  |> var r = ^;
+var l: mut [int] = mut [];
+while (r-- > 0) {
+  lists::add(l, r);
+}
+
+var s: int;
+for (elem in l) {  # <-- `l` could be empty.
+    s = elem;
+}
+print(s);
+
+

Compilation Errors:

+
for_EX4_example.claro:13: Variable <s> may not have been initialized!
+print(s);
+      ^
+Warning! The following declared symbols are unused! [s]
+2 Errors
+
+
+

Exiting a For Loop Early

+

You can exit a loop early by using the break keyword as below.

+

Fig 5:

+
+
for (e in [1, 2, 3, 4, 5]) {
+    if (e == 3) {
+      break;
+    }
+    print(e);
+}
+
+

Output:

+
1
+2
+
+
+

Skipping to the Next Iteration of the For Loop

+

You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below.

+

Fig 6:

+
+
for (e in [1, 2, 3, 4, 5]) {
+    if (e % 2 == 0) {
+      continue;
+    }
+    print(e);
+}
+
+

Output:

+
1
+3
+5
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/if_else/BUILD b/control_flow/if_else/BUILD new file mode 100644 index 00000000..76aaac35 --- /dev/null +++ b/control_flow/if_else/BUILD @@ -0,0 +1,13 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "if_else", + doc_template = "if_else.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "ex2.claro", + "expect_errors": True, + }, + ], +) diff --git a/control_flow/if_else/ex1.claro b/control_flow/if_else/ex1.claro new file mode 100644 index 00000000..95e25840 --- /dev/null +++ b/control_flow/if_else/ex1.claro @@ -0,0 +1,13 @@ +var rng = random::forSeed(1); +var r = random::nextNonNegativeBoundedInt(rng, 100); + +var s: string; +if (r < 33) { # Curly braces are mandatory. + s = "small"; +} else if (r < 66) { + s = "medium"; +} else { + s = "large"; +} + +print(s); # Prints "small", "medium", or "large". \ No newline at end of file diff --git a/control_flow/if_else/ex2.claro b/control_flow/if_else/ex2.claro new file mode 100644 index 00000000..aabee374 --- /dev/null +++ b/control_flow/if_else/ex2.claro @@ -0,0 +1,11 @@ +var rng = random::forSeed(1); +var r = random::nextNonNegativeBoundedInt(rng, 100); + +var s: string; +if (r < 33) { + s = "red"; +} else if (r < 66) { + s = "green"; +} + +print(s); # `s` is uninitialized if r >= 66. \ No newline at end of file diff --git a/control_flow/if_else/if_else.generated_docs.html b/control_flow/if_else/if_else.generated_docs.html new file mode 100644 index 00000000..2051b7ef --- /dev/null +++ b/control_flow/if_else/if_else.generated_docs.html @@ -0,0 +1,281 @@ + + + + + + If-Else - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

If-Else

+

Fig 1:

+
+
var rng = random::forSeed(1);
+var r = random::nextNonNegativeBoundedInt(rng, 100);
+
+var s: string;
+if (r < 33) { # Curly braces are mandatory.
+    s = "small";
+} else if (r < 66) {
+    s = "medium";
+} else {
+    s = "large";
+}
+
+print(s); # Prints "small", "medium", or "large".
+
+

Output:

+
large
+
+
+
+Possible use of an uninitialized variable is a compile-time error: +
+

Fig 2:

+
+
var rng = random::forSeed(1);
+var r = random::nextNonNegativeBoundedInt(rng, 100);
+
+var s: string;
+if (r < 33) {
+    s = "red";
+} else if (r < 66) {
+    s = "green";
+}
+
+print(s); # `s` is uninitialized if r >= 66.
+
+

Compilation Errors:

+
if_else_EX2_example.claro:11: Variable <s> may not have been initialized!
+print(s); # `s` is uninitialized if r >= 66.
+      ^
+Warning! The following declared symbols are unused! [s]
+2 Errors
+
+
+

Note: Claro's error messaging is a work in progress - the above error message will be improved.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/match/BUILD b/control_flow/match/BUILD new file mode 100644 index 00000000..270a9159 --- /dev/null +++ b/control_flow/match/BUILD @@ -0,0 +1,25 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "match", + doc_template = "match.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "append_output": False, + }, + { + "example": "ex3.claro", + "append_output": False, + }, + "ex4.claro", + { + "example": "ex5.claro", + "expect_errors": True, + }, + ], +) diff --git a/control_flow/match/ex1.claro b/control_flow/match/ex1.claro new file mode 100644 index 00000000..0d2f3dc0 --- /dev/null +++ b/control_flow/match/ex1.claro @@ -0,0 +1,12 @@ +$$var x = 2; +$$ +var sizeStr: string; +if (x <= 1) { + sizeStr = "small"; +} else if (x == 2) { + sizeStr = "medium"; +} else { + sizeStr = "large"; +} +$$ +$$print(sizeStr); \ No newline at end of file diff --git a/control_flow/match/ex2.claro b/control_flow/match/ex2.claro new file mode 100644 index 00000000..b15995be --- /dev/null +++ b/control_flow/match/ex2.claro @@ -0,0 +1,10 @@ +$$var x = 2; +$$ +var sizeStr: string; +match (x) { + case 1 -> sizeStr = "small"; + case 2 -> sizeStr = "medium"; + case _ -> sizeStr = "large"; +} +$$ +$$print(sizeStr); diff --git a/control_flow/match/ex3.claro b/control_flow/match/ex3.claro new file mode 100644 index 00000000..35debe87 --- /dev/null +++ b/control_flow/match/ex3.claro @@ -0,0 +1,10 @@ +$$var x = 2; +$$ +$$var sizeStr: string; +$$match (x) { +$$ case 1 -> sizeStr = "small"; +$$ case 2 -> sizeStr = "medium"; + case _ -> sizeStr = "large"; +$$} +$$ +$$print(sizeStr); diff --git a/control_flow/match/ex4.claro b/control_flow/match/ex4.claro new file mode 100644 index 00000000..9898cf20 --- /dev/null +++ b/control_flow/match/ex4.claro @@ -0,0 +1,14 @@ +$$var x = 2; +$$ +$$var sizeStr: string; +$$match (x) { +$$ case 1 -> +$$ sizeStr = "small"; + case 2 -> + print("More than one line of code is valid."); + sizeStr = "medium"; +$$ case _ -> +$$ sizeStr = "large"; +$$} +$$ +$$print(sizeStr); diff --git a/control_flow/match/ex5.claro b/control_flow/match/ex5.claro new file mode 100644 index 00000000..4579d4a3 --- /dev/null +++ b/control_flow/match/ex5.claro @@ -0,0 +1,7 @@ +var x = # ... +$$ 2; +match (2) { + case x -> print("Matched variable {x}"); + case 1 -> print("1!"); + case _ -> print("default!"); +} \ No newline at end of file diff --git a/control_flow/match/exhaustiveness_checks/BUILD b/control_flow/match/exhaustiveness_checks/BUILD new file mode 100644 index 00000000..c9f59848 --- /dev/null +++ b/control_flow/match/exhaustiveness_checks/BUILD @@ -0,0 +1,18 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "exhaustiveness_checks", + doc_template = "exhaustiveness_checks.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "expect_errors": True, + }, + "ex2.claro", + { + "example": "ex3.claro", + "expect_errors": True, + }, + "ex4.claro", + ], +) diff --git a/control_flow/match/exhaustiveness_checks/ex1.claro b/control_flow/match/exhaustiveness_checks/ex1.claro new file mode 100644 index 00000000..69ac5ee1 --- /dev/null +++ b/control_flow/match/exhaustiveness_checks/ex1.claro @@ -0,0 +1,13 @@ +$$atom Red +$$atom Yellow +$$atom Green +$$ +var lightColor: oneof = Green; + +var lightColorStr: string; +match (lightColor) { + case _:Red -> lightColorStr = "red"; + case _:Yellow -> lightColorStr = "yellow"; +} + +print(lightColorStr); diff --git a/control_flow/match/exhaustiveness_checks/ex2.claro b/control_flow/match/exhaustiveness_checks/ex2.claro new file mode 100644 index 00000000..b80ccce0 --- /dev/null +++ b/control_flow/match/exhaustiveness_checks/ex2.claro @@ -0,0 +1,14 @@ +$$atom Red +$$atom Yellow +$$atom Green +$$ +var lightColor: oneof = Green; + +var lightColorStr: string; +match (lightColor) { + case _:Red -> lightColorStr = "red"; + case _:Yellow -> lightColorStr = "yellow"; + case _:Green -> lightColorStr = "green"; +} + +print(lightColorStr); diff --git a/control_flow/match/exhaustiveness_checks/ex3.claro b/control_flow/match/exhaustiveness_checks/ex3.claro new file mode 100644 index 00000000..b29e7c34 --- /dev/null +++ b/control_flow/match/exhaustiveness_checks/ex3.claro @@ -0,0 +1,11 @@ +newtype Foo : T +var myStruct2 = {a = {x = 1, y = "ninety-nine"}, z = Foo(true)}; + +match (Foo(myStruct2)) { + case Foo({a = {x = 1, y = "two"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = \"two\"}, z = Foo(false)})"); + case Foo({a = {x = 3, y = "zero"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"zero\"}, z = Foo(false)})"); + case Foo({a = {x = 1, y = _}, z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = _}, z = Foo(false)})"); + case Foo({a = {x = _, y = "two"}, z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = \"two\"}, z = Foo(false)})"); + case Foo({a = A, z = Foo(true)}) -> print("Foo(\{a = A, z = Foo(true)}) where A = {A}"); + case Foo({a = {x = 3, y = "six"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"six\"}, z = Foo(false)})"); +} \ No newline at end of file diff --git a/control_flow/match/exhaustiveness_checks/ex4.claro b/control_flow/match/exhaustiveness_checks/ex4.claro new file mode 100644 index 00000000..4e74fc3c --- /dev/null +++ b/control_flow/match/exhaustiveness_checks/ex4.claro @@ -0,0 +1,14 @@ +newtype Foo : T +var myStruct2 = {a = {x = 1, y = "ninety-nine"}, z = Foo(true)}; + +match (Foo(myStruct2)) { + case Foo({a = {x = 1, y = "two"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = \"two\"}, z = Foo(false)})"); + case Foo({a = {x = 3, y = "zero"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"zero\"}, z = Foo(false)})"); + case Foo({a = {x = 1, y = _}, z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = _}, z = Foo(false)})"); + case Foo({a = {x = _, y = "two"}, z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = \"two\"}, z = Foo(false)})"); + case Foo({a = A, z = Foo(true)}) -> print("Foo(\{a = A, z = Foo(true)}) where A = {A}"); + case Foo({a = {x = 3, y = "six"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"six\"}, z = Foo(false)})"); + + # Adding the case suggested by the prior error message. + case Foo({a = {x = _, y = _}, z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = _}, z = Foo(false)})"); +} \ No newline at end of file diff --git a/control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html b/control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html new file mode 100644 index 00000000..d2201597 --- /dev/null +++ b/control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html @@ -0,0 +1,342 @@ + + + + + + Static Exhaustiveness Checks - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Static Exhaustiveness Checks

+

Pattern Matching is not just convenient syntax sugar. By using a match statement instead of an if-else chain, +Claro is able to statically validate that every possible case is exhaustively handled by some case.

+

For example, the following match over a value of type oneof<Red, Yellow, Green> is missing a case to handle the +Green atom and Claro rejects the match at compile-time:

+

Fig 1:

+
+
atom Red
+atom Yellow
+atom Green
+
+var lightColor: oneof<Red, Yellow, Green> = Green;
+
+var lightColorStr: string;
+match (lightColor) {
+  case _:Red    -> lightColorStr = "red";
+  case _:Yellow -> lightColorStr = "yellow";
+}
+
+print(lightColorStr);
+
+

Compilation Errors:

+
exhaustiveness_checks_EX1_example.claro:8: Non-exhaustive Match: The given cases do not match every possible value of the matched type `oneof<Red, Yellow, Green>`.
+	For example the following case is unhandled:
+		case _:Green -> ...;
+	You can also ensure that all possible cases are being handled by adding a final fallback case as below:
+		case _ -> ...;
+match (lightColor) {
+       ^^^^^^^^^^
+1 Error
+
+
+

By following the suggestion in the error message above, we can fix the program:

+

Fig 2:

+
+
atom Red
+atom Yellow
+atom Green
+
+var lightColor: oneof<Red, Yellow, Green> = Green;
+
+var lightColorStr: string;
+match (lightColor) {
+  case _:Red    -> lightColorStr = "red";
+  case _:Yellow -> lightColorStr = "yellow";
+  case _:Green  -> lightColorStr = "green";
+}
+
+print(lightColorStr);
+
+

Output:

+
green
+
+
+

Non-Trivial Exhaustiveness Checks Example

+

The above example is fairly trivial, just validating that all oneof type variants are handled. However, Claro's +exhaustiveness checks are fairly sophisticated, and should be able to catch mistakes in much more complicated scenarios:

+

Fig 3:

+
+
newtype Foo<T> : T
+var myStruct2 = {a = {x = 1, y = "ninety-nine"}, z = Foo(true)};
+
+match (Foo(myStruct2)) {
+  case Foo({a = {x = 1, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = \"two\"},  z = Foo(false)})");
+  case Foo({a = {x = 3, y = "zero"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"zero\"}, z = Foo(false)})");
+  case Foo({a = {x = 1, y = _},      z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = _},        z = Foo(false)})");
+  case Foo({a = {x = _, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = \"two\"},  z = Foo(false)})");
+  case Foo({a = A,                   z = Foo(true)})  -> print("Foo(\{a = A, z = Foo(true)}) where A = {A}");
+  case Foo({a = {x = 3, y = "six"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"six\"},  z = Foo(false)})");
+}
+
+

Compilation Errors:

+
exhaustiveness_checks_EX3_example.claro:4: Non-exhaustive Match: The given cases do not match every possible value of the matched type `Foo<struct{a: struct{x: int, y: string}, z: Foo<boolean>}>`.
+	For example the following case is unhandled:
+		case Foo({a = {x = _, y = _}, z = Foo(false)}) -> ...;
+	You can also ensure that all possible cases are being handled by adding a final fallback case as below:
+		case _ -> ...;
+match (Foo(myStruct2)) {
+       ^^^^^^^^^^^^^^
+1 Error
+
+
+

Again, following the suggestion from the error message, we can fix the program:

+

Fig 4:

+
+
newtype Foo<T> : T
+var myStruct2 = {a = {x = 1, y = "ninety-nine"}, z = Foo(true)};
+
+match (Foo(myStruct2)) {
+  case Foo({a = {x = 1, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = \"two\"},  z = Foo(false)})");
+  case Foo({a = {x = 3, y = "zero"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"zero\"}, z = Foo(false)})");
+  case Foo({a = {x = 1, y = _},      z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = _},        z = Foo(false)})");
+  case Foo({a = {x = _, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = \"two\"},  z = Foo(false)})");
+  case Foo({a = A,                   z = Foo(true)})  -> print("Foo(\{a = A, z = Foo(true)}) where A = {A}");
+  case Foo({a = {x = 3, y = "six"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"six\"},  z = Foo(false)})");
+
+  # Adding the case suggested by the prior error message.
+  case Foo({a = {x = _, y = _},      z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = _},        z = Foo(false)})");
+}
+
+

Output:

+
Foo({a = A, z = Foo(true)}) where A = {x = 1, y = ninety-nine}
+
+
+

Note: Claro's suggestions for resolving non-exhaustiveness match statements are intelligent and reliable, but Claro +will only warn about a single missing case example at a time (even if there are multiple unhandled cases). You may have +to apply multiple suggestions in succession, but simply following the suggestions will definitely (eventually) lead to a +fully exhaustive match statement.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/match/match.generated_docs.html b/control_flow/match/match.generated_docs.html new file mode 100644 index 00000000..4350452b --- /dev/null +++ b/control_flow/match/match.generated_docs.html @@ -0,0 +1,353 @@ + + + + + + Pattern Matching - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Pattern Matching

+
+Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to +be addressed). More to come! +
+

In addition to the typical if-else style branching construct, Claro offers a more powerful construct called "Pattern +Matching". In its simplest form, Pattern Matching can simply be used as a more concise replacement for if-else chains.

+

Compare the following if-else chain:

+

Fig 1:

+
+
var x = 2;
+
+var sizeStr: string;
+if (x <= 1) {
+  sizeStr = "small";
+} else if (x == 2) {
+  sizeStr = "medium";
+} else {
+  sizeStr = "large";
+}
+
+print(sizeStr);
+
+
+

with the comparable match-statement:

+

Fig 2:

+
+
var x = 2;
+
+var sizeStr: string;
+match (x) {
+  case 1 -> sizeStr = "small";
+  case 2 -> sizeStr = "medium";
+  case _ -> sizeStr = "large";
+}
+
+print(sizeStr);
+
+
+

The match statement takes in a single expression of any type, to be compared against the given cases clauses in +order - the first one to successfully match is executed (there is no fallthrough like in a Java or C++ style switch).

+

"Default" Case

+

The example above makes use of a "default" case that will match anything that the cases preceding it didn't match.

+

Fig 3:

+
+
var x = 2;
+
+var sizeStr: string;
+match (x) {
+  case 1 -> sizeStr = "small";
+  case 2 -> sizeStr = "medium";
+  case _ -> sizeStr = "large";
+}
+
+print(sizeStr);
+
+
+

In the context of pattern matching, the _ token represents a "wildcard" pattern. Learn more about this in the +Wildcard Patterns section.

+

Multi-Statement Cases

+

When a case is matched, the associated code block following the -> and preceding the next case (or until the +overall closing }) will all be executed. This code block can contain any number of statements.

+

Fig 4:

+
+
var x = 2;
+
+var sizeStr: string;
+match (x) {
+  case 1 ->
+    sizeStr = "small";
+  case 2 ->
+    print("More than one line of code is valid.");
+    sizeStr = "medium";
+  case _ ->
+    sizeStr = "large";
+}
+
+print(sizeStr);
+
+

Output:

+
More than one line of code is valid.
+medium
+
+
+

Patterns Must Not Reference Existing Variables

+
+While this may seem like an arbitrary restriction, this is actually necessary in order to ensure that Claro's static +exhaustiveness and case reachability checks are actually guaranteed to be correct. Technically, it would be possible for +Claro to loosen this restriction, but this is a conscious, opinionated design choice to limit the number of special +cases to keep in mind when writing or reading a match statement. +
+

The following is invalid:

+

Fig 5:

+
+
var x = # ...
+ 2;
+match (2) {
+  case x -> print("Matched variable {x}");
+  case 1 -> print("1!");
+  case _ -> print("default!");
+}
+
+

Compilation Errors:

+
match_EX5_example.claro:4: Wildcard Binding Shadows Declared Variable: Names of wildcard bindings in Match case patterns must not shadow any already-declared variable in scope.
+  case x -> print("Matched variable {x}");
+       ^
+match_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.
+match (2) {
+       ^
+match_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.
+match (2) {
+       ^
+match_EX5_example.claro:3: Illegal Match Containing Multiple Default Cases: Each match block should contain at most one case matching the `_` wildcard.
+match (2) {
+       ^
+4 Errors
+
+
+

Note: Claro's error messaging is a work in progress - the above error message will be improved.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/match/structed_data/BUILD b/control_flow/match/structed_data/BUILD new file mode 100644 index 00000000..4f80475a --- /dev/null +++ b/control_flow/match/structed_data/BUILD @@ -0,0 +1,10 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "structured_data", + doc_template = "structured_data.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + ], +) diff --git a/control_flow/match/structed_data/ex1.claro b/control_flow/match/structed_data/ex1.claro new file mode 100644 index 00000000..525b9213 --- /dev/null +++ b/control_flow/match/structed_data/ex1.claro @@ -0,0 +1,10 @@ +var employee = {name = "Bob", title = "Intern"}; + +var permission: boolean; +match (employee) { + case {name = "Sarah", title = "Manager"} -> permission = true; + case {name = "Joe", title = "Manager"} -> permission = true; + case _ -> permission = false; +} + +print("Permission granted for {employee.name}?: {permission}"); \ No newline at end of file diff --git a/control_flow/match/structed_data/ex2.claro b/control_flow/match/structed_data/ex2.claro new file mode 100644 index 00000000..801883b3 --- /dev/null +++ b/control_flow/match/structed_data/ex2.claro @@ -0,0 +1,7 @@ +var player = {name = "Jason", currLoc = (1, 2)}; + +match (player) { + case {name = "Sarah", currLoc = (3, 4)} -> print("Sarah wins!"); + case {name = "Jason", currLoc = (1, 2)} -> print("Jason wins!"); + case _ -> print("Keep playing..."); +} \ No newline at end of file diff --git a/control_flow/match/structed_data/structured_data.generated_docs.html b/control_flow/match/structed_data/structured_data.generated_docs.html new file mode 100644 index 00000000..09f13348 --- /dev/null +++ b/control_flow/match/structed_data/structured_data.generated_docs.html @@ -0,0 +1,275 @@ + + + + + + Matching Structured Data - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Matching Structured Data

+
+Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to +be addressed). More to come! +
+

Pattern Matching is much more than just a classic C-style switch statement. In particular, it can be used to match +arbitrarily structured data.

+

Fig 1:

+
+
var employee = {name = "Bob", title = "Intern"};
+
+var permission: boolean;
+match (employee) {
+  case {name = "Sarah", title = "Manager"} -> permission = true;
+  case {name = "Joe",   title = "Manager"} -> permission = true;
+  case _                                   -> permission = false;
+}
+
+print("Permission granted for {employee.name}?: {permission}");
+
+

Output:

+
Permission granted for Bob?: false
+
+
+

Matching Arbitrarily Nested Structured Types

+

Claro supports pattern matching over arbitrary (i.e. tuple<...> and struct{...}) structured types as their +structures are fully known at compile time.

+

Fig 2:

+
+
var player = {name = "Jason", currLoc = (1, 2)};
+
+match (player) {
+  case {name = "Sarah", currLoc = (3, 4)} -> print("Sarah wins!");
+  case {name = "Jason", currLoc = (1, 2)} -> print("Jason wins!");
+  case _                                  -> print("Keep playing...");
+}
+
+

Output:

+
Jason wins!
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/match/wildcards/BUILD b/control_flow/match/wildcards/BUILD new file mode 100644 index 00000000..04248799 --- /dev/null +++ b/control_flow/match/wildcards/BUILD @@ -0,0 +1,14 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "wildcards", + doc_template = "wildcards.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "ex2.claro", + "expect_errors": True, + }, + "ex3.claro", + ], +) diff --git a/control_flow/match/wildcards/ex1.claro b/control_flow/match/wildcards/ex1.claro new file mode 100644 index 00000000..cec899dd --- /dev/null +++ b/control_flow/match/wildcards/ex1.claro @@ -0,0 +1,17 @@ +newtype Square : int +newtype Rectangle : struct {height: int, width: int} +newtype Line : int + +consumer printShapeArea(shape: oneof) { + var area: int; + match (shape) { + case Rectangle({height = H:int, width = W:int}) -> area = H * W; + case Square(W:int) -> area = W * W; + case _ -> area = 0; + } + print("Area of {shape}: {area}"); +} + +printShapeArea(Square(2)); +printShapeArea(Rectangle({height = 10, width = 10})); +printShapeArea(Line(2)); diff --git a/control_flow/match/wildcards/ex2.claro b/control_flow/match/wildcards/ex2.claro new file mode 100644 index 00000000..6979e9ee --- /dev/null +++ b/control_flow/match/wildcards/ex2.claro @@ -0,0 +1,11 @@ +var t = (1, 2); +match (t) { + case (1, 3) -> # ... +$$ print("(1, 3)"); + case (_, 2) -> # ... +$$ print("(_, 2)"); + case (1, 2) -> # <-- This is unreachable. +$$ print("(1, 2)"); + case _ -> # ... +$$ print("_"); +} \ No newline at end of file diff --git a/control_flow/match/wildcards/ex3.claro b/control_flow/match/wildcards/ex3.claro new file mode 100644 index 00000000..59cf078a --- /dev/null +++ b/control_flow/match/wildcards/ex3.claro @@ -0,0 +1,7 @@ +var t = (1, 2); +match (t) { + case (1, 3) -> print("(1, 3)"); + case (1, 2) -> print("(1, 2)"); + case (_, 2) -> print("(_, 2)"); + case _ -> print("_"); +} \ No newline at end of file diff --git a/control_flow/match/wildcards/wildcards.generated_docs.html b/control_flow/match/wildcards/wildcards.generated_docs.html new file mode 100644 index 00000000..8aaed141 --- /dev/null +++ b/control_flow/match/wildcards/wildcards.generated_docs.html @@ -0,0 +1,309 @@ + + + + + + Wildcard Patterns - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Wildcard Patterns

+
+Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to +be addressed). More to come! +
+

The utility of Pattern Matching is dramatically increased by making use of wildcards. For example, they enable the below +match with cases that only specify partial matches and then bind matched values to a variable:

+

Fig 1:

+
+
newtype Square : int
+newtype Rectangle : struct {height: int, width: int}
+newtype Line : int
+
+consumer printShapeArea(shape: oneof<Square, Rectangle, Line>) {
+  var area: int;
+  match (shape) {
+    case Rectangle({height = H:int, width = W:int}) -> area = H * W;
+    case Square(W:int)                              -> area = W * W;
+    case _                                          -> area = 0;
+  }
+  print("Area of {shape}: {area}");
+}
+
+printShapeArea(Square(2));
+printShapeArea(Rectangle({height = 10, width = 10}));
+printShapeArea(Line(2));
+
+

Output:

+
Area of Square(2): 4
+Area of Rectangle({height = 10, width = 10}): 100
+Area of Line(2): 0
+
+
+

The syntax W:int is a "wildcard binding" that matches any int value and declares a variable that the int will be +assigned to in the case code block.

+

Case Ordering and Wildcards

+

Cases are semantically matched in the order that they appear in the source code. This means that it's possible to define +unreachable cases if the cases above already cover the pattern:

+

Note: Claro's error messaging is a work in progress - the below error message will be improved.

+

Fig 2:

+
+
var t = (1, 2);
+match (t) {
+  case (1, 3) -> # ...
+    print("(1, 3)");
+  case (_, 2) -> # ...
+    print("(_, 2)");
+  case (1, 2) -> # <-- This is unreachable.
+    print("(1, 2)");
+  case _      -> # ...
+    print("_");
+}
+
+

Compilation Errors:

+
wildcards_EX2_example.claro:2: Illegal Duplicate Match Case: All case patterns should be unique within a match block.
+match (t) {
+       ^
+1 Error
+
+
+

Simply changing the ordering of the cases above will fix this problem:

+

Fig 3:

+
+
var t = (1, 2);
+match (t) {
+  case (1, 3) -> print("(1, 3)");
+  case (1, 2) -> print("(1, 2)");
+  case (_, 2) -> print("(_, 2)");
+  case _      -> print("_");
+}
+
+

Output:

+
(1, 2)
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/pipes/BUILD b/control_flow/pipes/BUILD new file mode 100644 index 00000000..d6c23c72 --- /dev/null +++ b/control_flow/pipes/BUILD @@ -0,0 +1,7 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "pipes", + doc_template = "pipes.tmpl.md", + examples = ["ex1.claro", "ex2.claro", "ex3.claro", "ex4.claro"], +) diff --git a/control_flow/pipes/ex1.claro b/control_flow/pipes/ex1.claro new file mode 100644 index 00000000..69699ebd --- /dev/null +++ b/control_flow/pipes/ex1.claro @@ -0,0 +1,5 @@ +["Claro", "piping", "is", "so", "cool"] + |> [^[0], ^[len(^) - 1]] # <-- Get the first and last element of the list. + |> strings::join(" is damn ", ^) + |> "{^}! I'll say it again... {^}!!" # <-- Can backreference prev value more than once. + |> print(^); \ No newline at end of file diff --git a/control_flow/pipes/ex2.claro b/control_flow/pipes/ex2.claro new file mode 100644 index 00000000..7d23b575 --- /dev/null +++ b/control_flow/pipes/ex2.claro @@ -0,0 +1,10 @@ +# With piping, these temporary vars are unnecessary. +var nonPipingSource = ["Claro", "piping", "is", "so", "cool"]; + +var joinedTmp = + strings::join( + " is damn ", + [nonPipingSource[0], nonPipingSource[len(nonPipingSource) - 1]] + ); + +print("{joinedTmp}! I'll say it again... {joinedTmp}!!"); \ No newline at end of file diff --git a/control_flow/pipes/ex3.claro b/control_flow/pipes/ex3.claro new file mode 100644 index 00000000..807fa25b --- /dev/null +++ b/control_flow/pipes/ex3.claro @@ -0,0 +1,6 @@ +["Hello", "world!"] + |> [strings::toUpperCase(s) | s in ^] + |> strings::join(", ", ^) + |> var greeting = ^; + +print(greeting); \ No newline at end of file diff --git a/control_flow/pipes/ex4.claro b/control_flow/pipes/ex4.claro new file mode 100644 index 00000000..85bea26f --- /dev/null +++ b/control_flow/pipes/ex4.claro @@ -0,0 +1,7 @@ +var greeting = + strings::join( + ", ", + [strings::toUpperCase(s) | s in ["Hello", "world!"]] + ); + +print(greeting); \ No newline at end of file diff --git a/control_flow/pipes/pipes.generated_docs.html b/control_flow/pipes/pipes.generated_docs.html new file mode 100644 index 00000000..6fb109a5 --- /dev/null +++ b/control_flow/pipes/pipes.generated_docs.html @@ -0,0 +1,314 @@ + + + + + + Pipes - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Pipes

+

Piping is a control flow mechanism that is not common to all languages, but is truly just syntactic sugar (one of the +few pure-sugar features in the language). Piping gives you a mechanism to decompose deeply nested function calls into a +linear chain of operations that happen one after the other much like any other imperative code you're familiar with. The +main thing to know is that on each line beginning with the "pipe" operator |>, the token ^ (known as the +"backreference" operator) refers to the value of the expression before the pipe operator. It is intended that the ^ +operator, visually resembles an arrow pointing upwards to the value produced on the line above.

+

Fig 1:

+
+
["Claro", "piping", "is", "so", "cool"]
+  |> [^[0], ^[len(^) - 1]] # <-- Get the first and last element of the list.
+  |> strings::join(" is damn ", ^)
+  |> "{^}! I'll say it again... {^}!!"  # <-- Can backreference prev value more than once.
+  |> print(^);
+
+

Output:

+
Claro is damn cool! I'll say it again... Claro is damn cool!!
+
+
+

Compare to the alternative code without piping. Notice how use of piping in the above example even allows elimination of +multiple temporary variables - this is a powerful motivator for using pipelining as it's well known that naming is one +of the two hard problems in computer science:

+

Fig 2:

+
+
# With piping, these temporary vars are unnecessary.
+var nonPipingSource = ["Claro", "piping", "is", "so", "cool"];
+
+var joinedTmp =
+  strings::join(
+    " is damn ",
+    [nonPipingSource[0], nonPipingSource[len(nonPipingSource) - 1]]
+  );
+
+print("{joinedTmp}! I'll say it again... {joinedTmp}!!");
+
+

Output:

+
Claro is damn cool! I'll say it again... Claro is damn cool!!
+
+
+

Textually Linear Data Flow

+

It's worth noting that the primary motivation for pipelining support in Claro is to take what could otherwise be highly +nested procedure calls whose data flow conceptually runs "inside-out", and allow it to instead be written in a style +that has the data flowing in the same linear direction as the textual source code itself.

+

As such, Claro's pipelines introduce a concept of "source" and "sink". The "source" is the initial expression (data) +that conceptually "enters the pipeline" and the "sink" is some terminal statement that consumes the data that "comes out +of the end of the pipeline". This means that the pipeline's sink can be any valid Claro statement that uses the value +computed by the penultimate step in the pipeline.

+

Notice how the following variable assignment allows data to flow top-to-bottom in the same direction as the source code +is written textually:

+

Fig 3:

+
+
["Hello", "world!"]
+  |> [strings::toUpperCase(s) | s in ^]
+  |> strings::join(", ", ^)
+  |> var greeting = ^;
+
+print(greeting);
+
+

Output:

+
HELLO, WORLD!
+
+
+

whereas, very confusingly, the non-pipelining style has source code written top-to-bottom, but yet the data is +effectively flowing in a circuitous route from bottom-to-top and then back down again.

+

Fig 4:

+
+
var greeting =
+  strings::join(
+    ", ",
+    [strings::toUpperCase(s) | s in ["Hello", "world!"]]
+  );
+
+print(greeting);
+
+

Output:

+
HELLO, WORLD!
+
+
+

This may be something that we all get used to in other languages, but it's certainly an obstacle to readability +particularly for new programmers.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/repeat/BUILD b/control_flow/repeat/BUILD new file mode 100644 index 00000000..bf22edaf --- /dev/null +++ b/control_flow/repeat/BUILD @@ -0,0 +1,10 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "repeat", + doc_template = "repeat.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + ], +) diff --git a/control_flow/repeat/ex1.claro b/control_flow/repeat/ex1.claro new file mode 100644 index 00000000..1f3d2867 --- /dev/null +++ b/control_flow/repeat/ex1.claro @@ -0,0 +1,3 @@ +repeat (5) { + print("Repeating..."); +} \ No newline at end of file diff --git a/control_flow/repeat/ex2.claro b/control_flow/repeat/ex2.claro new file mode 100644 index 00000000..b63e4aa0 --- /dev/null +++ b/control_flow/repeat/ex2.claro @@ -0,0 +1,5 @@ +var loopCount = random::nextNonNegativeBoundedInt(random::create(), 10); + +repeat (loopCount) { + print("Repeating..."); +} \ No newline at end of file diff --git a/control_flow/repeat/repeat.generated_docs.html b/control_flow/repeat/repeat.generated_docs.html new file mode 100644 index 00000000..8f71c6d8 --- /dev/null +++ b/control_flow/repeat/repeat.generated_docs.html @@ -0,0 +1,269 @@ + + + + + + Repeat - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Repeat Loops

+

Repeat loops in Claro enable you to easily repeat a task some number of times:

+

Fig 1:

+
+
repeat (5) {
+    print("Repeating...");
+}
+
+

Output:

+
Repeating...
+Repeating...
+Repeating...
+Repeating...
+Repeating...
+
+
+

The loop count can be computed at runtime:

+

Fig 2:

+
+
var loopCount = random::nextNonNegativeBoundedInt(random::create(), 10);
+
+repeat (loopCount) {
+    print("Repeating...");
+}
+
+

Output:

+
Repeating...
+Repeating...
+Repeating...
+Repeating...
+Repeating...
+Repeating...
+Repeating...
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/control_flow/while/BUILD b/control_flow/while/BUILD new file mode 100644 index 00000000..289ae63f --- /dev/null +++ b/control_flow/while/BUILD @@ -0,0 +1,15 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "while", + doc_template = "while.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + "ex3.claro", + { + "example": "ex4.claro", + "expect_errors": True, + } + ], +) diff --git a/control_flow/while/ex1.claro b/control_flow/while/ex1.claro new file mode 100644 index 00000000..62d3892a --- /dev/null +++ b/control_flow/while/ex1.claro @@ -0,0 +1,4 @@ +var i = 0; +while (i < 10) { + print(i++); +} \ No newline at end of file diff --git a/control_flow/while/ex2.claro b/control_flow/while/ex2.claro new file mode 100644 index 00000000..ed982417 --- /dev/null +++ b/control_flow/while/ex2.claro @@ -0,0 +1,7 @@ +var i = 0; +while (i < 10) { + if (i == 5) { + break; + } + print(i++); +} diff --git a/control_flow/while/ex3.claro b/control_flow/while/ex3.claro new file mode 100644 index 00000000..c5e1dd13 --- /dev/null +++ b/control_flow/while/ex3.claro @@ -0,0 +1,8 @@ +var i = 0; +while (i < 10) { + if (i % 2 == 0) { + ++i; + continue; + } + print(i++); +} diff --git a/control_flow/while/ex4.claro b/control_flow/while/ex4.claro new file mode 100644 index 00000000..8b1e1d52 --- /dev/null +++ b/control_flow/while/ex4.claro @@ -0,0 +1,5 @@ +var s: string; +while (input("Should `s` be initialized? (Y/n)") == "Y") { + s = input("Enter the value for `s`:"); +} +print(s); \ No newline at end of file diff --git a/control_flow/while/while.generated_docs.html b/control_flow/while/while.generated_docs.html new file mode 100644 index 00000000..86f30c9e --- /dev/null +++ b/control_flow/while/while.generated_docs.html @@ -0,0 +1,315 @@ + + + + + + While - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

While Loops

+

Fig 1:

+
+
var i = 0;
+while (i < 10) {
+    print(i++);
+}
+
+

Output:

+
0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+
+
+
+Possible use of an uninitialized variable is a compile-time error: +
+

Fig 4:

+
+
var s: string;
+while (input("Should `s` be initialized? (Y/n)") == "Y") {
+    s = input("Enter the value for `s`:");
+}
+print(s);
+
+

Compilation Errors:

+
while_EX4_example.claro:5: Variable <s> may not have been initialized!
+print(s);
+      ^
+Warning! The following declared symbols are unused! [s]
+2 Errors
+
+
+

Exiting a While Loop Early

+

You can exit a loop early by using the break keyword as below.

+

Fig 2:

+
+
var i = 0;
+while (i < 10) {
+    if (i == 5) {
+      break;
+    }
+    print(i++);
+}
+
+

Output:

+
0
+1
+2
+3
+4
+
+
+

Skipping to the Next Iteration of the While Loop

+

You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below.

+

Fig 3:

+
+
var i = 0;
+while (i < 10) {
+    if (i % 2 == 0) {
+      ++i;
+      continue;
+    }
+    print(i++);
+}
+
+

Output:

+
1
+3
+5
+7
+9
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/copying/BUILD b/copying/BUILD new file mode 100644 index 00000000..9f49ff45 --- /dev/null +++ b/copying/BUILD @@ -0,0 +1,10 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "copying", + doc_template = "copying.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + ], +) diff --git a/copying/copying.generated_docs.html b/copying/copying.generated_docs.html new file mode 100644 index 00000000..2e4970f2 --- /dev/null +++ b/copying/copying.generated_docs.html @@ -0,0 +1,294 @@ + + + + + + Copying Data - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Copying Data

+

In the course of writing software, it can be very common that you'll need to copy some data. In particular, when dealing +with collections that are either themselves mutable, or contain mutable elements, copying can be needed so that one copy +of the data can be updated while leaving the other unchanged.

+

However, you may find that many languages (e.g. Java/C++) make this extremely simple task prohibitively difficult +requiring planning ahead to explicitly implement copying support on every data type that you think you'll want to copy +in the future. To address this, Claro supports deep copying out-of-the-box with the builtin copy(...) function.

+

Fig 1:

+
+
var l = mut [1, 2, 3];
+var myCopy = copy(l);
+
+print("Before update:");
+print("l:      {l}");
+print("myCopy: {myCopy}");
+
+myCopy[2] = -99999;
+
+print("\nAfter update:");
+print("l:      {l}");
+print("myCopy: {myCopy}");
+
+

Output:

+
Before update:
+l:      mut [1, 2, 3]
+myCopy: mut [1, 2, 3]
+
+After update:
+l:      mut [1, 2, 3]
+myCopy: mut [1, 2, -99999]
+
+
+

Deep Copying

+

Claro's builtin copy(...) function performs a deep copy, meaning that the entire nested structure is traversed +and copied (as needed). The below example copies some nested data and demonstrates that the resulting internal data can +be mutated in isolation:

+

Fig 2:

+
+
var original = {left = mut (1, [10]), right = (["aaa"], mut ["bbb"])};
+var copied = copy(original);
+
+print(original);
+print(copied);
+print("");
+
+copied.left[0] = -99;
+copied.right[1][0] = "MODIFIED";
+
+print(original);
+print(copied);
+print("");
+
+

Output:

+
{left = mut (1, [10]), right = ([aaa], mut [bbb])}
+{left = mut (1, [10]), right = ([aaa], mut [bbb])}
+
+{left = mut (1, [10]), right = ([aaa], mut [bbb])}
+{left = mut (-99, [10]), right = ([aaa], mut [MODIFIED])}
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/copying/ex1.claro b/copying/ex1.claro new file mode 100644 index 00000000..518c8545 --- /dev/null +++ b/copying/ex1.claro @@ -0,0 +1,12 @@ +var l = mut [1, 2, 3]; +var myCopy = copy(l); + +print("Before update:"); +print("l: {l}"); +print("myCopy: {myCopy}"); + +myCopy[2] = -99999; + +print("\nAfter update:"); +print("l: {l}"); +print("myCopy: {myCopy}"); \ No newline at end of file diff --git a/copying/ex2.claro b/copying/ex2.claro new file mode 100644 index 00000000..74f16f5b --- /dev/null +++ b/copying/ex2.claro @@ -0,0 +1,13 @@ +var original = {left = mut (1, [10]), right = (["aaa"], mut ["bbb"])}; +var copied = copy(original); + +print(original); +print(copied); +print(""); + +copied.left[0] = -99; +copied.right[1][0] = "MODIFIED"; + +print(original); +print(copied); +print(""); diff --git a/copying/known_bugs/BUILD b/copying/known_bugs/BUILD new file mode 100644 index 00000000..3cd99d7a --- /dev/null +++ b/copying/known_bugs/BUILD @@ -0,0 +1,11 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "known_bugs", + doc_template = "known_bugs.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + "ex3.claro", + ], +) diff --git a/copying/known_bugs/ex1.claro b/copying/known_bugs/ex1.claro new file mode 100644 index 00000000..78382b51 --- /dev/null +++ b/copying/known_bugs/ex1.claro @@ -0,0 +1,30 @@ +# This type is recursive (with int as its "bottom" to terminate recursion). +newtype ComplexData : oneof, {ComplexData}> + +function generateRandomComplexData(rng: random::RandomNumberGenerator, maxDepth: int) -> ComplexData { + # ... +$$ return generateRandomComplexData_impl(rng, 0, maxDepth); +} +$$ +$$function generateRandomComplexData_impl(rng: random::RandomNumberGenerator, currDepth: int, maxDepth: int) -> ComplexData { +$$ if (currDepth == maxDepth) { +$$ return ComplexData(-1); # Let's just avoid attempting to create some infinitely large data structure. +$$ } +$$ var next = lambda () -> ComplexData { return generateRandomComplexData_impl(rng, currDepth + 1, maxDepth); }; +$$ match (random::nextNonNegativeBoundedInt(rng, 3)) { +$$ case 0 -> # int +$$ return ComplexData(random::nextNonNegativeBoundedInt(rng, 100)); +$$ case 1 -> # tuple +$$ return ComplexData((next(), next())); +$$ case _ -> # {ComplexData} +$$ return ComplexData({next(), next(), next()}); +$$ } +$$} + +var someComplexData = generateRandomComplexData(random::forSeed(3), 3); +print(someComplexData); + +# KNOWN COMPILER BUG: CURRENTLY CLARO IS UNABLE TO CORRECTLY GENERATE COPY LOGIC OVER RECURSIVE TYPES! +# This currently causes the compiler to stack overflow. This will be resolved in a future release. +# var copied = copy(someComplexData); +# print(copied); diff --git a/copying/known_bugs/ex2.claro b/copying/known_bugs/ex2.claro new file mode 100644 index 00000000..752c1a1c --- /dev/null +++ b/copying/known_bugs/ex2.claro @@ -0,0 +1,13 @@ +var X = mut [99]; +var l1 = [X, X]; +var l2 = copy(l1); +print("l1: {l1}"); +print("l2: {l2}"); + +l1[0][0] = -1; +print("\nl1: {l1} # <-- Notice that both list elements have updated after a single write to the shared reference."); +print("l2: {l2}"); + +l2[0][0] = -2; +print("\nl1: {l1}"); +print("l2: {l2} # <-- This is arguably a bug. The shared reference was severed."); \ No newline at end of file diff --git a/copying/known_bugs/ex3.claro b/copying/known_bugs/ex3.claro new file mode 100644 index 00000000..d7e51233 --- /dev/null +++ b/copying/known_bugs/ex3.claro @@ -0,0 +1,17 @@ +newtype Foo : T + +initializers Foo { + # Calling this function should be the **only** way to get an instance of Foo. + function getFooForInts(ints: [int]) -> Foo<[int]> { + return Foo(ints); + } +} + +var original: Foo<[int]> = getFooForInts([0, 1, 2]); + +# The fact that this is somehow permitted is arguably a bug... why are you able +# to initialize a Foo without invoking the declared initializer?? This seems +# to break the semantic intent of declaring initializers to restrict the direct +# instantiation of user defined types to have to "go through the front door". +var coercedCopy: Foo = copy(original); +print(coercedCopy); \ No newline at end of file diff --git a/copying/known_bugs/known_bugs.generated_docs.html b/copying/known_bugs/known_bugs.generated_docs.html new file mode 100644 index 00000000..ee6f250e --- /dev/null +++ b/copying/known_bugs/known_bugs.generated_docs.html @@ -0,0 +1,350 @@ + + + + + + Known Copy Bugs - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Known copy(...) Bugs

+

Currently Claro's copy implementation suffers from two different implementation problems that will be resolved in a +future release. I'll describe them below just for the sake of clarity.

+
Please feel free to reach out if you'd like to help to address these bugs!
+

Compiler Stack Overflows on Copying Recursive Types

+

Currently, the Claro compiler doesn't do any special handling of recursively defined types, and so as it attempts to +generate code for an inlined copy of a recursive type, it ends up infinitely looping over the codegen phase.

+

Fig 1:

+
+
# This type is recursive (with int as its "bottom" to terminate recursion).
+newtype ComplexData : oneof<int, tuple<ComplexData, ComplexData>, {ComplexData}>
+
+function generateRandomComplexData(rng: random::RandomNumberGenerator, maxDepth: int) -> ComplexData {
+  # ...
+  return generateRandomComplexData_impl(rng, 0, maxDepth);
+}
+
+function generateRandomComplexData_impl(rng: random::RandomNumberGenerator, currDepth: int, maxDepth: int) -> ComplexData {
+  if (currDepth == maxDepth) {
+    return ComplexData(-1); # Let's just avoid attempting to create some infinitely large data structure.
+  }
+  var next = lambda () -> ComplexData { return generateRandomComplexData_impl(rng, currDepth + 1, maxDepth); };
+  match (random::nextNonNegativeBoundedInt(rng, 3)) {
+    case 0 -> # int
+      return ComplexData(random::nextNonNegativeBoundedInt(rng, 100));
+    case 1 -> # tuple<ComplexData, ComplexData>
+      return ComplexData((next(), next()));
+    case _ -> # {ComplexData}
+      return ComplexData({next(), next(), next()});
+  }
+}
+
+var someComplexData = generateRandomComplexData(random::forSeed(3), 3);
+print(someComplexData);
+
+# KNOWN COMPILER BUG: CURRENTLY CLARO IS UNABLE TO CORRECTLY GENERATE COPY LOGIC OVER RECURSIVE TYPES!
+#     This currently causes the compiler to stack overflow. This will be resolved in a future release.
+# var copied = copy(someComplexData);
+# print(copied);
+
+

Output:

+
ComplexData({ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(81), ComplexData(2), ComplexData(64)}), ComplexData({ComplexData(37), ComplexData(6), ComplexData((ComplexData(-1), ComplexData(-1)))})})
+
+
+

In the future, this will be fixed by statically identifying when a recursive type is being copied, and then generating +a custom copy function for that particular type that will actually recurse at runtime rather than at compile time. +Note, this will put the onus on the programmer to ensure that they never call copy(...) on any cyclical data +structure.

+

Generated Copy Logic Severs Shared References to Mutable Data

+

Potentially more nefarious than the previous bug, Claro's current copy implementation handles the copying of shared +references to mutable data in a way that is potentially likely to cause confusion or lead to bugs. A piece of nested +data that contains multiple fields of the same mutable type has the potential to contain shared references to the +same mutable value. This is a semantically meaningful feature, not just some esoteric feature of the low-level +memory layout. Mutation of this shared mutable data will be observable via each reference in the containing structure. +Problematically, when a copy is made, every single mutable value within the entire recursive structure will be +guaranteed to have a single, unique reference. This may be a useful guarantee in some contexts, but I believe that this +goes against Claro's goals of being as unsurprising as possible.

+

The copied data should have the exact same semantics as the original data that it was derived from, but in this one +subtle way that is not currently the case. This will be fixed in a future release.

+

Fig 2:

+
+
var X = mut [99];
+var l1 = [X, X];
+var l2 = copy(l1);
+print("l1: {l1}");
+print("l2: {l2}");
+
+l1[0][0] = -1;
+print("\nl1: {l1}  # <-- Notice that both list elements have updated after a single write to the shared reference.");
+print("l2: {l2}");
+
+l2[0][0] = -2;
+print("\nl1: {l1}");
+print("l2: {l2}  # <-- This is arguably a bug. The shared reference was severed.");
+
+

Output:

+
l1: [mut [99], mut [99]]
+l2: [mut [99], mut [99]]
+
+l1: [mut [-1], mut [-1]]  # <-- Notice that both list elements have updated after a single write to the shared reference.
+l2: [mut [99], mut [99]]
+
+l1: [mut [-1], mut [-1]]
+l2: [mut [-2], mut [99]]  # <-- This is arguably a bug. The shared reference was severed.
+
+
+

Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions

+

User Defined Types support the declaration of initializers that restrict the usage of the type's default constructor +to only the procedures defined within the initializers block. Claro's builtin copy(...) currently provides a +backdoor to initialize and instance of a user defined type without actually using one its initializers.

+

This is fortunately of limited impact as the worst thing a user can do is create instances with a mutability declaration +that the type would otherwise not support. But regardless, this will be addressed in a future release.

+

Fig 3:

+
+
newtype Foo<T> : T
+
+initializers Foo {
+  # Calling this function should be the **only** way to get an instance of Foo<T>.
+  function getFooForInts(ints: [int]) -> Foo<[int]> {
+    return Foo(ints);
+  }
+}
+
+var original: Foo<[int]> = getFooForInts([0, 1, 2]);
+
+# The fact that this is somehow permitted is arguably a bug... why are you able
+# to initialize a Foo<T> without invoking the declared initializer?? This seems
+# to break the semantic intent of declaring initializers to restrict the direct
+# instantiation of user defined types to have to "go through the front door".
+var coercedCopy: Foo<mut [int]> = copy(original);
+print(coercedCopy);
+
+

Output:

+
Foo(mut [0, 1, 2])
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/copying/mutability_coercion/BUILD b/copying/mutability_coercion/BUILD new file mode 100644 index 00000000..aa461dbc --- /dev/null +++ b/copying/mutability_coercion/BUILD @@ -0,0 +1,15 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "mutability_coercion", + doc_template = "mutability_coercion.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "ex2.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + "ex3.claro", + ], +) diff --git a/copying/mutability_coercion/ex1.claro b/copying/mutability_coercion/ex1.claro new file mode 100644 index 00000000..61c49207 --- /dev/null +++ b/copying/mutability_coercion/ex1.claro @@ -0,0 +1,32 @@ +var original = mut [[1, 2, 3], [4, 5], [6]]; +var coercedCopy: [mut [int]] = copy(original); +type(coercedCopy); +print("Elements of `coercedCopy` match `original`?: {checkElementsMatch(original, coercedCopy)}\n"); + +# Now demonstrate that the lists are now independent. +print("Before mutation -"); +print("original: {original}"); +print("coercedCopy: {coercedCopy}\n"); + +original[0] = [-11111111]; +coercedCopy[0][0] = -22222222; # <-- Outer list is now immutable, so modifying now mutable inner list. + +print("After mutation -"); +print("original: {original}"); +print("coercedCopy: {coercedCopy}"); + +function checkElementsMatch(original: mut [[int]], coercedCopy: [mut [int]]) -> boolean { + # ... +$$ var i = 0; +$$ while (i < len(original)) { +$$ var j = 0; +$$ while (j < len(original[i])) { +$$ if (original[i][j] != coercedCopy[i][j]) { +$$ return false; +$$ } +$$ ++j; +$$ } +$$ ++i; +$$ } +$$ return true; +} diff --git a/copying/mutability_coercion/ex2.claro b/copying/mutability_coercion/ex2.claro new file mode 100644 index 00000000..69d6a5a5 --- /dev/null +++ b/copying/mutability_coercion/ex2.claro @@ -0,0 +1,2 @@ +# There's nothing that can possibly be done to make Foo wrap a mutable list. +newtype Foo : [T] \ No newline at end of file diff --git a/copying/mutability_coercion/ex3.claro b/copying/mutability_coercion/ex3.claro new file mode 100644 index 00000000..6c662325 --- /dev/null +++ b/copying/mutability_coercion/ex3.claro @@ -0,0 +1,10 @@ +newtype Foo : [T] + +var original: Foo> = Foo([mut ("original", 1)]); +var coercedCopy: Foo> = copy(original); + +unwrap(original)[0][0] = "UPDATED"; +unwrap(original)[0][1] = 2; + +print("original: {original}"); +print("coercedCopy: {coercedCopy}"); \ No newline at end of file diff --git a/copying/mutability_coercion/mutability_coercion.generated_docs.html b/copying/mutability_coercion/mutability_coercion.generated_docs.html new file mode 100644 index 00000000..5c26fec1 --- /dev/null +++ b/copying/mutability_coercion/mutability_coercion.generated_docs.html @@ -0,0 +1,325 @@ + + + + + + Mutability Coercion on Copy - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Mutability Coercion on Copy

+

Claro's builtin copy(...) function supports the ability to coerce the mutability of the data being copied. This is +primarily a matter of convenience to, in as many cases as possible, avoid Claro programmers to needing to manually write +custom copy implementations.

+

In order to convey that a mutability coercion is being requested, the return type of the copy(...) call simply needs +to be constrained to some variant of the original value's type with mutability annotations updated as desired. Claro +will automatically codegen the appropriate logic to perform the requested copying + coercion. Note that this feature +relies on compile-time knowledge to ensure that any coercions would not actually invalidate any language semantics or +violate type system rules.

+

In the below example, a mut [[int]] is copied, with the type simultaneously coerced to [mut [int]]:

+

Fig 1:

+
+
var original = mut [[1, 2, 3], [4, 5], [6]];
+var coercedCopy: [mut [int]] = copy(original);
+type(coercedCopy);
+print("Elements of `coercedCopy` match `original`?: {checkElementsMatch(original, coercedCopy)}\n");
+
+# Now demonstrate that the lists are now independent.
+print("Before mutation -");
+print("original:    {original}");
+print("coercedCopy: {coercedCopy}\n");
+
+original[0]       = [-11111111];
+coercedCopy[0][0] = -22222222;  # <-- Outer list is now immutable, so modifying now mutable inner list.
+
+print("After mutation -");
+print("original:    {original}");
+print("coercedCopy: {coercedCopy}");
+
+function checkElementsMatch(original: mut [[int]], coercedCopy: [mut [int]]) -> boolean {
+  # ...
+  var i = 0;
+  while (i < len(original)) {
+    var j = 0;
+    while (j < len(original[i])) {
+      if (original[i][j] != coercedCopy[i][j]) {
+        return false;
+      }
+      ++j;
+    }
+    ++i;
+  }
+  return true;
+}
+
+

Output:

+
[mut [int]]
+Elements of `coercedCopy` match `original`?: true
+
+Before mutation -
+original:    mut [[1, 2, 3], [4, 5], [6]]
+coercedCopy: [mut [1, 2, 3], mut [4, 5], mut [6]]
+
+After mutation -
+original:    mut [[-11111111], [4, 5], [6]]
+coercedCopy: [mut [-22222222, 2, 3], mut [4, 5], mut [6]]
+
+
+

Mutability Coercion Can Apply to Type Parameters of a User Defined Type

+

It's worth noting explicitly that Claro's newtype declarations statically encode the mutability any collections they +happen to wrap. Claro's builtin copy(...) cannot be used to invalidate these explicit mutability declarations, +for example:

+

Fig 2:

+
+
# There's nothing that can possibly be done to make Foo<T> wrap a mutable list.
+newtype Foo<T> : [T]
+
+
+

However, parameterized User Defined Types may accept any concrete type in the place of the generic type parameter, and +Claro's builtin copy(...) function can be used to do mutability coercion on these values.

+

The below example demonstrates setting the concrete type T = mut tuple<string, int> meaning that Foo<T> originally +wraps the type [mut tuple<string, int>]. Then, upon copying the original value, the type is coerced to +T = tuple<string, int> resulting in Foo<T> wrapping the deeply immutable type [tuple<string, int>]:

+

Fig 3:

+
+
newtype Foo<T> : [T]
+
+var original: Foo<mut tuple<string, int>> = Foo([mut ("original", 1)]);
+var coercedCopy: Foo<tuple<string, int>> = copy(original);
+
+unwrap(original)[0][0] = "UPDATED";
+unwrap(original)[0][1] = 2;
+
+print("original:    {original}");
+print("coercedCopy: {coercedCopy}");
+
+

Output:

+
original:    Foo([mut (UPDATED, 2)])
+coercedCopy: Foo([(original, 1)])
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/copying/performance/BUILD b/copying/performance/BUILD new file mode 100644 index 00000000..058a2eba --- /dev/null +++ b/copying/performance/BUILD @@ -0,0 +1,16 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "performance", + doc_template = "performance.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "ex2.claro", + "deps": { + "duration": "@claro-lang//stdlib/time/duration:duration", + "instant": "@claro-lang//stdlib/time/instant:instant", + }, + }, + ], +) diff --git a/copying/performance/ex1.claro b/copying/performance/ex1.claro new file mode 100644 index 00000000..8fc34295 --- /dev/null +++ b/copying/performance/ex1.claro @@ -0,0 +1,5 @@ +var original = mut [[1, 2, 3], [4, 5], [6]]; +var copied = copy(original); + +print(original); +print(copied); \ No newline at end of file diff --git a/copying/performance/ex2.claro b/copying/performance/ex2.claro new file mode 100644 index 00000000..d13d3d0f --- /dev/null +++ b/copying/performance/ex2.claro @@ -0,0 +1,44 @@ +$$# Claro's list comprehension needs to support unused elem variable: [someExpr | _ in coll] +$$function discardFirst(a: A, b: B) -> B { +$$ _ = a; +$$ return b; +$$} +$$var numbers: mut [int] = mut []; +$$lists::ensureCapacity(numbers, 1000); +$$var i = 0; +$$while (i++ < 1000) { +$$ lists::add(numbers, i); +$$} +$$var GIANT_TEST_LIST: mut [[[int]]] = mut []; +$$repeat (100) { +$$ var innerList = [discardFirst(unused, [x | x in numbers]) | unused in numbers]; +$$ lists::add(GIANT_TEST_LIST, innerList); +$$} +$$ +# Compute the number of ints in the test list. +print("GIANT_TEST_LIST dimensions: {len(GIANT_TEST_LIST)}x{len(GIANT_TEST_LIST[0])}x{len(GIANT_TEST_LIST[0][0])}\n"); + +# Now, manually copy the test lest using list comprehension. +var firstTestStart = instant::now(); +var manuallyCopied = mut [[[x | x in l2] | l2 in l1] | l1 in GIANT_TEST_LIST]; +var firstTestEnd = instant::now(); + +# Now, copy using the builtin `copy(...)` function. +var secondTestStart = instant::now(); +var efficientlyCopied = copy(GIANT_TEST_LIST); +var secondTestEnd = instant::now(); + +# Let's see approximately how much time each took! +var MILLIS_PER_SECOND = 1000.0; +var NANOS_PER_SECOND = 1000000000.0; +duration::between(firstTestStart, firstTestEnd) + |> duration::toMillis(^) + |> print("Manual copy time: {^/MILLIS_PER_SECOND} seconds"); +duration::between(secondTestStart, secondTestEnd) + |> duration::toNanos(^) + |> print("Builtin copy time: {^/NANOS_PER_SECOND} seconds"); + +# Now just to really finish the demonstration, let's confirm that these copies actually contain equal elements to the +# giant copied list. +print("\nmanuallyCopied == GIANT_TEST_LIST: {manuallyCopied == GIANT_TEST_LIST}"); +print("efficientlyCopied == GIANT_TEST_LIST: {efficientlyCopied == GIANT_TEST_LIST}"); \ No newline at end of file diff --git a/copying/performance/performance.generated_docs.html b/copying/performance/performance.generated_docs.html new file mode 100644 index 00000000..6807116f --- /dev/null +++ b/copying/performance/performance.generated_docs.html @@ -0,0 +1,338 @@ + + + + + + Performance Optimizations - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Performance Optimizations

+

As Claro's builtin copy(...) performs a deep copy, performance becomes an important consideration when data can +become arbitrarily large (whether as a result of a deeply nested type or not). Fortunately, Claro is able to perform one +significant optimization that can have an incredible effect on the runtime performance of copying large data structures.

+

Claro's copy(...) is Aware of Mutability

+

The key observation that enables this performance optimization is that, as Claro does not expose a value's memory +location to users, if a piece of data is deeply-immutable (and in a few other situations that Claro takes advantage of), +there is no possible way to distinguish between the two situations below:

+
    +
  1. having equal values located at different addresses in memory
  2. +
  3. having "shared references" to the exact same value in memory
  4. +
+
+

Note: This exact same observation underpins Claro's "Fearless Concurrency" guarantees.

+

(TODO(steving) Link to section explicitly explaining the fact that Graph procedure inputs must be deeply immutable.)

+
+

Claro takes advantage of this fact to generate the most efficient possible code to copy the specific type in question. +It does so by eliminating any actual copying of deeply immutable data found nested anywhere within a copied value.

+

For example, take the below mutable list containing immutable lists. When it is copied, a new mutable list must +be initialized to represent the outer list so that the original and copied values may be mutated independently. However, +the internal immutable lists can just be referenced directly in the copied list (thus establishing what are known as +"shared references" to the underlying memory).

+

Fig 1:

+
+
var original = mut [[1, 2, 3], [4, 5], [6]];
+var copied = copy(original);
+
+print(original);
+print(copied);
+
+

Output:

+
mut [[1, 2, 3], [4, 5], [6]]
+mut [[1, 2, 3], [4, 5], [6]]
+
+
+

Demonstrating the Performance Win

+

Again, I'll reiterate that it's impossible to directly observe from Claro code itself that this optimization has taken +place as Claro doesn't provide any mechanism for actually checking a value's memory address. So, instead, I'll try to +demonstrate indirectly that this optimization must actually be occurring.

+

The below example sets up an experiment where a very large, nested list is populated and then copied twice. The first +copy is done manually using list comprehension. Then, the second copy uses the builtin copy(...). Each copy is timed +to get a sense of the impact of this optimization.

+

To make things interesting, the outermost level of the list is mutable so that the overall copy is not a no-op. +However, the performance gain comes from being able to avoid the unnecessary copies all of the inner lists.

+
+

Note: I'm not claiming that this is a real "benchmark" of any sort - just that this broadly demonstrates the claim.

+
+

Fig 2:

+
+
# Claro's list comprehension needs to support unused elem variable: [someExpr | _ in coll]
+function discardFirst<A,B>(a: A, b: B) -> B {
+  _ = a;
+  return b;
+}
+var numbers: mut [int] = mut [];
+lists::ensureCapacity(numbers, 1000);
+var i = 0;
+while (i++ < 1000) {
+  lists::add(numbers, i);
+}
+var GIANT_TEST_LIST: mut [[[int]]] = mut [];
+repeat (100) {
+  var innerList = [discardFirst(unused, [x | x in numbers]) | unused in numbers];
+  lists::add(GIANT_TEST_LIST, innerList);
+}
+
+# Compute the number of ints in the test list.
+print("GIANT_TEST_LIST dimensions: {len(GIANT_TEST_LIST)}x{len(GIANT_TEST_LIST[0])}x{len(GIANT_TEST_LIST[0][0])}\n");
+
+# Now, manually copy the test lest using list comprehension.
+var firstTestStart = instant::now();
+var manuallyCopied = mut [[[x | x in l2] | l2 in l1] | l1 in GIANT_TEST_LIST];
+var firstTestEnd = instant::now();
+
+# Now, copy using the builtin `copy(...)` function.
+var secondTestStart = instant::now();
+var efficientlyCopied = copy(GIANT_TEST_LIST);
+var secondTestEnd = instant::now();
+
+# Let's see approximately how much time each took!
+var MILLIS_PER_SECOND = 1000.0;
+var NANOS_PER_SECOND = 1000000000.0;
+duration::between(firstTestStart, firstTestEnd)
+  |> duration::toMillis(^)
+  |> print("Manual copy time:  {^/MILLIS_PER_SECOND} seconds");
+duration::between(secondTestStart, secondTestEnd)
+  |> duration::toNanos(^)
+  |> print("Builtin copy time: {^/NANOS_PER_SECOND} seconds");
+
+# Now just to really finish the demonstration, let's confirm that these copies actually contain equal elements to the
+# giant copied list.
+print("\nmanuallyCopied == GIANT_TEST_LIST:    {manuallyCopied == GIANT_TEST_LIST}");
+print("efficientlyCopied == GIANT_TEST_LIST: {efficientlyCopied == GIANT_TEST_LIST}");
+
+

Output:

+
GIANT_TEST_LIST dimensions: 100x1000x1000
+
+Manual copy time:  2.679 seconds
+Builtin copy time: 1.28E-4 seconds
+
+manuallyCopied == GIANT_TEST_LIST:    true
+efficientlyCopied == GIANT_TEST_LIST: true
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/css/chrome.css b/css/chrome.css new file mode 100644 index 00000000..8b78255d --- /dev/null +++ b/css/chrome.css @@ -0,0 +1,606 @@ +/* CSS for UI elements (a.k.a. chrome) */ + +@import 'variables.css'; + +html { + scrollbar-color: var(--scrollbar) var(--bg); +} +#searchresults a, +.content a:link, +a:visited, +a > .hljs { + color: var(--links); +} + +/* + body-container is necessary because mobile browsers don't seem to like + overflow-x on the body tag when there is a tag. +*/ +#body-container { + /* + This is used when the sidebar pushes the body content off the side of + the screen on small screens. Without it, dragging on mobile Safari + will want to reposition the viewport in a weird way. + */ + overflow-x: clip; +} + +/* Menu Bar */ + +#menu-bar, +#menu-bar-hover-placeholder { + z-index: 101; + margin: auto calc(0px - var(--page-padding)); +} +#menu-bar { + position: relative; + display: flex; + flex-wrap: wrap; + background-color: var(--bg); + border-block-end-color: var(--bg); + border-block-end-width: 1px; + border-block-end-style: solid; +} +#menu-bar.sticky, +.js #menu-bar-hover-placeholder:hover + #menu-bar, +.js #menu-bar:hover, +.js.sidebar-visible #menu-bar { + position: -webkit-sticky; + position: sticky; + top: 0 !important; +} +#menu-bar-hover-placeholder { + position: sticky; + position: -webkit-sticky; + top: 0; + height: var(--menu-bar-height); +} +#menu-bar.bordered { + border-block-end-color: var(--table-border-color); +} +#menu-bar i, #menu-bar .icon-button { + position: relative; + padding: 0 8px; + z-index: 10; + line-height: var(--menu-bar-height); + cursor: pointer; + transition: color 0.5s; +} +@media only screen and (max-width: 420px) { + #menu-bar i, #menu-bar .icon-button { + padding: 0 5px; + } +} + +.icon-button { + border: none; + background: none; + padding: 0; + color: inherit; +} +.icon-button i { + margin: 0; +} + +.right-buttons { + margin: 0 15px; +} +.right-buttons a { + text-decoration: none; +} + +.left-buttons { + display: flex; + margin: 0 5px; +} +.no-js .left-buttons button { + display: none; +} + +.menu-title { + display: inline-block; + font-weight: 200; + font-size: 2.4rem; + line-height: var(--menu-bar-height); + text-align: center; + margin: 0; + flex: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.js .menu-title { + cursor: pointer; +} + +.menu-bar, +.menu-bar:visited, +.nav-chapters, +.nav-chapters:visited, +.mobile-nav-chapters, +.mobile-nav-chapters:visited, +.menu-bar .icon-button, +.menu-bar a i { + color: var(--icons); +} + +.menu-bar i:hover, +.menu-bar .icon-button:hover, +.nav-chapters:hover, +.mobile-nav-chapters i:hover { + color: var(--icons-hover); +} + +/* Nav Icons */ + +.nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + + position: fixed; + top: 0; + bottom: 0; + margin: 0; + max-width: 150px; + min-width: 90px; + + display: flex; + justify-content: center; + align-content: center; + flex-direction: column; + + transition: color 0.5s, background-color 0.5s; +} + +.nav-chapters:hover { + text-decoration: none; + background-color: var(--theme-hover); + transition: background-color 0.15s, color 0.15s; +} + +.nav-wrapper { + margin-block-start: 50px; + display: none; +} + +.mobile-nav-chapters { + font-size: 2.5em; + text-align: center; + text-decoration: none; + width: 90px; + border-radius: 5px; + background-color: var(--sidebar-bg); +} + +/* Only Firefox supports flow-relative values */ +.previous { float: left; } +[dir=rtl] .previous { float: right; } + +/* Only Firefox supports flow-relative values */ +.next { + float: right; + right: var(--page-padding); +} +[dir=rtl] .next { + float: left; + right: unset; + left: var(--page-padding); +} + +/* Use the correct buttons for RTL layouts*/ +[dir=rtl] .previous i.fa-angle-left:before {content:"\f105";} +[dir=rtl] .next i.fa-angle-right:before { content:"\f104"; } + +@media only screen and (max-width: 1080px) { + .nav-wide-wrapper { display: none; } + .nav-wrapper { display: block; } +} + +/* sidebar-visible */ +@media only screen and (max-width: 1380px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wide-wrapper { display: none; } + #sidebar-toggle-anchor:checked ~ .page-wrapper .nav-wrapper { display: block; } +} + +/* Inline code */ + +:not(pre) > .hljs { + display: inline; + padding: 0.1em 0.3em; + border-radius: 3px; +} + +:not(pre):not(a) > .hljs { + color: var(--inline-code-color); + overflow-x: initial; +} + +a:hover > .hljs { + text-decoration: underline; +} + +pre { + position: relative; +} +pre > .buttons { + position: absolute; + z-index: 100; + right: 0px; + top: 2px; + margin: 0px; + padding: 2px 0px; + + color: var(--sidebar-fg); + cursor: pointer; + visibility: hidden; + opacity: 0; + transition: visibility 0.1s linear, opacity 0.1s linear; +} +pre:hover > .buttons { + visibility: visible; + opacity: 1 +} +pre > .buttons :hover { + color: var(--sidebar-active); + border-color: var(--icons-hover); + background-color: var(--theme-hover); +} +pre > .buttons i { + margin-inline-start: 8px; +} +pre > .buttons button { + cursor: inherit; + margin: 0px 5px; + padding: 3px 5px; + font-size: 14px; + + border-style: solid; + border-width: 1px; + border-radius: 4px; + border-color: var(--icons); + background-color: var(--theme-popup-bg); + transition: 100ms; + transition-property: color,border-color,background-color; + color: var(--icons); +} +@media (pointer: coarse) { + pre > .buttons button { + /* On mobile, make it easier to tap buttons. */ + padding: 0.3rem 1rem; + } + + .sidebar-resize-indicator { + /* Hide resize indicator on devices with limited accuracy */ + display: none; + } +} +pre > code { + display: block; + padding: 1rem; +} + +/* FIXME: ACE editors overlap their buttons because ACE does absolute + positioning within the code block which breaks padding. The only solution I + can think of is to move the padding to the outer pre tag (or insert a div + wrapper), but that would require fixing a whole bunch of CSS rules. +*/ +.hljs.ace_editor { + padding: 0rem 0rem; +} + +pre > .result { + margin-block-start: 10px; +} + +/* Search */ + +#searchresults a { + text-decoration: none; +} + +mark { + border-radius: 2px; + padding-block-start: 0; + padding-block-end: 1px; + padding-inline-start: 3px; + padding-inline-end: 3px; + margin-block-start: 0; + margin-block-end: -1px; + margin-inline-start: -3px; + margin-inline-end: -3px; + background-color: var(--search-mark-bg); + transition: background-color 300ms linear; + cursor: pointer; +} + +mark.fade-out { + background-color: rgba(0,0,0,0) !important; + cursor: auto; +} + +.searchbar-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} + +#searchbar { + width: 100%; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: auto; + margin-inline-end: auto; + padding: 10px 16px; + transition: box-shadow 300ms ease-in-out; + border: 1px solid var(--searchbar-border-color); + border-radius: 3px; + background-color: var(--searchbar-bg); + color: var(--searchbar-fg); +} +#searchbar:focus, +#searchbar.active { + box-shadow: 0 0 3px var(--searchbar-shadow-color); +} + +.searchresults-header { + font-weight: bold; + font-size: 1em; + padding-block-start: 18px; + padding-block-end: 0; + padding-inline-start: 5px; + padding-inline-end: 0; + color: var(--searchresults-header-fg); +} + +.searchresults-outer { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); + border-block-end: 1px dashed var(--searchresults-border-color); +} + +ul#searchresults { + list-style: none; + padding-inline-start: 20px; +} +ul#searchresults li { + margin: 10px 0px; + padding: 2px; + border-radius: 2px; +} +ul#searchresults li.focus { + background-color: var(--searchresults-li-bg); +} +ul#searchresults span.teaser { + display: block; + clear: both; + margin-block-start: 5px; + margin-block-end: 0; + margin-inline-start: 20px; + margin-inline-end: 0; + font-size: 0.8em; +} +ul#searchresults span.teaser em { + font-weight: bold; + font-style: normal; +} + +/* Sidebar */ + +.sidebar { + position: fixed; + left: 0; + top: 0; + bottom: 0; + width: var(--sidebar-width); + font-size: 0.875em; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + overscroll-behavior-y: contain; + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} +[dir=rtl] .sidebar { left: unset; right: 0; } +.sidebar-resizing { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} +.no-js .sidebar, +.js:not(.sidebar-resizing) .sidebar { + transition: transform 0.3s; /* Animation: slide away */ +} +.sidebar code { + line-height: 2em; +} +.sidebar .sidebar-scrollbox { + overflow-y: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 10px 10px; +} +.sidebar .sidebar-resize-handle { + position: absolute; + cursor: col-resize; + width: 0; + right: calc(var(--sidebar-resize-indicator-width) * -1); + top: 0; + bottom: 0; + display: flex; + align-items: center; +} + +.sidebar-resize-handle .sidebar-resize-indicator { + width: 100%; + height: 12px; + background-color: var(--icons); + margin-inline-start: var(--sidebar-resize-indicator-space); +} + +[dir=rtl] .sidebar .sidebar-resize-handle { + left: calc(var(--sidebar-resize-indicator-width) * -1); + right: unset; +} +.js .sidebar .sidebar-resize-handle { + cursor: col-resize; + width: calc(var(--sidebar-resize-indicator-width) - var(--sidebar-resize-indicator-space)); +} +/* sidebar-hidden */ +#sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); + z-index: -1; +} +[dir=rtl] #sidebar-toggle-anchor:not(:checked) ~ .sidebar { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +.sidebar::-webkit-scrollbar { + background: var(--sidebar-bg); +} +.sidebar::-webkit-scrollbar-thumb { + background: var(--scrollbar); +} + +/* sidebar-visible */ +#sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width))); +} +[dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: translateX(calc(0px - var(--sidebar-width) - var(--sidebar-resize-indicator-width))); +} +@media only screen and (min-width: 620px) { + #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + margin-inline-start: calc(var(--sidebar-width) + var(--sidebar-resize-indicator-width)); + } + [dir=rtl] #sidebar-toggle-anchor:checked ~ .page-wrapper { + transform: none; + } +} + +.chapter { + list-style: none outside none; + padding-inline-start: 0; + line-height: 2.2em; +} + +.chapter ol { + width: 100%; +} + +.chapter li { + display: flex; + color: var(--sidebar-non-existant); +} +.chapter li a { + display: block; + padding: 0; + text-decoration: none; + color: var(--sidebar-fg); +} + +.chapter li a:hover { + color: var(--sidebar-active); +} + +.chapter li a.active { + color: var(--sidebar-active); +} + +.chapter li > a.toggle { + cursor: pointer; + display: block; + margin-inline-start: auto; + padding: 0 10px; + user-select: none; + opacity: 0.68; +} + +.chapter li > a.toggle div { + transition: transform 0.5s; +} + +/* collapse the section */ +.chapter li:not(.expanded) + li > ol { + display: none; +} + +.chapter li.chapter-item { + line-height: 1.5em; + margin-block-start: 0.6em; +} + +.chapter li.expanded > a.toggle div { + transform: rotate(90deg); +} + +.spacer { + width: 100%; + height: 3px; + margin: 5px 0px; +} +.chapter .spacer { + background-color: var(--sidebar-spacer); +} + +@media (-moz-touch-enabled: 1), (pointer: coarse) { + .chapter li a { padding: 5px 0; } + .spacer { margin: 10px 0; } +} + +.section { + list-style: none outside none; + padding-inline-start: 20px; + line-height: 1.9em; +} + +/* Theme Menu Popup */ + +.theme-popup { + position: absolute; + left: 10px; + top: var(--menu-bar-height); + z-index: 1000; + border-radius: 4px; + font-size: 0.7em; + color: var(--fg); + background: var(--theme-popup-bg); + border: 1px solid var(--theme-popup-border); + margin: 0; + padding: 0; + list-style: none; + display: none; + /* Don't let the children's background extend past the rounded corners. */ + overflow: hidden; +} +[dir=rtl] .theme-popup { left: unset; right: 10px; } +.theme-popup .default { + color: var(--icons); +} +.theme-popup .theme { + width: 100%; + border: 0; + margin: 0; + padding: 2px 20px; + line-height: 25px; + white-space: nowrap; + text-align: start; + cursor: pointer; + color: inherit; + background: inherit; + font-size: inherit; +} +.theme-popup .theme:hover { + background-color: var(--theme-hover); +} + +.theme-selected::before { + display: inline-block; + content: "✓"; + margin-inline-start: -14px; + width: 14px; +} diff --git a/css/general.css b/css/general.css new file mode 100644 index 00000000..e7d20da7 --- /dev/null +++ b/css/general.css @@ -0,0 +1,234 @@ +/* Base styles and content styles */ + +@import 'variables.css'; + +:root { + /* Browser default font-size is 16px, this way 1 rem = 10px */ + font-size: 62.5%; + color-scheme: var(--color-scheme); +} + +html { + font-family: "Open Sans", sans-serif; + color: var(--fg); + background-color: var(--bg); + text-size-adjust: none; + -webkit-text-size-adjust: none; +} + +body { + margin: 0; + font-size: 1.6rem; + overflow-x: hidden; +} + +code { + font-family: var(--mono-font) !important; + font-size: var(--code-font-size); + direction: ltr !important; +} + +/* make long words/inline code not x overflow */ +main { + overflow-wrap: break-word; +} + +/* make wide tables scroll if they overflow */ +.table-wrapper { + overflow-x: auto; +} + +/* Don't change font size in headers. */ +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: unset; +} + +.left { float: left; } +.right { float: right; } +.boring { opacity: 0.6; } +.hide-boring .boring { display: none; } +.hidden { display: none !important; } + +h2, h3 { margin-block-start: 2.5em; } +h4, h5 { margin-block-start: 2em; } + +.header + .header h3, +.header + .header h4, +.header + .header h5 { + margin-block-start: 1em; +} + +h1:target::before, +h2:target::before, +h3:target::before, +h4:target::before, +h5:target::before, +h6:target::before { + display: inline-block; + content: "»"; + margin-inline-start: -30px; + width: 30px; +} + +/* This is broken on Safari as of version 14, but is fixed + in Safari Technology Preview 117 which I think will be Safari 14.2. + https://bugs.webkit.org/show_bug.cgi?id=218076 +*/ +:target { + /* Safari does not support logical properties */ + scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); +} + +.page { + outline: 0; + padding: 0 var(--page-padding); + margin-block-start: calc(0px - var(--menu-bar-height)); /* Compensate for the #menu-bar-hover-placeholder */ +} +.page-wrapper { + box-sizing: border-box; + background-color: var(--bg); +} +.no-js .page-wrapper, +.js:not(.sidebar-resizing) .page-wrapper { + transition: margin-left 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} +[dir=rtl] .js:not(.sidebar-resizing) .page-wrapper { + transition: margin-right 0.3s ease, transform 0.3s ease; /* Animation: slide away */ +} + +.content { + overflow-y: auto; + padding: 0 5px 50px 5px; +} +.content main { + margin-inline-start: auto; + margin-inline-end: auto; + max-width: var(--content-max-width); +} +.content p { line-height: 1.45em; } +.content ol { line-height: 1.45em; } +.content ul { line-height: 1.45em; } +.content a { text-decoration: none; } +.content a:hover { text-decoration: underline; } +.content img, .content video { max-width: 100%; } +.content .header:link, +.content .header:visited { + color: var(--fg); +} +.content .header:link, +.content .header:visited:hover { + text-decoration: none; +} + +table { + margin: 0 auto; + border-collapse: collapse; +} +table td { + padding: 3px 20px; + border: 1px var(--table-border-color) solid; +} +table thead { + background: var(--table-header-bg); +} +table thead td { + font-weight: 700; + border: none; +} +table thead th { + padding: 3px 20px; +} +table thead tr { + border: 1px var(--table-header-bg) solid; +} +/* Alternate background colors for rows */ +table tbody tr:nth-child(2n) { + background: var(--table-alternate-bg); +} + + +blockquote { + margin: 20px 0; + padding: 0 20px; + color: var(--fg); + background-color: var(--quote-bg); + border-block-start: .1em solid var(--quote-border); + border-block-end: .1em solid var(--quote-border); +} + +.warning { + margin: 20px; + padding: 0 20px; + border-inline-start: 2px solid var(--warning-border); +} + +.warning:before { + position: absolute; + width: 3rem; + height: 3rem; + margin-inline-start: calc(-1.5rem - 21px); + content: "ⓘ"; + text-align: center; + background-color: var(--bg); + color: var(--warning-border); + font-weight: bold; + font-size: 2rem; +} + +blockquote .warning:before { + background-color: var(--quote-bg); +} + +kbd { + background-color: var(--table-border-color); + border-radius: 4px; + border: solid 1px var(--theme-popup-border); + box-shadow: inset 0 -1px 0 var(--theme-hover); + display: inline-block; + font-size: var(--code-font-size); + font-family: var(--mono-font); + line-height: 10px; + padding: 4px 5px; + vertical-align: middle; +} + +:not(.footnote-definition) + .footnote-definition, +.footnote-definition + :not(.footnote-definition) { + margin-block-start: 2em; +} +.footnote-definition { + font-size: 0.9em; + margin: 0.5em 0; +} +.footnote-definition p { + display: inline; +} + +.tooltiptext { + position: absolute; + visibility: hidden; + color: #fff; + background-color: #333; + transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */ + left: -8px; /* Half of the width of the icon */ + top: -35px; + font-size: 0.8em; + text-align: center; + border-radius: 6px; + padding: 5px 8px; + margin: 5px; + z-index: 1000; +} +.tooltipped .tooltiptext { + visibility: visible; +} + +.chapter li.part-title { + color: var(--sidebar-fg); + margin: 5px 0px; + font-weight: bold; +} + +.result-no-output { + font-style: italic; +} diff --git a/css/print.css b/css/print.css new file mode 100644 index 00000000..80ec3a54 --- /dev/null +++ b/css/print.css @@ -0,0 +1,50 @@ + +#sidebar, +#menu-bar, +.nav-chapters, +.mobile-nav-chapters { + display: none; +} + +#page-wrapper.page-wrapper { + transform: none !important; + margin-inline-start: 0px; + overflow-y: initial; +} + +#content { + max-width: none; + margin: 0; + padding: 0; +} + +.page { + overflow-y: initial; +} + +code { + direction: ltr !important; +} + +pre > .buttons { + z-index: 2; +} + +a, a:visited, a:active, a:hover { + color: #4183c4; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + page-break-inside: avoid; + page-break-after: avoid; +} + +pre, code { + page-break-inside: avoid; + white-space: pre-wrap; +} + +.fa { + display: none !important; +} diff --git a/css/variables.css b/css/variables.css new file mode 100644 index 00000000..0da55e8c --- /dev/null +++ b/css/variables.css @@ -0,0 +1,279 @@ + +/* Globals */ + +:root { + --sidebar-width: 300px; + --sidebar-resize-indicator-width: 8px; + --sidebar-resize-indicator-space: 2px; + --page-padding: 15px; + --content-max-width: 750px; + --menu-bar-height: 50px; + --mono-font: "Source Code Pro", Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace, monospace; + --code-font-size: 0.875em /* please adjust the ace font size accordingly in editor.js */ +} + +/* Themes */ + +.ayu { + --bg: hsl(210, 25%, 8%); + --fg: #c5c5c5; + + --sidebar-bg: #14191f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #5c6773; + --sidebar-active: #ffb454; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #0096cf; + + --inline-code-color: #ffb454; + + --theme-popup-bg: #14191f; + --theme-popup-border: #5c6773; + --theme-hover: #191f26; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(210, 25%, 13%); + --table-header-bg: hsl(210, 25%, 28%); + --table-alternate-bg: hsl(210, 25%, 11%); + + --searchbar-border-color: #848484; + --searchbar-bg: #424242; + --searchbar-fg: #fff; + --searchbar-shadow-color: #d4c89f; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #252932; + --search-mark-bg: #e3b171; + + --color-scheme: dark; +} + +.coal { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + + --color-scheme: dark; +} + +.light { + --bg: hsl(0, 0%, 100%); + --fg: hsl(0, 0%, 0%); + + --sidebar-bg: #fafafa; + --sidebar-fg: hsl(0, 0%, 0%); + --sidebar-non-existant: #aaaaaa; + --sidebar-active: #1f1fff; + --sidebar-spacer: #f4f4f4; + + --scrollbar: #8F8F8F; + + --icons: #747474; + --icons-hover: #000000; + + --links: #20609f; + + --inline-code-color: #301900; + + --theme-popup-bg: #fafafa; + --theme-popup-border: #cccccc; + --theme-hover: #e6e6e6; + + --quote-bg: hsl(197, 37%, 96%); + --quote-border: hsl(197, 37%, 91%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(0, 0%, 95%); + --table-header-bg: hsl(0, 0%, 80%); + --table-alternate-bg: hsl(0, 0%, 97%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #e4f2fe; + --search-mark-bg: #a2cff5; + + --color-scheme: light; +} + +.navy { + --bg: hsl(226, 23%, 11%); + --fg: #bcbdd0; + + --sidebar-bg: #282d3f; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505274; + --sidebar-active: #2b79a2; + --sidebar-spacer: #2d334f; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #b7b9cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #161923; + --theme-popup-border: #737480; + --theme-hover: #282e40; + + --quote-bg: hsl(226, 15%, 17%); + --quote-border: hsl(226, 15%, 22%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(226, 23%, 16%); + --table-header-bg: hsl(226, 23%, 31%); + --table-alternate-bg: hsl(226, 23%, 14%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #aeaec6; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #5f5f71; + --searchresults-border-color: #5c5c68; + --searchresults-li-bg: #242430; + --search-mark-bg: #a2cff5; + + --color-scheme: dark; +} + +.rust { + --bg: hsl(60, 9%, 87%); + --fg: #262625; + + --sidebar-bg: #3b2e2a; + --sidebar-fg: #c8c9db; + --sidebar-non-existant: #505254; + --sidebar-active: #e69f67; + --sidebar-spacer: #45373a; + + --scrollbar: var(--sidebar-fg); + + --icons: #737480; + --icons-hover: #262625; + + --links: #2b79a2; + + --inline-code-color: #6e6b5e; + + --theme-popup-bg: #e1e1db; + --theme-popup-border: #b38f6b; + --theme-hover: #99908a; + + --quote-bg: hsl(60, 5%, 75%); + --quote-border: hsl(60, 5%, 70%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(60, 9%, 82%); + --table-header-bg: #b3a497; + --table-alternate-bg: hsl(60, 9%, 84%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #fafafa; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #888; + --searchresults-li-bg: #dec2a2; + --search-mark-bg: #e69f67; + + --color-scheme: light; +} + +@media (prefers-color-scheme: dark) { + .light.no-js { + --bg: hsl(200, 7%, 8%); + --fg: #98a3ad; + + --sidebar-bg: #292c2f; + --sidebar-fg: #a1adb8; + --sidebar-non-existant: #505254; + --sidebar-active: #3473ad; + --sidebar-spacer: #393939; + + --scrollbar: var(--sidebar-fg); + + --icons: #43484d; + --icons-hover: #b3c0cc; + + --links: #2b79a2; + + --inline-code-color: #c5c8c6; + + --theme-popup-bg: #141617; + --theme-popup-border: #43484d; + --theme-hover: #1f2124; + + --quote-bg: hsl(234, 21%, 18%); + --quote-border: hsl(234, 21%, 23%); + + --warning-border: #ff8e00; + + --table-border-color: hsl(200, 7%, 13%); + --table-header-bg: hsl(200, 7%, 28%); + --table-alternate-bg: hsl(200, 7%, 11%); + + --searchbar-border-color: #aaa; + --searchbar-bg: #b7b7b7; + --searchbar-fg: #000; + --searchbar-shadow-color: #aaa; + --searchresults-header-fg: #666; + --searchresults-border-color: #98a3ad; + --searchresults-li-bg: #2b2b2f; + --search-mark-bg: #355c7d; + } +} diff --git a/custom_blocks.css b/custom_blocks.css new file mode 100644 index 00000000..958de991 --- /dev/null +++ b/custom_blocks.css @@ -0,0 +1,22 @@ +.light #claro-logo, .rust #claro-logo { + filter: brightness(0); +} + +.language-compilation-errs { + white-space: pre-wrap; + color: #f56451; +} + +/* HighlightJS is tokenizing into 4 groups of keywords just to make for an easy first pass at syntax highlighting. */ +.hljs-keyword1 { + color: #CC7832 +} +.hljs-keyword2 { + color: #3C85BA +} +.hljs-keyword3 { + color: #0F9795 +} +.hljs-keyword4 { + color: #86A659 +} diff --git a/elasticlunr.min.js b/elasticlunr.min.js new file mode 100644 index 00000000..94b20dd2 --- /dev/null +++ b/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.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 A;{X5v literal 0 HcmV?d00001 diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 00000000..90e0ea58 --- /dev/null +++ b/favicon.svg @@ -0,0 +1,22 @@ + + + + + diff --git a/fonts/OPEN-SANS-LICENSE.txt b/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/fonts/SOURCE-CODE-PRO-LICENSE.txt b/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 00000000..366206f5 --- /dev/null +++ b/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/fonts/fonts.css b/fonts/fonts.css new file mode 100644 index 00000000..858efa59 --- /dev/null +++ b/fonts/fonts.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('open-sans-v17-all-charsets-300.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('open-sans-v17-all-charsets-300italic.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('open-sans-v17-all-charsets-regular.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('open-sans-v17-all-charsets-italic.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('open-sans-v17-all-charsets-600.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('open-sans-v17-all-charsets-600italic.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('open-sans-v17-all-charsets-700.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('open-sans-v17-all-charsets-700italic.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('open-sans-v17-all-charsets-800.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('open-sans-v17-all-charsets-800italic.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2'); +} diff --git a/fonts/open-sans-v17-all-charsets-300.woff2 b/fonts/open-sans-v17-all-charsets-300.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9f51be370fa913ce6de2922b580c262c4822b337 GIT binary patch literal 44352 zcmV(;K-<4}Pew8T0RR910Ifg(5dZ)H0f7hr0Ib{q0RR9100000000000000000000 z0000QE*lUWfmQ}!0EY+&fhq})G!YOAg!yQMtSAeP3IG8%0we>R0t6rhgFFYi4Ge-h zTM$x_K;*{m=TyO<(oF`$dr#+gT@uRz<@OP72f1way{Ld4djxa`IG0*=K;{4c|Nq>i zF~-^s+Z{rPn$}0zLzV=G*ddk#MfRZCOSo7Svxg)@O1QTM(GtC{-8am>TkfXJ&}5JO zXokZnNWAaG&x#r1r&DFc3k@sfl$|@RDaX?kWW{EN@TZnHp}gCDd}u9PW@H>gZ142z+QEhtr+J1&#|>KAj6Y2`)3tZkBe+ebjmTS6=W*;+$iHPBB3Un)Qo?6q*dE(P3T9y565vHowfyevYxI9K2P(y z$<_L{@8?J5hBF;TxvX%vUMY{MW;AQOFw;MRE?UNs>(i)Pw#F30SO&%}gA&nV#5ynh z%lr4w|41^EwI78NR7X_&MdMPeXq|gj4oJ6}tzd{4Fvwwq1Zjy_sfS1l0YYgJLOuSa zG~qZt#{MG5VL1;uY?c0qywYwhjn*_`$CiZFZCFDFz-?kG;zz}gkK?(Z;(4Ip0|Y@p zL`0q-DhfWlFW)O~_Uv1l(z*7n%=kiif-51?{(S1>dTz;-%RXz{zW_NG4POWVdSfQ{H?gb&VPWmSuI@as@lXQ zCML+EVq_sv+K31qR)E!rHdbOZcI*#x`rpX1-FQZd2?w2J5+HD^d^xN_9WLUu;R1_>$Sl2l1j{i_PqRoxBKXmEfAv5RRCG~gHz zoRPqp)jl)`>4DtY_ee=+oD0vBlrtv1+}R|)Aj>WYFNl--dsEGJL13vB!x?g=A&fDlOONKn#&pyZ<<^Gt#Y5O9+B{||V8CFK!GIY^G7 ziird-fZ=XPfYkAzOvx!^1&5rvR8_9Zlqy%TZCti4x_G(NsHD}UoUD}Q&&1ywU=hnR zK_eK;d!w1V-89?ZEBgl|7bFMOFTBI&;bU#pwZ9KM5d*ckoOlTrnn@#e=0bxf_LKF$ zd-0Mi4MXYT*CGx?Tq%ZXXdY`yIWWVJf|?K(5DNrL%GP_mZs@nw-vBb}Rw0W;wB!)N z5TjzUSNZXIA7943^nXK*r#Dw9|Mtf&ksu-=h_`Yp9V;Dkh;8<4psUZVb-$?#qp%T! ziAdB1b$5t5hjOzR8iD$*)2$e71R6>Zt8%DEY$Sg2KWN&b4Cqr8h>8`6#((@8#L}XktLaTS zryU~vMx03nNxOB%uQY)H>VL7pz)zP2nhY%8WH@)-0RsdY-07d0c5ee-ah{%=QSM%u z*8so2)#K3GU!m!|?O$6+?&yD~(Fj>ZOxK05BApxGi zJr7YET6WG{j1#TYt(MkW%SPIA4dOUU&zsN+<{}nS6r*LQrr)v8tl?2R`* z6w<>(odO>Dg>%+<`=H~%Re+D2bI267Gb@WPo}vT*tKEȮck{9tEK*~BMoW% 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 literal 0 HcmV?d00001 diff --git a/fonts/open-sans-v17-all-charsets-300italic.woff2 b/fonts/open-sans-v17-all-charsets-300italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2f545448418cba6668a2e7d49e9616e8c69dfd15 GIT binary patch literal 40656 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 bQBM5)6s%p?oy_T)fR3IrepgG2|qH4K6n zTjEWT0M>3h@}ENV+_q{F9wW<-3brc`y_pI_^4p(Ua9sB|0Gw|m`2YX^KRubqVVATn zNekEj{BQrDNslN|DcXpZA-X^~dK8u+%2-5Irnagte8a?(^PQHDA{Ia>x8E;>s=qh`PM9HJ1<#&OtZjf!-5cTIED~WWHDzI$2&YI z-Qx_U$EM$KlLl(PE)LgB-E!IUkaA<%CtwLP6`45Di)=MXIdNdHSN3iVq9AM zW$$vH*PwWVFLy0m^MBLs2Du(884Xzm#x8>rZHyHsULO9fi|@W9RUh;~&`vmeNlSn| zUHLy%^$r9js)H)+Tt0XPT}agq13U(brxo75{lYd9v2}uZ*SGtHwrP4Q94xD5SfeTcynoRZcTmcB! z|IfY6+?N7SQU=}gLr|c!mS};%tuf1*^*R&=&=|m9$hm)94|)`EAy7sg+xyU<5&T>+PVPD728Hda7D(-wSBu5C)Gdv)`@3pXOX&?kiFF%}^ak}Y4e z9%ulKM*G*#kQ{P2PSURDcV7BVoGo!}kX#h5!tBxwFV2n!&FB6pSFL=Pz-G405@Oh& zzi+kWu_v%=2*Ii)=%g>6FsPyoCW>8L2Tkhu^eDIftLh{`s=8@1{J(1Fy&Xb=%o|3) zpZJi}CE=~Y%&KeTn@ztzN2m0_=(M`)pPv5zewuEd;Ey%bNVzpE#INw&t2k?nvi2Q-?3EO}B}9?*MVKF5;nz(9yr1prxgCmMxh$w^EhIY{6D zF3ZcN>)j+J-gdFuv}e!%zp8$^X4Iz}fMKkT6rrIs)dW*JM zKbqQ0SMzp$k*q6C=>-MAV-8#BAm&@|ME`4N&iSP@lmgH>NKUJQKZsYr1H&pqAs~q0 z@I23cvtsXG@Wi2Is7WnJt2%94%sa~#IzWae{EhX`y?BX{n4xqBnv{(>DaBBIto3|h zfYxgxLPhG&a+=#*%jGQbs}UiJXgJefpHP8xD8@;AI(0BY7!x|Y@A?1#{2S?c-!<7w zMMYIbMMXr_v_C%YGN!e#^Y(u?SYZdk2X&_l*=NWY#<>=9l5ASeUMMAp(fker8VosLx@B&L&j#7*0l3cc_Y%PiDbiC znq_muF3v_)zKIPAq`5)LWS^0k&iS=&tXr9C@l#Ytp6LBabDVCmNkLU5q8K6qcPVWHIMBuRYSXvRHJ= zm$~xUxT-(UKl6R%`^j$#1p-xY1#*ywVHks1n1>P^g41vj?kqc&y)%Vih1#uxnp5-Y zp!y&uLfJwkLgl&s+?8A*XXlo48``Vi?q8rj;U@J)g#<3T&7xA0nnc`{=bIg|5wX}>R8SI)bT|x{~1f00nIQ~ zF97vA-B=GobMi zKMo{dg$W&0Aoc(K@1Od{m&R6E0LWUa@SuFYpX0^$J;ptccE6q2a(FR34Et%w5EX_{ z=>w_^quNK*_=MU6AD;jYS{Qx#bf1%AJn3PV~S>7F4$6__XUyaab_{e5$&(L0;2g`U3613b^K zhH^f`Ek#ug66HW?0n}}sRAS+mj((b~HJaQ!Y=l*kG&ViSCVVR1;IAa~#v)DY(hV_t ztB~CC=fU8X2o7*#>k=iVs@`#}jIF#hCL|{9cc4wI4{?QnSiOejiIIK=-U_4)a~ z1A2gL7U&v4$wa#4s#rI(xaG&ODuWg0R#3aB?#-{R@HlC1j&BPekZia}+dt&lDMRat zhl*dJvz`sQtt|&THt#xxG*_S!G_2+8m$*93)a=yz+8CE0SZ`vTqXSj7NBgvd#1|ilzpx)ea^NUqpX$l@ghY1G{EW}LhxvXe6FaI z{%1Uo+p{n;^q#<$Mvux6^u{dF7l%M=RS7GyJNC*sTdJeCR%@ z^kQ`nT2-_Q*6_&=7xmIZNe?`?Dw5%$U@`F5Ff6U=b8v{if}Py(GRW5y;kG-M&A%Nx zO(gz)Y9>bltWkOm%i4?Vo;DC6cIfH~eS^CCO0v(25&JMOeZP*A!Lk~KlkM3+G~rZvoH8ON%` zQr>`6Dn+m!%G{VQrU%uV(rRjT)_-8@G(&HujFj=_AJ;Vyho$L2&Qe$D?W$zjOktu* zu`?T0rg~<;;Vz{<4=;IWA`v^`^vhG> zGX3&QdWbWH5bnzz_gjfdrf+!3HILaukY_mwQs~S9FqB)6%hWw~rjO*0Ioa{Pn)@|M zhR$RRf+o2N$6VfWVA14)z6fhtCSN63kPzFQrZ=YbjNYI(ODz&hXrKHR4}F#dO(c(+ zX$!5RYJRI;%j&0y%O>J#q}ocPh(xkYFGT{(?0Sft{JIMZK>m*!c~BJ=?JL7&gWL9z0?Q zV7AJtGBi1M0HGw+K=#}RtR@MW`z55wjnXtu2wGY;L?u=zQl~Y(VEib~wSD+&apr4uR;QLsaxi;kl$Ez24a*vqVmKNhFb-z7L>C_|^UFNn&y8Wr@=QOdy* zWou$Tl1e*&GhzG){qQ#vJ?>7~#E9^RJ$sIHakj_IRd61i1~vPI(h@y}gN%T`*)P=) ziYLOz_NdYR49b5DcU|ulPBpRdg=e@OM z%9jkBu^`e;-eca9+raInN5@tdX8`pS0M}))*21A707PWGOtKs}h9Pcvt_Ws-`)|3! z=F#U-&iUOo&oW4a6W{djI@cFOv?@->$uvNvI&Y+L8K2;~`o{Fk7`!T@w=y>M@_wu` zn0=KAt2NAqL@*#@f^*~!bY>d*J6U;8khn+-km;%^t}zBA5h$fbCZ>jhinXwg*9tB` zMKcwqy&R?$qcr1-CJh7@g{O?w%6;S=r2Beb55lU&N40oN3N3^1Gl#Cos9Otr}y`9ZR5BsIlaHERpX6zwYj&UNA-j1 z(~-?F36f51{q~$vv&o%I%QPZ#I;108{2_d_^bP1fjp#g@k$ye**@v6(=OW1r0AZ!E zw91L9oWmh9lqzibsz*i0b*26-bCnB2>r-TgF2Zz#{Qvrvf&m8jIaD5s{Z2K2F$eAZ~38U?aKHR%Knph`X|sW>We3O`(8x zRcMtlN!m`L_z1^U6DroHjJc$s=uT#f$8w8Zz8qa)@1-u?aWpVMDGJ=YB`R5RV07m; zCa{@*rmV+Pb2-S;r(!C|3R)dp`Kr$(J-i%=xairYaU!In`YiNnEOS_-zH$=(jsJ}1 z`eD0IVv^PHQ~6y5^u=5bnQyL$L&}n?2t94*gGaG2+BsBJSlQ>1Ow8r9_SQ&R{O)Tz zX9H*}TVFOrx+>N!WD4f-{Dz1LqkAekTF7g=B6$^eDpw$+Dlkytp2Qcm6L8z zlW=Is*>O{hK=@6-J1@nUNfa{(rmCO)!;x?4!N?UNM6)WLK=pd^{tX!_DL{tby@H*5 z9>%I2cyk-Kc4k+|-_OKksb`@AVlgx-Ex6)yk3n^2O#7MB$iTQpMK7Kv%PjVna2 zM1QBLWKWSF^*ho7Dzk#Em)xP4ElX3T7M5hpbtiYXFTaEKFNS}5rXmffUJ*`#Q+E~u z`-yh!5q@Gs4=2JnW-y@LiG!pzu`9)&c;c2x`AVs{#xZZYM^&93fkS=iY3}Z^x$;?i z?@gzyS7tCWi>01Tv~Tvs&%3&M1g*s%@hZkaCvYF~uAS!*?H%Xb$)PZ;89=EzRza0V zzfUK*3RvG*L9Fi0T;u*|4x*j-Wc&@*_JHYz-vb(6t6H3B8!%|NRER}sdQ|~tfCLD7 zVi>RiU|($EVB|Uxa!I;Yj#1pRo~h=;k_jp@t_e@X6#~w}4QpO7Xl`vnjYfV1uUNQ2 zN(oR2gGq2d1WeJ?S*Za=n6}E$e}KCio6L>kK~AyEZ!4l+SDt$~N^^{lnZBI0O3aF( zy*#d}!3sscxi7$20ajX^5(v=h=`^1ACev_s_BR%C5X4Tb!%i|7(2x{0P5ADf`O6Qm zE3uR{T!vn3oL~UwZLD`_i?bL)(;xs#1vGqV`}m9K-w%8kVeQ^G@SoB=3tE?eY%2Go zu_Y3TC~W?PLj7_lPvhwYKW60|{ZXu+uT94smi7R7ar~7dVRXjfG}iX}=1DZ4#na=z z>U`2(;h0(MkpjMlMge(e$I*R~Ze47q#-qB~@d(+goy`ZO5aVp(cmF<%r_Kl_(bY8g zAn($kY}9hSX}E4?nUbocA@w{4-hzZ^_DX{~{~TCm;B7{SJ>=(}RS8JWVh-Wu z);ZgGltz$PBmb;mCQF7Q6h}EAoS1ER9=^Dmwz)XvhbSnOdcVDe0o?S&&Pz{$D6X+4 z+i9lO|N3O0pXA*L#k_z;n#yp4f@S|v&6;pi;19Y38< z$jD%k53!xSyvdVMtcO*ZdocH`c$vLJCUbjhp5O-|qo;JA{~Yl%r* zg-mPU8uZtF`BF{FmfdrLIy7l12pmSfo`QZgxX?vZhXGx7t;=c#veZlQ)#9Zdp&}4! zv<3h~73s9EqDFg3xiyXOsj z!@wZITN}(xnRlEaA)o9Rz9ixSINWtLPMw>DgB)8_=>q8LR;fTB>OY|yAu?ftR#WWE zm_K>a9{&B@mB~n%10Pe-3#P9yJX>?GR{^U}SPpV%P2P9RrNNKM_dHP$3DN z``_2;G(VHU(H8&TSWBKZv|A+V+rosVHa=lY8ay$jm2$_W0dx}Rppehw$8{OkGYmjS z)5V#Ad>w2MnYVJdu~cN(@^(caO-4eDp|65qi<#BAxXBGpA#;&Q6bjmC=n70u1n(5V zRHC|SNf1)%mwpZE_q)q-vyT!m)?Ht3S%V|5YC4KSJM(W!TKQC=ab z=-7Mt)2?lJe&MNd7R=yI`m|tIjzdl4!*60}PlzCHv~j@C94cAItBe zUvwyxDXv1DcNa#o-id_}wBR20AEGjo+{6vf(f)Jz0$pP?x!eW%LHEtbqvJP~Fay=Q z+t1uUd){@qrgMDOEPP#k0$oyPrJ3XEM_BiyF%ICG;e~{daC`+WE!$+5^V}@-q=!|u zP9`S}K@3Wa*j`_%X1~a6vLO8G4~cNzK`RG{Cs6XiG*6lw@)bixt)@ z093V|23@OgnE~7aWf`&y1J6gfYkSL*YG2;DKUPuDBg2Jt- zo-}*Q{#|F}B%&2Lx;qvAT-{z}J?|BM_ufbUhsON)g~YblC8wiEinCz-^ZVwW$L_hg zdr#kY$-AppMDqP!#p*+1*YDji^A(7J7Cw#$e3p=}pYTSj*KP%}DgM2@APt&jc_)AT zd66kO2NQ=m&5+g~p_F!%q_@E-q5?b34EZh4nr;^{nMj&Dd3z>xgzo*ang)+moK4t9 zTjg{1u&x!`*F27mg9jFR{alD~Y=nZBJ|~PHRK2>_dj^VX4WJ~Xq|v_&eZdDk6H#X2 zULy|QUM>{ypws-9pvgauZjhgl(^lkhT_v``+M~k5xySCB7fZcz$(x4~^WCAMpm~KEoewsS+!%u5mnaT=UHZ9MVyx8`ME< zAY~nHO|0mP3*-c8Eu)5#B@VP*uher`Jv&V^tGvPt@^>H#3ET#KZrCP^%8X1zQg2sS z(jH{sH@PQsI#Q-k-LR&{#9XD{`BLojQcbX&>eHc$xeV&~U=M_@12|O+qHfh|Fn?2; z7;2(UzdP4snbVzgr54+~S553Ka%kw?gO1*{OWP!7Vm8M5i%MqO>SG8{y|zh4*I)CL zMuqdPKq`igmhiH1RK1&q&{aFDRtD%ZB-UZo_98mxxAX`Dka+YWUvGMlk@DP!x34pd$NuT&Jd5Z!AazY2>D>-k2Y=mxVG50H^{?A^U% zONb_!08SybnSqvw(CNVIYpaa3^XqDNy-vx}pXSqO1i5hmEv(7g`WyF-sMkTkmGM-p z$8>lt2+kXP-6+_r{);Ocrse!^Mm3bYIFGvsgu?$L?m3Qg8xADFKSqUO5;%|o4(-wR z@`1Dyl5R3UNwEu^dz%1I*we4kiqKpUrixNb0>WB@Vvi~Sz1gJwr*L`456eXh z-}`4SW+JaYXQSiy^rM*2#2W3WH)NJ%9C(`lmhg1Kc+JZNt!I;|O+Q^)j9IeIBU`*i z)9**<9XJo4wFXL&sL_au!#|Uq8-ECY zTV5vk*Hgz96Cixw)>@;51p=Cq2ahdO|6&p(b5{Mml6kS=zaBvPh2CV|Pa($ufuK=@ z8)pV6S&({E8x0&toGv8fu%|Z3mc}AE$&DouRH8CU>)qZxRbPNVw%nJ|{FLK}LnHtR z4RPH)WIP3b2dUpl$tF!?3EV@QEX+X9;FD}M?+Ssh&%b6DUfC|m?QN(_=~dOJNjIy( zaH?}LJ?>^e`BV6j?QfWi11z_?*7zi9j0LE*!~%4)ep(NS!G_)S7Pe!6k?0A5WdtB^ zVIKV9Pr;Q)S{mq5e|KD8>I$HAIO=ujD`HO9QlQOKW^UJo%g|<(6$;#baU0`EDm9fU z*+?@8De6xfJ7jnfFlB_|B32TmT^M&B+Ao2P=e;H&E1z2lB};qj(=HhrxPi_lhGAb6 zdv&PW=9slCWsSLN9bdNQCg)t)04L4fidHVlSZ1ncBo7XDqYZt;`a5v_5xL~i;llXT z)I`;NA1SUK0#711-FDwRrVC2zt*cODyjwSq<#$D{P(m->Xnn4a23+;DLavkglE4{u zVFEN1!3t8K+6h?Yd7FJae~&Y{%W#ybv$Jr5-7n>vvik5x>cWE zhrZP(>(KQlRw!7z3lV;+SE6|ZKm2pWVHwt%Km^eB6Za72k-B&!VDT1*F60`Kz`Uv? z8hHP-jaaRWs@z*pvAenm{|GLU**`kG4;9|lgpeZoTR@q{BsqL=?lc6I%zKg%WwY!| zAaOx3i@(gJYn3C-MTV;`Id}F1kiQGP{z-W1OOY<%I4$?u43tlZMwG}4L-v#jfP~=w zj$37Z@`ZoF%})V;XL?hu-~Gla)=5%MhmCG*>Q4}U@%V7Y4{dja5Ot(@{rjy>Oj>#O%_4-ecP z2e-?+cISZd+N{X8pcTg3;Ta9JbZI?eH3)!qrdK$Kj+XM7@#;^AQSSEH6+Kghp6ao~ z0L8oOyNa>&jUkW|DMMMLA1N}RW%8b!2-$lp{H$y%-6U^G3$9m9E`v5K#rY5bt{N8^ z2%pd`rJP-}pc|*rU8Y2jQmU3xZfS++0R`#fK>gX>hviKDm4J5t;*dKd=G8pZtKM~W z$sAP=8#?OV*n}u}c|-N@4M6>xn;F^69Nu~JULf^D9xnXLjyq$A5kl=IqULW4t|@Xv zUN~Oh!sr0E;fd7Pv+2~Nkkqb(+MS8^|FYqv922dQ@J3g)YnolFI#m<3k=zrbENB)^ zTP)pCj+xbqOup!VqC0O$2Tm$U!KjV^pdCX5`HR4%z{#m_LsZPv*^dzl(&>Z?4&?7J zrM|5M!@=5VzM_6F(4ER)u8Ybu{aoza^ZX3}O2T&kfdK77uGy(l{k!gV9}*#4I8rG z#%c9>Iz#H{jR?^B-CfKu$;<-XN0r&5oD#!r1lqH1CS6o$Zkw)la<>^l$If!EAy=Bs zwwpA4U%v4248^l%?Zc;0{A6-bcXTpSrXnV9+%2P`QNsnqRiv3Cs>%=jLepO@>2vPuzE8eJ>DOy!C6phB@f@UC>*Y)1riFngBS;iT)I zq*3uCSs#*WGo}Z}CezF}FDnrVppbi!r)TuLXugoCelnw9tjw&M#-=6+I0_Ain_yvZ zGqfbzK2d_90&Sshart$332NN*o$~0WVL-P@`cX~4I=MBtft{l0w$TawLH#CwI{&j@ z8cUoU!{C+T-Kka9gY?}WWDW3LOUbtyc7O;RUyEKve{#-~p>gKU^tK0-W5x(#oo)?{ zABtxNQQUNys%38MB&0vU_3V`<4CNrAj;6sOJ($<-+9IFE>^BpYM3f1nrf(3xKQ@4?d{#Fj;j~z;F|7B=2AhWG2-HU9JS_AiPbj@ zoDI^q3xFC}nIg~*=2R9`E1%ZfZO@349AC=M)o>;L92moFGUHGh)?q6e&)$@sdnF|4O51B=<`m^ zgGcCDq_0Fg_lKy0;ex8ss>0#Iicy)`C-V0aMfxCgf@f!Z@cA{;HP*B^B+3+lM47|j zCRhXlh2cU0U_2{qA#x0WdnzwM2> z!-h(xyBq(0qb4eXMF_b~6D9n>0oH;3;$6u%EMMErb{u546kWPI;?u(K`L8CoF@o*rujs$kuN#wGy8m`!r8{t$Dh|kPpzY|xfDmaZJ|Vey z@Lq(H{#&luzPapC$>Ei)O;ds19C#q}Z5>$y%&MrK5v~0`LBuCdZq36^Fzp7eo*+sp;t& z4^uTma~OB^@zHLUD$*F7p}Sn9id&eOWsIA;Q7CNCzRM~7?ureE-N%dnf{9kkwjCX` zc=CDoEnxF`-C1S4z~65%$qhyEQ3bJ)P5I8YkeXOq$dJz5P+5jTqTz{aOXPicHx4!^ z^hRaxQ8HpY(Piq7)@3?hI<`KR6Qgw3A6XjFQ7jx@8kTi#I+i=OULvtGoqjQ{DR2O~ z*xfY35#ouk2(o6vqOmRWL0ywQHH&8F};ruwyd81!rg7=4kXnJ8U%c?Q|YPXicv03jZ>#(B@WBc4$LN{cEz$%SMwBgm#i>9|HerF)$UzI zwo`~_nSJw?)z-g?s*t#lTK~I9rJH|`E`>?xUa>rN>=SY1+3W!y8d#_KylJ=89@{^i zakRXT6lzrwvvRxeDNcx~22c=}9aAHJJJ4NjiFPwe{LyZ7s{O#EKzvPn!$i0L!)(<& ztm}L<7S~V=<>Y#vD)mJ;-^4SE;96dQfBVoHcYg>o{GLJdKkW_MyRcNAXn8FQ0l;-> zbLl65h@Y&Qt*({tRJs{(tm8m>%eMfE>}vo;^6B0cKV}=S^`Ja2L^wl=N!Li1fSkvS z2@7qrstZ>ZbK$$mugR6R0%T}cP?q1F9)4?YsvzJN9Mk9dvcckQ~bmD=}g`?cEe0=b!D42UTbb&yB!1iSS84DBL z6W0BwhpZBa(m!vdzp_>}DPX{ow^#jfUl+&|;OzPZ#~0sLg&++!%4V zIp+&y$~dDe|DXQr`mv6leyn?~C|HzuD?mZ~!~d4}orNWz9jy8=m=>kF${^+90w8Bd z^}3aRg1jrU@sdFpPd4EqKA zoyFfW$P)18+sYg@Mgk*2y0)Y$`kLFehMX@nQT6dBsNx4$VrKyAaegD^NpPz?~+o&U&57)8iFs3vnuCAybnHk9> zEph-+e!TpXl}QwuGB(V~;viQIMB|$fi7mu|rk=ljWOrsMw0+#Xyew-K;ex0RTe*D& z=iMjcD;E@ZlWGc*UGgc~C@S0t#@6OY**(J6J81^S3%Tvbp%si$DT4q?&}E3^ohDZ5 zz}C9Cg1B~)CB_Gdqs8$_D^t;650>BLBFyZJ(xd~qVAyn-rYnE^WWi)keXi-|n*x3@ z9+s^$X$Hpka@&W&jkJsr(9$b_K@$>1G(oL3GsUURBt*fT%z@&#^tH)}gX@kMdC~H#+Kf4w@wiksX0rD0YR#zwV;fA+RX1HS&4aYS>;Ch#;ZnRz!)5{ zJU%@W7b&4TWW|j(N4U8o=(Qnlu*uUxC4wHBJ(o*csvRgfeKDA*^TPN{ZRxb?hUlvg zcgqM#IiXyyb!-&%pq3CxOA(*;pwU+=kL3xp6@2)ACRv!c`6+*U1VJZn*dxM;5(oG4 z3B*4<^uvdF61+k~!mm1$2=PH>IfL7xmjHtHQzu$EbiAvJbsKy1Kb@nUKqe zvJ<+8U=3cgJbPd(-$AWtHf|YIP_77nEX}|we_Q(@H<6-`jz#wOHM@!uhBA?xBQch% zENw~R8O!6)3VOO+zLiUW^=1<|!f5?Fj{ zQI^!*C%Tz7QkIaqIu*M(wRt8(Pk*Vf<<)8ewgz$*Edi`|wJ&qWRg%uL6)amufFH0O za;xR{kCz%=Vkh_(Y1P~YLxnXyYd2r^9-pKeZY= z3MQl0Ve2ca8@nI66Fn0G2k~#C;#XLORxSwk_B2JaiN+lWgzLeZ`+@X-EF z`I|x=%9Ei&%~;P+PpymvoQ5c+Gll~*>SnWo|POBgUJb4tmNt&G1@o6>(W>cTnNedJCX-gJy6~X z#!pws|MhQ;cay)np}CSgMF%=ntmRdbJF~D@IFy6R;I$Gl zmKI%K9L1oqMs`9ynzM6}G!7X6YduVZS^#B}d8VEWar<-N!L`krZNQ4uLg z?s}o2uHdwksIZhYJ@?Q^J=dh9h={Z#H=U3K8=aJdh=`OVeYcKKx6Cvr*UU6G*UU^; z$E-{(kyKuA)lI>V*Oi<#oYkB+FK@W3xofy9PqTk~x9_l%Dc9)KD9@+}kVV|wBn2T= zjIByOEWT&oCg>(<)D)^1$*H^OujX%-snl;&UgtlQW0Qj}EVyjl-b;s#n266QVJ=gp z%iUF7MDx^=9dyFRU1a5FT$ z;lV*(K3*LG9TYxf2nZZ%7pblqQV7k@$&QPkBhiMD_~|R!xY*lcu+o|s1^0mtM@~mh z`wkcP{sm4v8@L>~?q$XIOByi&hNJn1cZB7ZNTJ3kr~v|@fi|j&>#5Sc%G;f@wX>Va zr0j3XG-T3l^ugo^CV*&LX_+YZk~3!(b8}|qa&qUUvuvuYtShT*U>=^v#vTN?iKhnw z;pxf$p|W7OpmMYl>YN<&NrrcZ)!UGvnQu?S0>R$eD&LeHeXSj%aw593DpEsm_7zzP zIZ65A5*Dvf=1yi}jvyz0)5Lq(ePz+Q^+jg!Bbo85q3PZe$tnj9?*G^$62iB;#(JWPe9r0vgPNw%5DU|g_-P99r;^U5=`C6}fg5&Ru{#s)mzq0fm1-v1l; z5}hg1f_2f(-G9cS`jY9)G(}_tYp<32^pMr8k}iNq7T{~)udJPl4)W3c>k2Kyi_`b% zQ$6u{iM27ktuXlBTVsE?ln>Av3im&FT!-=AKRbr{^&QI^_Pr}sYGuigaKrV z;4-GnEUW~a1*U0UABy4VoPHGRexPe z-O_?o5w&k?;Y>kFL!aQoq?W4qn88J#AmG1X3z38Q?s<7km8JYb_rl4iljf7_PnKKF zTQ=cWk%@!^i>*&LmrHdmb^Vw9@h$PbykzEg92ius`ptcc%DsUJyKYAfHXyJ-=CKG( z&*v3qX7qLr!RHJ1i(ryE5O`j!%} z%1l>o1{{;c`l;QjF#E0_&ihHNaaZ@6`}4e4m&Px0VEfQko;KiDqI$ICih zKh%*;>jAicdyRVo3>Hz{-e;ww+hyNQ#t8w?B38DiAkLhH)CJlrc2z1yCaG`H8?FY< zDGRqJ|HXOYE9#cAt{Os@h_lojPP|_TRiZzWvQUzrGCMt=I$KMT$>?f_@{pw+_?yPZ>Xj1d zE0aZe;d3Lr{IennCaMrsHPowGsL3UF{{5H={vZb729FuIPD@>-o>mb4uu0 z33A7$5Mukt!Cuo#+zr{bRt_%iDOd?+)y%~HL?+QU2lb;3cM7x76XxtVZ@fW39!=g{ zlL%E?B%V03u_%vC6H*fV{1W2`9tm;&UKz1z9!e8(@)JrvzH&sV`{%Yc((^?S7Fcj- zkc$B-))7_?F+lnWDWn}pnG2apA%%o6+#xYEIVr^iX-ownhK%M4iKj_Vu27-{9dLRU zVj6B(=NDE?wSRDS295H8zrG$|+@bggRogrcerP%yLT)tZC1~2K zO&9G)O{MolQF%&J`=`9(!KGGspxh5#PA#Xju6`$N8)a;YM5540gejL*ZOVSy)3x#c0&tm4!FKZuj@#I7d2Tp)Oz%L_UY#B z6Uw#E&owkC&Nhs6m~ug*59WItr>EK!=|#L=3XagHR8ut8=H61|4Qh|R8r2;l&&~SY z&{9oCn>;4)(tGq)Y@eFG+r7Rx&g_ae+P@>i%C9(aI-$rd%SiqD?8P9lW1dI-RGp7F z+uim0Jy=N1kE7}=RIs#ME-ABI7(swXq~??a z|H1H2GX_3qPg71C#*lVnDH#7N@~wNKa>|qu(jI$v-kv{91#?~ktn!lj+toCktZuex ztu%dFV?mX}EFvj0Dbhb9)D(UB$4Z@7HkBI!yLrIHjWjx~qQnSgOQda^-f*^ROZusc zs0j!+d@EeeKB%AeUXaN%aPG5^>e6yWTN!F-h5Fvb-uLafZu-GY`}>OP`|j}Otwn4| zU|WQ4vt;XPVRT7ZQg%tBp+ZX4P(xi27F)-;FlD(?Y5eWW{|7bRF)3;MG~23cSzoHR zkB7}nhXdrZxZzjnCPlC+Q=KB+;xyuwmIQI(r`hU--o>LQr zYj=m3)Y3R>?bQ6jz{NcE{3W4aIOgiAEX_AMxHNtA0cQUD4kg%E+VcPLoj(-iITe5` zlK)&T5c;hkg@%Gbl8h~l960(kCxI0BPZansiBzBC220vrVr$1W1de7i>}wtvCg&&T zEt8f>5OH%b!)T!9jTo_>d0>3DY6(a-VVwytdW|dF_a~K>eXNQ zTc6}r?$p@X-PQvJjDsW)a zpcKlfs=BOtO=!TCOrFMvs>6pRnSM&Y?1;6brHQQM|Hw-Z6#M#yM&(;rM)Js%tfyl` zZp^)<<>(1r>;HJwuy|M@Pm@Sagi~?S?75yTv|3))St*8nUvl%yx(c&8?NEs!e6mp=h@+X1Nn-i>^)Ic%r9(@6XHHqx-fMsEL-CG}VwGI)qBSX1q|+{s zX+caPB(g_T1EKcOsHc$_Eosfk`L*`dk3zru^T^05dufhY@e1933(h&4+V%9~hcG&j z1Kdd#>LMKzASNMpGx2x+xsbI96fDC@1hd)2l*OwxB;Ya0fB1|XtMho!aFnua{}hT9 zp#=j0D11if`<54id9Ni0UqKiEOhQV$42LfcnStzlERwI~C+o(#sR0yzMhq;=$C70A z>eRYL=LSVuR5e5XOCF=7@+b17!vw#%kvbiE{oMC@#i|UIq{mV#?+{Bgh$Ymj`OApf zU>oF#;N8ISp{&hZU6cJh9U=)!*B36Ez|9G}ki+xUvF!V+Par@Q{J*v96PAtkjZUiP zXP-}+UK?zVfZv&WCI-IgwSW;{o;`H5U5isI7t)FloH*cl&Kz)o;CZeX2}!ZNU*P1A zG~igxQbS;eJtDM^0H-5CLWg~G!7Z&p2~kbH3sxqPI}-<7&zXZu<@xLQ@>XB4;cNoO zJu|^gZEk%;qkl8A;XhtZPC*e3%}#Rjz%Fy^`F$d@HV}w42h5dzD4lrfB>m!A0r_%b zLZz!bV#aOer}u+D)b#e=4N8b^^jRy^rFj@!1Y9cRMt!}Qad}sIzx16{dkpKV5v!0F z(OgiuudEAzURr*=d}j%;wIK5q$oA&#>$hxgs7+wxE``%$?HrVIY-^(>5B1)1iu9Z9 zxX4~B;*I(tMGkk{iuu2T%}? zzw|MG2g<#v;7|f$6#$&JZ{FU08q4Sr-!-mK6MrIwU4n;3>6%eC&eGjdp1+sMuAFM6|v^4i*{$F`hBxE zC|zG8GUOji`fi;rj$p63LV^O5okxTcrTVWmP=HPPi!WzQz%}4mG`)((Nt?iN`BPyP zzKxd=WsSCl>yT~V(1pvUIhF_#KKw8@+|)W$-nlAG#E{Fw@tmpEwU+P!lfAg<>&eC#u z&G84!Gs`~6FUR`L2zb+-=bniByN_3Q-nMQu)2*Jp&`KgbAz*XVB+c9yjr24qEkkY@ zls>O2E&w|~#J|^I2+y$2dVhVDola-Qvb46r3NJuA&}99>6J|)zBJfiG ziip;+QdhxFoYq`o`Av2*k21e!9_ZSIcji2&WofKy&OZOhyctz!l?`3f;5_2&;drpzHzjxwyeJHwpNh#f!nm8=}~rk+r#4L?>1sEWsuu7N)3(4QzM zUScmf)l@&!C~~_y6;_SMn5s^giW0&e2s}HJS5kPnB~iwU{$a0)J&5O)Y2-tF#tnbA zR!o*`j(>_(|Agc>*Wy&cPE$=^VlPjqPA;*^up2D)s_MGx5-X|~hMn-LxvKG+5Vd!c z{3#<&#d7-Ml#)eB=H{=Y2op2$gh<6MBMF`V+S;<(!uYF|xp_scsI|Fysge16Gjrp8 z6oQf1sC|-NhrO&KtGZNT55tyq4_Y?KIVc}pVlVeyv`003`xb_q8Z`WZ0It^nKN|2> z^;cafR;Ci~zOjBM#*0S=Z837}B=Gb3-NvrV{)^ih*9nL)02gHtOR5R{s9REbdVX@Z zvFBayiw*4M^#AP`gU~I_p@MjH%HJ#Om3m1f>lS!(z6Q9^4;24v<&GvzSQJhvhUH$O z-a-Skf{$6_toMwjEIT*V?XCv6&ycTQ)RKaXpPije8bWw1%?OnHa0rOy)6K~x_Hz0= z#}Vn*C+}!fzER9XEo5g!FU(9u&t+vt&0#q2C@%-{C$`4azZhJ+#a?y4xUjZNvhY7b z09?E<5Nc)2mAwJSbg@=^H{j-JS&U??P8*?kOs+ys5sbB~-ea#PUFUOp!v1p6eBcjp7}=Hz=b+-&XSL{$`3 zm)Q99qjZJAiS6H|`0QVad}%F+T=V4eyExKA)b%j;XB}pl)W*W+0WbAcUT$G?v3c^w zRv^VKjIm%nI8}qY_5X|9u(LslZ&kKq=(-^Se7o$&8*XUEw?x6W5c*z~Ks+<6{XRQ) z>Qj{maV*^salVHaeXOND=|YHIwXynafHle03!#4}<(W{%6Se&)V6Oq0@aOXZwra>z zQc2C!B}-m1<(D7Ha4*5UkFH*o#*a#kwRn0sDoegiOCF`D4-gl_vx(u8xg+xf!~1a3 zD@A|MTk<|MZ&zjSl*^pd!kFl^qU_A{(x|BPA{P06p=97eGI=HuK)HS~0&Y}PA)bpc zdbU^cuIpV(UC-6&I-;@nD)*_<7;!NV=XD_~1a3kdwcVodgdtci5``br-fHPT?1vUXISUX`AoUXw{I#IgTN z3>R+8MC$0-n%Vr>s@cSYqh~P=gNHjQq zNA_n`brwjJ1e{eQ+tk)GSyR$K z_x$crUG>pHwIwXr*SK?HthH}^tS`VxN;cVA1a*6FXMZ0r~xpz6Df+#nTA3#J48 zt3KEPh)5|a;z!H$qxkiX!jeH}_hfZ(-&9A3j#JXRaD3Mn?rVX8CAP00+zW$6dZnE< z>o?m*yeTn%kSv+Ji9%2CQIbV;=I$azb;85ukXqJ_cgb? z>PvnGX`42lybX#?C3=}B!6jU4p2e2ru!5QmZ2F?Z*i~t0XlPVZd%4@A+M<(-9G@1U znqR(T1I1dZi7w2oZ`^Wb0PFhAqyIW~w~9*?CoDGyXOH&+CIAk{12 z^#6bPpWlJ99qLA(PXJynmn+-=?v%!7DWY+lE4mvfvc#B8cp%8}K$t~2dILgI{z1f< zLRZJ|eRx3mFofTud{_?0yqVQElR6%KKWVWww`Z)RU~nvBC~`S=ZYZaHRQap z40C@>I%45@JUwh_#Q0|i&X}{sP+i4^;hkYo=lO#-Xipxg>Y^jR@CkX^gX+G1^meeHb1+{Te*6sqE{e)+hHk# zOiquUK&jq41}{N8X#1YZEDlLFN)eesAnX+jw~0ei(s3^89z8bn3b4oIISG7JM2o~uI#B=`b>|lHMFF!G`4W0z8{st zTiL{rA)!4}2`8A?=%U$hQbIj{ii5@I3%O)TM^*viM;JLFRWUd>wR)uW-b`h5Ec#l2-EuwkZj@(gv9W^;)*l`^ zQjlNWn-LB}`r)Ku3Yv}(&$c+maut{%(imo_qUmf5XX(*}6(4CV%Sgt9c_}ZIWLov5 z)3pD;Bz?XnkPn<+a5!BER8a6=2%`KaAGkR0Z+;56v9#zf zKkm=u&+kv~&-m_NAblVz+y?wf{Tcj?-mbK2{dGy&bLTST#(|81k%3HsmZ>{N{pdi3 zz`$2kzD6)cWN}7qVxmk|T#`|fn2=eWSF)0sxw0(dpStw=2O8oOWsSxuH|dXSRg9mF z(^ibDp`4l$N4V^L!}M+%jDgbq$CtCIKvXD_$s`tLwmOWj&aU0N+&dV{~^ zm88L71p)>UZ<9G$-G;uW4wJ+T-9_8!AIPgJ7{gU@Mp}W!+FZ=~FgVN*fzSiP5k?3I zTmy(o6;{=8l8@kQ#Kpj zrdS(c2@3y#sa3gWI|7lh;E~R*qW;OcEHx5hhwQ%YwnfH{ElII{uckB0<_N=nKdu$= zV=tj9=eKN6EWb-RZ;yDz2nFVLMc&o^7ZdYeWLUgCsN~%5I>l#w(r{J#l{pY`GZYOT{ulAiLs^GW;gP4Ds zq~FYJM*l6J?QyOZZUjE#69TRco*&G1B&~b61hqL3!ta(L6f{kQJp0B!DuH3gb zN1lQ{(Enll`p z;eKJ__kwGYwh3C1l?ioatRZI4pli@h%pdi7 z=0*-BrLm>^rSacNZh$4el=@XY^U<2w;=hZxSZRCQk&defkc#j&1z|trO^-EiRKCeJ~xnkGST&z1?)@k-mcIjy~>p-{8 zO5yTNQj0{IcYv{Q)u$>!Qx9Ls%%m26oR@Y&q$6VtPPH;UIRK>Q;SKWE@-(LN)JOSA z2FKx^hG+>onDzNL{!Ig63!IHcCdrxH?Zztk`Nj@7guRTK;bwZRiZmXjWZKC!H1x!?6BgqDo6m ztDvcrrK!xUNcowZUO<;CO`n&Mua6=BqXu`BEo4ojrxlwkiZ-Vq{C`JS!9mXR`35a2XKwT8}xlF31}@mbIx-Y^`L4rQkIh4l1U%+taRd!nw8 z!6?BK6cNQ4#3m}6uB#)Lz#+DYl-E#`C;AT{F@-dgpvFN5s6$)_Dx~ZwjP4X~2OT_V zXK9xZ#Q1uPqB|ton9yia>C1D0ry@*V!C{O(kA**oy!-Hh|A}CVftZ?-fmrLF@F!8t zq}Mu+wa&^lR68iPwY8NW=^j7O(4IVgq-*X_4$yIvk2M`hcB#E(3AYSUyvq^XqixJ) zVh62pq%98;^$;~9foZU(Gc{It$p8u91A@R#C&LAbSoANm9!U> zQth;<5&!&0D@Y_lI#tAs8f04*AH#%h9Oq(TOycBrh&D7f4YFnVOe)5~aUyh(g^k!F@1;-rut1{CGUFouFQZlc|j{Cc!I^{*raw z$xjgg{T1VRVldyzCwUL1A9wEXFuF>9i4T<+LMLlAy{hvkmglR9`6v(e?WM~@c@mWo zjX3Ct4o{m=gh1PxBVQXNimz>4D+V^ME6@Uu;AvTRmIEglfFhSfzHd zC-`gJYVa|NCYq&+M92h+Xs5(RMoHFi+jvRY3k6G*2)Qygi1Aty4NS}oHUG;>VY^xw zxGDzCW0}k2xa7iztx98Knavw3xL5#5RNS)vH4Tl;xL`M1s41u!hZ%}`VZ|{BPw7DZ zo&KF(lH0g@c{+r6P}qNEHJOB%v4Ks?$m2HH86dgZH!;rtH!+ zA;pxswW|J0I(lB(&bwLNj~c)1=(VWsYY7=yu)Za4a%bo*IsC#)YC-BiZcm1k1pwvA zE7%M&Bbf#s*KY2vRM3t-rS!122=m0-1D!lL%CO>0RP;Zbrk&P($kIAbO?xHpMZahV z@M4)V_Lj^j{JoP!gu90w(D{&|celZln}Qa+20m>Nl0A5QD15?G4=GtI>HhSoxuZWM zA-v6RwhRqek*vGCyfkk$|3LHk>~3Svr{1@}((BZ}D&rCiV*hE9eX~Zg{7La%ao6(9 zi*rjGa%PWhK*smFpMm-G^t@1=72}`c5>Si-rzO_Kv~@coYG+UyQF<;>mryAks1LF* zYA*N8Ny10ew*YaIISF^k#*wwzid*~VXL)#L=-Q0T#!b3%ld0FO)dhaSTn)l!GgeFe zYw>pu3!=r+`aqWmxFGi|dD3)>$U> z3x8Ic8fsa?L8c6A0iO$GknvXgAU)Cwol@d7Q^XFXGBPk~h(Lj3P-!-}(^Qtxx{D!-GF_&1Ji|g?(L(A?=+} zvyzRH`cL(v8>84(_d*n4g;3Xj(eK#eI6}2bnbcp15YHR=`pg7uP=@`v4!YJMf3BeTvc`47kki0IVCM{fRvN+KfH>BJ>h`ry z(qB8*KM%xf?+kVJ>2ccnGf)#QHJ5cx_0jIU?sVC6ymi&myALuXztuF_rL&mu>?X;j zHjG_7K78};1p&@rcztGd#_i8IRa4(n{SlwP4^ne7eAOR$XoZHw-WwUIp6--9==@l< zQFV!JJ<-&vKhKCKGjdRBZ;jy!uwOMc`?fscHBjQ}Ay~30Jy>u2G7gccrIE@yuQQM1 zvB{MuIpy3E>x5#gs7v0jd>J2K|MU8Dso7m)W8B@sEYxEyu&KK1vA?3=_hv8G6lj_g zF*p+XsW=JaD;!aEmJ?6f!9u2ZO|arsCc;5R>2cGK`ZMSARDO78&-V08R9AFNb;r6a zS!yP#gB|}nsSzp3$>m{zGJd4Khuo802xLm4rG z+!D3SltjQInLqOB6!jHVH&r#SHI*!xR&ghdXy6*=(Yn&&9p>hGgZ+1i6Y~|Qq!vh( zihgGM2MlZ6d4qpfnx39f22%oPw@w3X4?9)DhVD^jJj`W&=L&yb>UEa8rMflAm45LF ztp2qIar&|9vhJz&N&0M!;DiMj4HyfN`Rk&M{U4vRZddmx^R*A8J|g79&DZhSXqOR@ zzDd|*WH4>D>Y(RsP_SzCU>40}4>4C)uC9f_mWHdc?m_lgY8Ox-*prgmNQ4dOd#p1p zEAbPuSaDC%Y5T>>i1{^lP+(B9WgmZ$eD5cXimH|&Y>Akk#y5XGJSB#$4bBfY)oDP$ z6VXh1VX6nuJ>_(K>^KZ;ZXLxCvys{^UgARXmIwiTNK!mZoc8(K&(v=a;|C{no07-# zTMqDgsTcp}4_*S+&JsUTnW}kq2oYrFEG0$-1AmIp)80yuyukkIw*}kb@34ks<l3ZTP=*8o`{}U);P=6@&|88o2wzvAj04=|`+^Iod8yh@N{ss2p*MpzH?TarY zi%s2<2gp5iU(U3bR5 zl6Q(qq>(gd$z`oA1CL*9-N$ULvy`;(V}q~O-XgJ>z|hfC&Jys0Hex?n=SHy@6J6x) z>YfWu|BaBPKl^Y_J&Kq(eNOv8{&;RvS5SmNE+$FC$e?oh60mxn_>sK5xxH#;0<&Nt z)-O!$z80LDOPvi!Pb|`=NYeXk zXjzGVoADg)@b5}L$y29cHzrOcWBk|h)YNxEo#a!jsWDQ*N~&ilZfN$EB%5_Z+E${7 z^egzLwkXINYApU5y+s~Io&>@Uzd}`4h;ro*>sBtlNHXH$(&^;KlY1{WcS8HIQgA|5Z@^@0bkh4Pp9m)$)`;cZ4+&=a zQ-$>%zeZYyK$FtT%t%KMZ-Q-j9M_e>^4{8RbPY`3MH4+`>p7DV-$*hc_&A|I`zCcJ zdJppGydHP4kSjZB??@iD+Ca1s#*kw&!-=tKtLpv5obSl##?c`+9mi2gdbZ z?k_)ou>b7kA<6bXbC}DZhkbY)*M&i0=jLe>Nd+mP)GoVhD7hjJW}Lax(F{lQJ4w!o z#LU00&6--%0D7~;g^}XPI?N432-)2eO@fpoY*T|JJ6HI3rJtKqZh}7-k1j1fii>c` z^Gci^4UA}Xga1VpzNMNsuJqd*UJ~y<*iM^WuDq|yoO+}|9WM}^;+_0d`zZZX)27n$ zZo`nVnI%!v+sTnYa0-s;zuaFudHDG0@%{Tju{_V^LZRultALtrj0|?-z3tpRT^xRt zt9AcyY~K7_g5rDZ7&!)ky2E+ zz*wyoZ&@@u3p)e5f&?QgOj_jCFvfTcDL5)_dT(ZF;a=B5XGLRnlCIWJl8>7U9`76y z-T!fa`PGB1r_Wbc0@}BrTZ5X)*Pz|w)fGYf#OMT`+s6@4nEAqWVX*ReT@!fYb$;fTn#YGh@cveK!^hfgbVK2W*@IsR)clyKG)rrr7! zj5vSoEx&(fddB60#6V*=yI{NvIGM9{RLADKbz(w3ZUO72=()uTu`dpe=hS-hB{12< zZQ>)>ITKyLp??!^XD?_nZZS5;3x#LhQt>x+;AHtf{CKEe92W)5i#i%i8O*P4Co1lp zuDdSC^IcK|!37a8;O3F2+V;3ZAS7Z%jk%$Mzqur8wmqnQ2{DoA@Mwsejh%V2NhD`y zzox}2L+APyq_oF(BwoQ|nbkHl#4ZF)R@q*8rzDXQ<$&<8_A~|}ld1Ci>v#prPl7`1 zY(rUB6ntRL2%gHWI$(Y>ec2?DsVtGYw7r6t=X)$6jK{`_$~}vYSJ_-r)lM90i#IAc z|K;T7%Dp~Px$_oRe3Zqnd*VZ0+g5j$-bqQOG_=>JslZ}WHYJ5MQ86I;_2|*S#_mqp zr8z$5`0BlRp9!u0TdAp2aC0Ra3V;Raj@%1?`C`5S$pGnB4*l^>wCS%FpFWA#^WNge z@damB`re|%8-qc5N)hiG^-W^gAksZalXei0eHtOygO=V-{?C**0u1nW5`&n;9E`IB z%)G?u`V%r3ku|?GD%!M#oy8 zyB@%;Mq30lzgZ2wXb}FnL2tN1?W)4A@ZofqhtobDeo$J5!}VgNL5INxQB|6t+1+~_ zVYjH}3TYNFUoal~tVTx%G>6tfjXG#_wnl9{6hGJG5^U0(l{#qw?E6u<7QPC94QwVR z@6`i>(4k*D|2oh4xj6s{Rq~sdOMoeK`h1r%K~r}?^Rvc{WGr7;?HO8#-KEtt@dB3) zrsmPqt#nVfP-qe>g51MR)dpsw$W^5iSDyyzSu`_kbo*9!1NiKnzu@}K?lq5NgtJ$Dy|9$|v zUnku})Rss`y3eOiwCFbe*H?*HclR|+!G(~kIV;*sK`CB(^SmyQ9b(;^-&hfV1+7~s z8}a?UDf$X49@85x2pvmf&d@LnWf>l3Dk^h2$YK-G@1hu0W?>J0o5}-mZ_!-)Qkx)&ms<5doPI)2m+Ex8s*t<5r z_?H|k09XeII9!Y>01{+XA+ZA+o-M0>N_NvVnmM*gE^R4~#E}5hD9>ckv6*y;s%}O$ zJL7sUa{b4mj_Q9UaT3z`s=pmdE1tfp6gR8-AGWmv)ZG^~;l0JNRm&)s;_g!h=W7*d zrPNlqfq4`#fFTTH1f!V5oSXenyH7F5steHqG#^HP`v}^_qLw~+&OJFza57$da8iqt zVpDo15O!|{2$w#?XQE}>k)u^LYf9-~dqWZR8Ctrb2)rb~#5@$ORggF3)E9FnV!^zc zY3#LTF+O6bS1|62T(J-NJlV!3W?|;#vBjcmyKP`IZ&eVuyL9L7=}I@vY#?f}yX;&! zdHJE0(_HSEAA503bN()9Ps0f8p%%uOf+mVkWWSJwCk(@}8G38lS1z*5p0cB++*rBv zqvj)b12h?AJ2$+)Nk2Y6tZEh`#oOZxx*Ltxy7bV?tt6Yv!+e-3F3M2T*o>ID=A_}4 zrM32OcGkI#r-go){L4I*dO{ZlB`KB`N5VS}h5DMuOR{4<(y! z<-Mo@FAy<;Sd}ObJrnI&5c{+-3a4nOkmjQYlU2g@tgh85^IX9MLdH|NzlY~9X5_EO zumtEmyr`^Yixx(*o&VG&-ZV85^k89Os&mFCfxR|#SNG~@1VzEp6lES*Y z1ZFBZ02@A#M*Hy!r9Lgib!XV8gycuCrx&@;sV=+|S_(tWWw#>XugbToB{`MLNbPVc-QQYgwN6Kyuq^l}R=$|Ep$V57*>I`scFWdc zBTnoW${ERoT5FI=wN{RW>t$m1dbm->!i_QzZZ>djvmDWj1?kpMLuqQBEeGGT?XYmG z5iV~{3bz|}$IdSiYVeW%t|lQ0>#49@nW!D<#u zG@>7SnT0`pUk6{!?AMkVlSzL9k{eJ4= zB31S(YGru?o1*v7#~8d~MYJ*oaaP1u#`L3-!|MsSjt#AWPVHpp-3xdRl|-Vhn7I1;-fVdMr(14D7qH%i1yV_K!Bn|5zIlwufi8wzsDT zx<{iPcH8QG;q5O&?Kds8VoTpotB~c7bVV(is3PTE-%7%;J8pvRe*E3Qo*_Y>AmpI9 zydpkxE>2Btfa1MmSvDlR9`G|oDH<|;yDctYk#zSeU_gQFkG`b-tlrnN|NIaB#Qw(F zcls~ByZ9M@z5wjKCs_cjgnRlregn>tKY;X$nRzI2LW|h{tHx^pmI1&%IR9QQCKCQ6 z{=7|+Sm~nqdh!2{WEGf$8Ckkj|HA3anFe3%JBXfqh( zqWfst(p;uM?ve0e)V5r(AD;=!%@AnP)rmggW*fzZW$6c(j4l@QFhSH&06!NYFTRHB z#muo90?e4wMh}|qA-Ne}vx8~!MkkFaZ8XuCkkV#kS}4_1)EvD>HbFG#Rvpvypx2+;%yg6it)zQ6@*GJe zsKcGeX)YADH#3LV4hG9i>D=2%HSc{~rz`mBRj2Wj*@I%oT`;vpbl7x*^&=fW!;D6? zonx{oW}y7nW#@FCzKkh+K8&YNRW-Sc{{SV!jcg|JL3}Z?g9X4~2?rkChZ6A^vcJlbM*f74Lu`;D) zpVtPUk&&j~x05m>|03Vdka&vgn?WOHymwjK{Sx-Aaj2f|!!iauh*6Z_ zwt#P1@5UiVQ+T)#m>{~u{+=tz-l{zl@@37tO|X*qt+5%Ca19*axvI<&ia{e3v2~h@T2uXuq8|tWWmcGd6sjm7XYKeVd#iW()YY=w+P|%}qP^ zt%S9oxH#mxu)fONb~G&D-x_0d86jjl;zxz?%jFqA9~138>;GS# zhCzwkXZz&&PwlsyED5l-!};9M&`8&wR)uxL-nL~*(_=wrfY^DnI=+J$6ym-|a6!vY z1!T=7L!L>!!lr`e4xq80>99pB7(l^0hB;DWQ6X>f+J_GslhVZR0M|>iN27Bof3zC|_}2|;m(dlO)-k2~{nUg| z*GG^v=i;iUO*%JzWM-^Qq8CGv6xgeqw@(W~;JIoInXWc2E zkG0f4ogHhHt0Gn(^>lnrE-*u;?(C0T0K?-`?LJ z4(5pB0(&xUanxcG5kd6o0b-q8ZqG~;fCa>bTFYj;m z)?e=U4E^5s^NzhfZmZjCdUJ`J2GtkijUB~XBYi2Ky>uCIo5L6egwsvnp8+K7oF{+W zNV`tf$cdstgo3XrIe66`uR{^Bil0Bnq#G1QEzy#-o>f4q50ZTnyBuRo2?LdEOHQHq zAt4Sf?~Mz(V>e@divuAEN+0G|^S^ua-IAnaNT4AIBm9Us2%i@@(Sie%Z1gK(1gcm3 zB?3AJ!bEPc@F3li+_oUSheIR$J48xNRbp#F=JpH(&|r+16Dyj>J-AK2zm}*!m@uuo zB&kbJ7lX;)F==u~$lXsNjZ77AFL+e!OYPDgfVJ#ae0PblY2ueOO}^QTn{kuoUC0R^ z+u<+6D_5N$Sd;Q#jDZ$M*kJDn{>zQ1G1UPnp6ykJ;ML zaRKHX0DcSYPYIl7GZvSIk)#h*Z&rB@AQN6}^SY|eUs6>|lBjkk>C${6)JnR*wl^jR z6mUX8VUNjAkl)LU7$?E3F8i6^y~+jVdA~0J-nb!6cMzi(3kQ;Pz;fOLTS*Bg3w+?^ zg;cAWzC%Y^D@I8JL-_m~&CAhpl-;Txiho(Smf#o-pApAy=3;A+jJ0nyVNN^+^}O$Z#XR(o&QQ$*-CfccHNYFK^S3nJj6Y-Jj8kmGoWn4-J^ZNt zJPn^z>laWhVfTXn#V0HN)0n&Fv(IRezM1auVh@KS0OjN3;yucm*dlWGrkrI^Vsxw_ zH=VRfZj=(>AsJymg&*GH;qG!<)3MN9r)WrxUshSGb^8{r6~O)(z;^eHvU~7zQdHJf z>{Ob8CUIF3?n-*1T%pqqbDs2{1LR;kPAV{k~$DESR^4(ub} z4`sUrl~k1Uar{=#z_HQaYo4t_D(k7P9hB1EcIRmfR)Bp1ke9;B>_(0c?u!Y{gp{kU zWVpA?MxgJua)I7=&v=TaCj#a(nF$2RlLZ_pGHoh~$AL^OZ7zVJNf83h)(DgeJ+`sz zosEeB3L_iUVgyVyiWD!(hh7la=c4H2_uAY5^W+ULTc(oBWZOV|4I^ zjXd7np8}>RpCK+C&B7QvOp-iI{U*zn9(R`s+sWlmkWzNwqdpTg8_uxs0tp*^f28ib z!9`=RJY$&>JuNfCAwycBegrh{AK{|#Kw}apWoLGY6b8n?i=iqF`UT6q;Z-eL9R=oG z@3Eq%r7*xVw3TWG2ne)d79s9}%4f$O zIb8t8HA%=DH5d7;EpyX*RTY#u zx&*Fy$=N;!*z}VIh+qQ==`pYxdIx}J=p5q_x0|}mr$U{0?j&(eY6{ZY6pdC(5G3J(BZK!X3;j%79HvlTe`V0&;qKu+ zBVBn>4o3rg3Us~7d#vmBiCSa!su%*cRjF2T9G=WteOG;R7-rXQ}ZXlzpH>W8Ema9o%qY4m%1OTVUnqW?ymDDK-L zFDTM1k*RiOvfVEesGXhwgaaPI-CG*zmO=seh|5X#z3P4$etS1?H+Q!cKIu9~aky73 zrRqN8TH!8KoF-HJEil?7f+l{Nvz%w;5B!0DGpWZxfl+rIpqmfkrc`xn(j+>fNduH6 zDvd7ckn5pJl9MfCp$~Liu*4nS0ZC7ijtL(s_m1LMmDH^8{^P7%A^-bRnfwW>F#B56PWrrR^%tpX z8CNdX17HWzF#}n~N-QuDVYWa_yjUT|@zNX9^^WN6>v++>0K@LuPZ3DcuI=aSN1tQ+ zX?=Ii$1H0<$jEu~1!Hc=iwrrvsFreY7|=EfR{@u0#7ufrm+3MJwZw^i_9?*7OB_4g zbCn#l@M9>_3nn&bsH|X3{lXdR8 z7Tr8m;z_;IGfog%`uqjh6L=p&*0rXn{7#8A^i}dvRTjBD9Z>sS2`nIqCQVof zRVsZ_!38r|*=_nlqK<512p2X4Pss=%nPw~1hfDRkR8@DZ;4C<=Zwj#iUC*zFn7y*otHOxj=tlp)7nplaNJqj;E0tSsemJ@ zU^$C02Nv2l4n2)SyOwd}sc)yIgpq|nf&D_e*7MZg*feFc>9;k3yzw|tCy$FJ-`Z|o zZjK9^l4XZzzY9EV2#K0iu!swMy(IvL!+Vl0C%X{GiPl36Lk<#Rlee2VhKbItvKeD4 z<%t%U2OV%ZkHp7kaT~QgjhBp_q4`2=Xl&4_F;E&`VcZ4bvjx#blF7_#;hVDbN`8PR zf`K_a9B|Xw0)J?$n_H-s>6X2D-EPgRTmNeJ$SW}Mj6sI9;Z&=}zBDv09MORUWB$Y7 zFYVWTKYf~2ptr9>xP9X<0pi--vir}}yea8-KY`L@@;ZFM>(?2YS7*xfl_~YuJh8bt zGj4)AFaEP|jA|DBXyYCt;pPfkVOz3mruJ{Ee~)Dt9!Huy0LP*EnM*kgu;SpmYuME; zw5HN5Dz)_fc0N2I1np{qZ=W3JlJ6fuvCWo;PP=eC4zZ@Vuqqkbs{JOLQy6qkfw9#nDWj$U~+I zcSla;#O3fERjq5jUP&)-0^MVH1hrT^BA`4##qgplotvTf0*==-(o8RtN4TnS;_W9{ zsqyIh%K1Oy^i}9~Nz1tm7l?HY^lB$M;9I5Y51djD>Y#8&)%*mF=j%tL0k?EEXmG-F zd%yU<(7SKDXbYG&M@@LMk~1iid0@|5Haz>wn!e(m|C%@c-5EMx-*5Vf5?+E4cRGNn zkqMU`F$?C{5+522g-oA-meT4jeHNpz6^hZxu-Hlwjl!(YW}gYvsctAYv7hIeE~h3R zYFXwVn6f;nfjv?K`Soe;v=!gQ_k-Z1hvk67kSqQ|@^;1eg;_7XuM>V8@&+AgTth9K zL0%)d#c(Ix1Ct1_`SY1NYg8^$KK(%cZyhqx4$uKIT$#ORaX>9=<9HH6NkN; zhPEA%$TH;R5dKgmZ*J>)^TLg3I(Hj-_o_@depjE7x5I6s@%EPH?dvltk6%2JYlu$( z<)=qz0D~3>hgoBpO^7*-o!EHnECVG3;e})W>3Eeayb!L1OHJuJ6_Np+|Ku90Oj_;S zCz5i&QKUg{GHRdVL}s+*nA+CzX|(kzY6_Xt52W-<6>Cc%x+Zm?Ji6&J z^bT1mVs+zC@Qx-~unxb1KuVl2es5p_liVM{pexcVO!>@8H2%ySPC?@ok_Dwv$xfS` zh`APCGx$hSj};a7_hcu>F~bn&fz3;?=oV*W*J;q<5uHu}8YuO;YZ3__#HayCd`MFr zn?>>R(41E8>{r#>x6~q`ZzF#eZ{iJ9y-MmIe{H~Ksn6>wv=bTfl*iQ9gg#Hg9fePwpxLon~Qe~~`EN8lJq>AeL0X&f^%j+K%+^M=n$GBbCA6@ z7geTOoP8F6%U$WCI0&?*f_Z$HvEFVGWd)IArD2kvC(#NQ`huJW z=UbO%a~6XJmLNg;{r>Gt>i!|XrTgK*;tWjLXKD#-l^0ji&(<$uk50pCPVr>H*x=Jj zLAPG#)Z&q@=B7jmx}|Uy!+^7c!|{g-W4*_Sp5HkKYnc*u#!6#QS^gjE`f(`L>oxvJ z2@a|CO*UOpRL=wZ)51kyd8&J#a_fy5KbeLxC>Y*2Ma7%l3x=%nJ1d3 zDP3kf)8r^5F8SRHky*8yVobb%xvi<(AXqoh0?OcsYL&##URH?+6amOvkyf1xNWx?4=;zK*L%L_J6)A-1(u7Gxw5?zq? zs?EZv@wxt<(*jdxfUR?e($VJ>7sVP*wuhc$`%zpl%D&-e7*%rin?A|bp6;(L%yYw7 zzGASye5Ao$;w$WlYDXZF$;W7=A42k|6l_}8ZSC|$^h5|K zY(66hWr3-!=5UG^O7V?0){J0d*kX6X=Di~46@a#Nq?`3PO*yPN`zR-S+sUor#=>4# zvr6f|k+zbW#>M4l18D;vdCJoswig#yS8K-y0H51_%?~e@H#g-4Z9{0!giv0rw2&oV zl^sg;N~ve*c-b>aRu|IcI%*b!^e(S@^+YQUSN99bWrj7gv;)tD#R%txj~r_}Rz_Sb z!-(iv?T%?Zz{O!aol+F$)HOJbRO^thLQms@W*ZJQrymC?b%9Dj6CFDlMSMaio>-t9 zSp+!O_@qc>Vsy4pwh}Zd6{zS8zh#|sa3;~S_hZ{nw6Sg5wv&x*dt+x~V`DzCxf|QI zZ992$>-XNex9a{kHFeIMu0B&eQ~mAJpPx*+R`diz028Igz`!%DA>B5U#U$HIjNP6C z49~%bD4XL4M~O4(L|;s4lv8PlxV-nt@kUVOb_*%huHgrgMjB zz{`5cP;KpR{Ht+z=62FNTWR&IuzyZ2ZJAETyi(Z3zl#7&=$D$FJaCxdz(MA{6sekh_xSL}CJp?30fAKeW~kF0G74Vtt>3wJeS#6Cv$SWfCX*K z;-=yA&%lqN2`?lNIyFLBR2vtn!d*8mX7oLBOVugQ>=VhQ%ZYP%4xlGMu7s1=(2rv4 zINiL$!fD}$u7c_A4CBxF$zOx1m03Hc8*`FHyBSZyNq58kOI9h$q=5KAm;!7e!1wL1 zmHA-{2lUE%Ie-kq>C-hHUpfnQud&+nB6bc>yKK@dVb(zxW5Ovh=7)^hh;k+;${UE( zaEB}Y%SeMd1^SbgvXt2wg$>X_r0cH#22mD#d`wpt7`MPY!9)9FFWVeNNFAnl5*S(B zM5ji@OuR;QtFc@+=q%Z`;t}@rGm0)sJbG!-)eY<7(Q%rsf^o& z^yV2}+CXNaEzvJ?oCQ0u9mMWfTQS?U<*b2Y*{}fJ>?BGwf}AOSyX6>B(Oz_H5B%vc z1Z$6)acypi*NI%i(i?GsfjUIRSj51UwMwu(&c|UNsA6(9qx2$lJ%}bjlZ)YUMDxN% z!SbxEZs?5#)}J*(px~yvHES_|5(&w6X}D1Opfv~t9?v0W>R4L-TWF$f*RO&)BM z@+(AM`1nXXihc)`b+3d=ERXzMAQs<~3?+;r+Ak77u%-A?Zxl>fd=aqihyhYMWk5~@ z)@Sk|L(d9aL$Finn3MmE8vc}e5Xx%Sj6BnNNES(igRx3|usTXK|Tk}C~DG2e0GF< zhW;lOOspGuStuKBm}jVFAYgiE1SYpA*->|qZct2J4?%t&FrBB6!o!EqF+UF~+}o80 zw_2PWvlA6B1>22{I{j{KN+#AR2|rmw-6fOabitZHQkVqpDc}04NE`oAm1eE4H0lgO zD-@HPN#SCk^Lhe++(TpQYfjj zY znuc0Zp%jithORSCnmff}P)ML!+b=%T1QpzkCIpL^e#tvo#kv{tH&20;B#mXe#T$1y^i)fglSb1#t898}7o zNva5Xg1w=x=nLNFaM5bP3aMfT(F=eZm|d%h@7~3OkM>^l z=2J-+AF*LsR($4~@JWe3XJ!#pgWgvtFG2_XGFOWESbygpBZj0m!l#cQ97>t_?yc>MEzeDITx+K@)hvia@D$3R2r*J;C){nyQ}lbUY&&v%(mJ?W}9 zEW9l4b}m8>!9#+%BGD}A{6LM4r5WBw3^f#n^1 z$fm{KZ!b3_FK9**+oC_x{mJyNllDmS<%B(yoav`PjO0}@iLq}A^3W)+oafW$J)`;( zvu4C;0|#plJ$*M02-&mhR`|JonMZCHoli%QfR_bphwBz+vx6(Ln?hLGTqdJU#2@1}inOF9o#r1Wkhh^Od1izJ5D~V9WHo5UZVa!q@%ITHNLy*n zL0L05=&v3Mm5&m9u?U;{qOyoD890$*mA5bn6RL~!bQzXE zk5OJgvX+-LEHd*TPsoWJ3%O`=aJkBvNB|~B6O>^iXzRK?oR|TFAKfI<;Xj}qm_atF zVhJ&t%QeonGmh{!VVJ=lZS5Vc);>|)#p3&;#KZ5I+v;j&zjK~DrBCOtYD3T)%QvOX zAanvp;YDK!b`$hid>o;3_>9bQrEeW8Ej$`B^Ri->8HX9c?QUQ}XQ4Nx+xp3S3`3QLz2UkMlHmjv^daWg1M*Wc!#oULIGjI1wuG>DuZ z8>f4hh>U)&@20kb!1h@=y-{24 zXCm4!3Kel`64W;ub2=w$o~p@KxwR|aHEbLzF@Wsp)vALlF$XWF&&=!GfE^93t2Wzm zI0I&bb9h&%f;=x{wWk_JmRig$vMDf3J~+on(z^s@WF#TpwPO8BP8Gi}1*d+dp2z}D z^m_&FvrOpd-u_i{7gRxhxz-F^ybbb;u=xb!?Vzr8A-UC zth*IAXRZ6!a{+-AK1kJx#!R66?71OKDEG5UGD2OoRrtV!U5U=)E7xEDyA?kP0Bi3- zKo$n}SKnLTXV){4?UF^GIW}9p5mV|rfCt-&uGzJKw1+MB-25-znKiq{f>$W)zXOyj zWC9iUd0ythOo3d3tr$%c=aw5Ue<}2fEdICsiHV2L*Kucufv&~_^xFP{rlJnMRz_If z^5yXmwOO(}60#(in7Zys+gN5xXeR5;ACrPcu1&Ibdh?lF^-pO7&8~Z`*K{ONapmi! zn!IWBSnXx4{_8D*bR=d3UK#5g{}huqdkS7JLTa(q1MPO7*l}`()Ob@8r4H)# zq4SmftaPcpM~Y2w+mW5NzW_7N?9FOotUD?-7|ekq_=CI|a?>u%GRl7$y_#NdRmQJ> z_yEPRMyN8*ZkfFUc(#a7qYniXq>TUS9j8)-asK(Wk5YMTt6F1&byE!H0! zv+n@f%yy3xBJDm-i{N-=Q!l%}YxBy3@y;#pg(F$Ieb&v#?LbGXdCX!qbp;;VlyC^ z0ZK?N+Oj`t$W&GY*O)}C($IxmXWM`6#-Bh~gB+j@*EYjo&ek9KsIR?kK6V!h!Q3Vd zgiJZNB^xK+vjbkW9m6RBQ`O2=fRss9OikPe zN<=nVjVrzhJbnc02`-7*H1GElAI$bL!A^ZHFrp*iYml$X^|b5=rxecN74mbXHidFn zi8LHo#WE+9%+%&Pz)@QYpVxa^U5AxalP6B%h@|Yr#D-IUmEy}-u*9|f{mZJ%pA)ItkwOg(U z&IvTH?qb>ck=|j81#3M#2P&&HPW$m#x8RgRI0W=ySDmcyHSktt+UKe-U0!YhJs_mL z&P$uK@g*o!>0KyEY}{Y9*8Dv1E}T`bNxUTR7O6sRvy#vyg3(XVw!&`b3{%e|Cs5H1 z@O&^(Fb3EvYeMlN0Qo43YEkL-qevlx&69Q8Z)Z=(u7f?mbsP#y!%rniQLQPi@I*XC z)n^Y_^taJba|V#sZxbzbwN9|hB((p-!dX)PCpKSbz6=`tuYAUQ@ci!f87{pVZ==yn zDQ7+L-!~Efrn{v5gb<9#riOtEuOG^?q^2)XS|&7@(XPm0Btv2=6;vouk2k!6`+iMu z@-q`WAcR`K0Q+C>{!b#IGM{gBO=cBB@hN#1IAj3k1t31>zSpK%h`*}3W;F^POe&Lg z{fqo13s`6iACA%;4FN~7o_Ht>+K5kWmB^_h%652sJ1^-%Au+x;3u9JfYadX{pv+Z4 z`NIm^`A|A6&_d!W?`c~|2LBi*T?;kc znd-7e7Li;2;X7imj>PG|QYI(%qoK`v49d7jjU%A9+&+2Zq5i6mYrrs1ZQ5?NKFiPJ zVkqxciAyuBqL6kmy@Y+YRXDAgm+rd|6=h70a*C4(1Kumm}m6IziMg}Q=h zN4D7F(EMG$0g zRLng7OXbg+$?F+brXPwGD_a+84cu>0*E!a_{@G0muLc-qF;SO5Y_5@@$jU--qos4C zOWCKagk*KkSB+p7afQTfrGZl5>ba$Z1JRI&u7aBIn>iyD+;JlVxl`uW30wY@xXFgg zXCZq*(#JMtV%2j0^q%o3M%XIBH1oNQi-6jlQD1YuSwM{CJy-HOQ5 z+K2f++pq%#a+lMKIeFR!?jsO3N9QL~&lEx`T4_J4X@8mik;%b4{-zLg*Y_o$Zt|vX zn;cwTZi6q}jZJxYzM)W9R@uOSH{QCitxC4hxtbO&6J%}wsRLdkX#>KP62CnA)bquS zukj~F2tQ)FIA^5=N3Fj8RO#>3SM+%g$WM z#{JTq413*F8U70K7FlqUN`VF7j)c-MX zt{61u2$qZ9RnL=No8*t3OYkDe?G|k`ad^FOWH1Gi>k3Da@i|wUf7e3ugnHv<(4=%`#dZQ z=->#ZGcEm$CU%6D5z7-}m;qAnrrTA1F&lU?{!6;7gpyg{K&Bjps1cdz4Oz66Ct>h3 zQX2@HS<#MNn}(Ofgu7r~VP14DiM&9CAwX$yz)G}jaYTN}E8W(nH;f*|TwUG(2d90ChZpTnBpWWtVJ8SUcJje94h-EFgtd;dcP8)Hn3XSWYUtl~y?iK3-Sng{F_T zKnPV7a{axkS8lxrv}}i!ZDw_*-V7j}X`uqZht$C&njIw)35i;3uf$_ih!U$JLW!Mq z9?&;KWHJ+EF$45%lc7l&R)?PZ%Ro$=CWbUdTKke(tun7rW%Wfn-Ad5ttGM}SmkhfR z@^oaT*_9(GHdxz3>YKI;#}oIg2-|lNQgmIOp!Y3n6083@H&d|fKfxsy9(MxM;hsV` zKqR8dx66p;R24>LGTJx=ERkdkiv3G+^lRJg&E?gBR#p)MfeKOjmfq|>Rfdo)R;P35 z{AHekiq&pXDCEg1=*ybg&1si^O7by!C=;P#kua2o98$HjkFrCP5WsHq#zBw4oDNE3 zVW^IxVdf*4Cy!XpBzK4F6U($oLA;DWJATX)pP|27{Jc)Nc% z9Y8xsTeuw1H7xar%wzOO5!82E2)FoytMsfK)j{(_p9p^ipA!co1n(HeehFW+#LWY`+GLV&9`S0Qj0zjEYIacz(5+! z43p2vuClva81>FrXGsj_1ZhTB6HkfhT`0I&2deyqy*H)CSNdv7F)h}%OlfQ*h0(Gn zR{aUDC0$VBs87DBl4LYXBASOy&#Dg6C&3|vPt$rtQ~_Co%fv^LJY0zEWImvKGiF;u z15-I+XU*hT9TU$xL#SmPg&PpZshM-1u@xhlQ4g|y-AO^~@7xYPi&@if2dD9e&>nD`4A&Co82e z2;S9Ak?w7@MDp-G$W9qx;Gljg?5VcHO)I-sB4foWCXbTcj*PBJG+or25Yj=7zT7om1lPwl~l;LE#xdh^$F zbJ^m}hi`P1WNfbJmpM2oYV*&1v#_@(>@C{}blz_EM2j8}F5UK5=#)943ob^sY71dl zpO_~DTs&}?;*i^@mdtTyI#WOrw8_d1A{F?kXFMLK_#G1H>%Y$%u;WTh02b2n8WP;`KE%4@XIT6(`bfo6GM_(duQnC5rLrtq7>=3{HNRrBvm zzXpWnYIws^yD^Ytacdm2-Tr|7OS*Vv{_iWuSPNK7zMTWD6ZkjvMu7@LK=n@Fulp=N`` zlhYW?JJ4n&z-3sRjWR_%h0%vCP}*rXQfQ4bCg0~28LU8W6#cKx6F5q2(Q5zn z7|a)4=!^N?JYr3B+x#%Bcnbi5>W|KI)-e;_P?C41tC{kWP!EmDDIE)~_iBH<%E|VV zIEnc(|JW}O{)TGs$auWN@-OljKy4P^bhD**DJHJCig9z!KjVI1bq8~Sioy>R0>}^q zZP3#*?vKb{NUL(J(-;mu_NMTre>X=2f3siF%U{-OM`AT~U_0guc84Gjn#naP%} z7NnGqU{+%8XgV&Dqnwr4R7vE)puE}9q%cW`zWU z)vsaoe?mB71RO%A=a%<`a^j2?X;Wh=|46?#QmzUef1vGe-?@m@a=Z$(xc=GtuAYOQ zI=dMvmwq6y3T&p!eiLx+$o8P8mbA3!{%gR{GMd!CLn(dRq*C(NQ+x|)$~Gx%AcvKo z^~X2B_&&9~uW|KugS>c$jkYRXq~;k67=YlfP=<6hkrIO z#GJs1IuGmo_j(p5(&rKnje(U6_wlJ5o|>YR>)hUHrnp!(3#{}kf{tYpO{;h2ArOv7 zI;d!eFID((bzcgN0=IMVpM0mD6XXChA@xXEwV|#E&%+q|);CRk@v^GGuCRQX!F#Lh zH(la6v~C=G71MXs%!{{Kl9$5dVOxZgCy6zEfqo#SC33Wa{<&T86_!u?6YviC@a4$w z*YlTnk^C6E-)gKM17qjW%HP-e*H7){nS)O{)ho_E94?kyKF9s|8iVJ~nz%0sYte9f z|B;gViJZyoNj~dRANi`++u5U!xtkvf4({R6_6={B=D!xTk8ZQZrka?u>&Ug^R?SA! zA3SIiS?uK8Q0*apmF4T{(8UrpMmI-EF7}TVkkmgy=AOMHKi-2Sf7S1;yd1G@H?Rde zeSCC7yn-LUh1w-h6eH_*4GOk=Qb`ArEwvND9*F+jzn^0Nydbc73eK&!2=~rRE9E~C z_G|EO(|Q}*eE-e*gnt#se*%{4vw#k+w6tgCcDU{|!))P~JKiF*!|#QNLZzmY{rM6^ zHt8T4bRjq$V@-@&%K{p5FI0ee^{V=H8`WP+cP<4(lUdSYXi>?5b&sd_wJ&dTkJz8a zsUl3Nxpa1ti~}bXVr9(3#eW`rhFWJ_Iq}(7%NyyNoCfvZ-zpCRxkMI!R33mJYg$?SsnqYj-1xyG~^2@mdy zvifYqN zaAPS18_Y5H$^4$Ecr0&rg_cz{XX*)+k^4qC?%t@cV^m2X8w&k5`^Q8?Hf9$?r_INj zs&PVApU;@q8=F(3%sEm-hVuJ91Gp5WNpdQIIzc(Hrk4tn{m0+G)GyVFZjY~y*6?A= zLMqpqPf1YKl*Ql*1poYWhRcr2o^gq7C>yq{Z@2F)&(t#S6F9(zTxy45YnKGsPE1cB z-|`=rL*RC5idf|MQ>=>vDIglS>!v#tC%#M)OQ`A-Y5KgAu#MD4Knf1Omc)WY>VKHmZ-`J#*WvKJ3+XxDS^dzD@f8 z4BQ8S*UBCR3vF znTU`-ds{|#RoE+Cm%kuCaOv8h`TP_OBE^$^+B=GgD`IZnRK;1YQmGZR8^g9B5+rt1 zX4^Q3FgW|!ET8dLf5#$>bmX`fdtc6?0QHJ7u^gU$V=X<~QNP!SL@|3W&JHkc*USsNz;iKuHCm*qZ7=MZBt@p1v<>?epdmCNDWd%kb+3K z46_{u<4S5f-LnCnA$y}T2ZLrul~vV~%;mpmkpwXQU9M~khByIbiOayM+`x!ZC;kS& z#w1YPlFRxN8dDcT`=N)~GFl&Wk%x_Suti_k-TA95;dK5Dqyip=`>R>867PzM()D=8 z=U}>_ULdkU$PVm8GzQqIWZV^#v|36M1>2G>{`>9;qda|}c-V_4K3agL_Iyo5J~to# z4l1Pciq1Ff}Um%DC`zLFDobPYGl)fEfe91WoD$e)P0@6N^a zwyRqD5(16A!ch)=1(TP`6TwXW#6vxUyQ@>YYQ2AP&bZa)F(gbJf%q;8p0EEFe!j%K zRSzjw=M+ALxqyrjRu$dgHg~vUi!|EL6Y2x^m5>jO(IdKXMf7^4!vskUT>VMzZnFM# zF%&<5lS(aVlH+zKZ5ldEhPJ^VILF9bdb$%DH$|D@S34vaeM~c=NVQ4Hv$Y=rC;Jy> z2;-EARrqgzo%`R*SZkO<;kjDoYbaN!f zeT#%D&WrXC?<8e=KaleXLh3J*2}Bu>hbwks#K7c;TVweLN-I5f59;}^`Xysy0A!ec z7-^V0;_*83gv~OPFR(Mqb;2KisLBV?0?kTdV0&?6w?&}T`yt$>oS-PBr~QXHjxkR9 z_t|tvnkJhco|{fJD7Q+9CcL!WbGFy&09}a%9$yKdhmYpYy-x|YH={y1)%|K`&TF^% zuom#@ci1K+9rWdIPjh7O^<-VJPh{+6cF~6P)q&sIzQ5EiCHHaSi?f{3$2rxzM#a>| zYx+yCaSlg}t{q%)re&d?l^_!7?!|jZ&t8VkA_BKT&*xEo4tey1Ly!hXbq2@Yqz9T&U@CQ5(UxAbK^N062)!e5>pZnlXhqU9~S;qENKP* z&&e-aNsaIMNAXVS1vK(lP^qJT3QAOsph^OmT@*r*vQgjj&mTXrbVuUBbAF;wdGLay zCL0|^VZ9{8B|F!cP6J!-dJ}XNymO1TmYjajiqeawRZ+yp2xZKKB^KXTln1Es8z0Dk z#DXj%UP6ckkzo!se3`T0vRTgp#Va}BD8{t{YK{ATgHtlBdtUGMDFzS`_liZJktzg{ zQO}x=Bs?vCh3AQ7z^Pl$TTK^)|;oqiu5V7TDH!6G7keIz7Xk^^ExgG2Ic

D& zKmG7e67!kl#@t`?2092GluuaI?(wqHGc$CxbhOu&-QklBs;yusvX`9XbS$sFoH+FwvSs*$VNBEt-3}x$RNG$?<{E4Ybo(b3OQlfghskNz z9}K5Z3VQ3758HkG0jW@{RIXI$g7RShkH;@~Tu&=BS_r#d@9~%{hig#_2T@|P9H)w? z=gh}5S>q^Cq)p*cpk@GaSXq4sH<14^6;np5c+t|$J9x&lS&Se9UXJl& z`)tC!CGF^PM{9Gle70PoNpUr~Y%X6Z!}+OG>@qySno#@WZs|(!*Vl)pnmp&Xm-VKQ zd#My=>7WO!yH+kA!}m@QP$?RL){Bk$Qv*y2cO;BUYachhU4q|dA!Mv|yd}&v+!gE% z{DqB_ousX_y~Gbfu*tQR**BQz*PQqTVG6mV8#<{f+pRkMaZ3L)vy(`szQ9`Qf3L->DdXY}1dMc^^Csk2NTKs7&QcmZsc@0=Q*+*}0+ubaVYp z?_|MQ3hbnc(VG!jcF*kMaE)V8EC4oZFthXNL(^I^9lZlOJ$lJAO5=PrN|Oa{fGt+^ z86n<5N4dk4So5{kLjS&dhC18h8m3KH)**}vqTFD5^iMTKEbcl&5* zW^QC_D;06l5fzsu|eN0BcF>w|9d0O=b_CFVJ+E}_9y>Lu<@sRBZRB_KQXt_6*y+3*^M zE`8Gx-~2b)<#e>sMPht9=HdY`yV6x{- z64g$bGMR7NOT#uSC|2C5PQzyT^d!Zjg}qSQ?g6h$P4ccGk1(o5QhVy0CTs#8Vc)~9 zOq7?zT_f$!BRru4nCKiVUdJbNGaH|)2T8r+vx5vQZAuho$o6xH5)jXZGCov~fcRfT z&bKQLJ3z=#;>0N62R2Ai419Sb^WkaElLsFHLI;>$2KQ0{9@j2ZT<&_5+_Qnn+unjA znR%4OQ<~yW{LJ??8#ND;4y+f5FkhH;oGaMu*V%`Yil((-`_{i*wzrFu0@>r@;Q!@9 ztG-5C$|o66q0!cO8N3oR-ZuJgm%HhR9u|9gr72nkgf z`o9%BG~SIbmXx=T6}XWG!96o?82ddt~la{g9g5aRjJlk4d!jyanU_J7pF% z77h|AA4MVw=oD5BKVh$ZqKjco|ES*^`7lni8w`M~OOWG;!0pS{gxy|=mLhl`j&hO$ zyh#a7>{8aWnp$JtTk9*E)-=y}7@o8Aa4GKMcm(?Dkj`*yw&d^BbmmXdiwG6W=0S!H zhPH0Do+Bm19r|tQO1}!sqQwXgXJt)nTYP{voU&oA`&wBCy5wXMu+q{aM~Pnu^`Xm% z>~wKZWVqL`FH-T@4e}yAN80yR(3BfT^Ox^K6v1kT9mt8Me)EpvvO~*=Dzl0TbRG>Y z021OhH){SbYUb?JJhVvyjO_=O!9SzJSr7p`)%p3ee#i#M@JWL}?M@`DqCi*ZE@Tjp F{|Bsk2y6fV literal 0 HcmV?d00001 diff --git a/fonts/open-sans-v17-all-charsets-600italic.woff2 b/fonts/open-sans-v17-all-charsets-600italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c99aabe80340fd88a6aeb5729251e76c9a6f35ec GIT binary patch literal 42120 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 E9}-z&tN;K2 literal 0 HcmV?d00001 diff --git a/fonts/open-sans-v17-all-charsets-700.woff2 b/fonts/open-sans-v17-all-charsets-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..421a1ab25fa88105ab776552d7201205f7899841 GIT binary patch literal 44988 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 literal 0 HcmV?d00001 diff --git a/fonts/open-sans-v17-all-charsets-700italic.woff2 b/fonts/open-sans-v17-all-charsets-700italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..12ce3d20d1ce2288206e8b4f31c20f76452efe37 GIT binary patch literal 40800 zcmV(+K;6H0Pew8T0RR910H0t05dZ)H0bZ;C0G|B-0RR9100000000000000000000 z0000QE*lUWfmQ}!0EY+&fh-A+U=a)ogtTCT<_Zgr3IG8%0we>R0t6rhgLVhH4Ge+- zTOBWPhOtefntNuq4TicEz^;E~lZ|U|JMsx(yt*BL*v^dxscfC#3^$PQ<8nBiZ!l@YT@lv)Ub-bg(wzO}C zw6g8oZ?iuC%%U{qY)_qbIlaB77sBsi8qstzurv6pWV@S65F=%6VTcgs8G%6v91<@o z#@O~SYxkdc@pUjb7#s`^iojGVHoTXU24_>;5=6vi5QfrkHS?&y6hiyQeVMQGfA@Zu zepIjPkl6(nrt$e3H6}3Y;~j3`9uqvLn?5c~Wfd5^Y(~VYQ?DuyQC)p6BCG2!AoR=% zya~J!sLKDFEC2s9NtO?350V3*$>e}(3Y-G)^K}(w*PU!xRrm@+p!#kAwyDlatO5}M zQ4kar3rQ&{k!VqDz`}}YPv?wUq;tF5{dA$rf8{D&y6p=W`9=Tk1F%h*bC`)@qF^D2 zU?*8O>__XQ2E`)Z*>?X{Z-ERqP8b+w(s?@Gx{O*23 z*ySp@5b_Bj%=uJ8m=R_|Wp=sn36&83^?pAS!kmfmnHV#s)R{92*D?becpz+@s&JxO zoRF6ritLxF3ZzvkRcE?9^y!o>r@K^&V5HDp@*N=Me55OtQVX1Ic-no-nq{l2hcQ=U zZR5{JN+gnKB-6%pu}Z9v8PbdU?%v&tIFUBN<`UZuLZ|@urT*>wtJ6MwNuc_RN;8s> z02dMq^i2}3@vlj^r8D03x8K|Auw@uM%rRibYe_f0I;IUTD>D>bzhfk=F{AmFBi@}9Ocevsj!wVO#&FdmQw zp%Km@6?~6kcz;oo&ztmQ;tpjJTs##`oq5{q9TlME@MP!&D^<}G@Ity7c z$mMBBfwuCptBEgl-!AYnKm6Mcv?T)??7qE>{|!vSun_opQ?=SZ07e+Ds9n;L_Fmv- z>Y}|DYKj*_cik23bu;h(KY!*=05AY303=r+r~r`i8U!gDqNp_nplkr-?vdOi%NOX2 z+K}W+0R$Bx%S(}V-jI{LQNAS87gDY-7u8ke6=jT7F1lvhYcC%zEvY=Cxw3ov&Ax9P zum>c|{+ZH^pe>E8%dWo&CB0M*|6w>*oOh0a5X@b=Z13jQvsfi`Q>fwKSxn zi25+Gu}0u-kZl^{Ra_gisg^N77$J;&z}sF~UxI?5gJcNhC^vln&+q%*N@nIh`@A9| zqD6@kB}!@A5p8Q*+gcoPwE6m+;o0UloNWEeg@Gty_OJ5$KK@13K<0M=qHTYp2WD6dVp7NWox8?3#6 z7#wj<{si~l!`~ACQr@%BI|Km5*$f1zv`<%L6g<~GgqLGQ8*_t~DIRGd5L%(lJfH_P zXqTr6NaP0$o|eq?;bf(@omKv{ER?Wm9m!S3VD{WTX3g82**4<_7l$H~n6WolUg4Le z9eG@j&NNQMKco3+C7^8;pKG$@g;y5n0|J5SpLWI`(lS;ton~Tsg=dFmhXIoSVP*we zY*)1Ma`|ssPf7#SgN~uzdAk7%RCq>Hw8lQP;11qLO{ttST+Q`-ke^BzCaGzvryVL# zk*Zar7WJrCJ37z_EdDdk3aj1b5|cdd1$Njqs<~$1!Yej@idF*x0mG%gE&WHZK4@Ig z$)OQ4Z~|K4Jaj-8c%c13M}Uq4U7K_z{p}lKlZqn(L`IwtEn)(k;;s0E;*(_RGL0E0 zQvmM-9tnQ-U)sLbZLN^Zgn?<3Eqfsqis2Q_u@B7{#QXR+r|L?$E8O$*W(maBTD7(I zX}=Y~Cz!9cS=$iJc9*(rK-A-C_GW;96&l}0&CyywFkrOw_u&HrO$tW=&O8V0!ok8d zUG<68&Jznm0f09DQLvW=BCUv-;+7J8qKDau?F1E2C zsOauOA3CSSo^@0U9d`5mMjy_kJF|!G41n(c?Rxvv{n*)j-~D$9oU03^kxzXAs6E6^ zy@{!xxjIbagYP-WFznAPR{0M03M4zEyXSMs7;D=0p?E=ieU zQdUfTrevS!!#>p>*LhmjJjFJfG7^ zJ9j87S#U2*MRf7ZZ&8!(7a~(3 z*sOP0$=KD!*$HQFXKQ0^Wod!!rV?B&7Owcx%e(!3y*=GsogM9MmoHsB+nQ@>&Yn7X z;`lMlh^F+Rl(m0f(C_nlzV)zJ!Zk_Egp?nl#Hi4m1(}XLdwz+2NZ|-*h+9}FxCAjG z6zZ0;q7?}gL{~dL;TJjFf-csTQp4)@p9WzK7e-Zvp4?Rfeen*5xit`iAt4^%BB6K< zD7)uzY`Q~l&F6{V=U{$j7xc5l_&54)+>ws)Zh}QUyq}~Z+2O`vhyN#_@wAMlX>87t zo-Kr4hl&)+_guq3PH_*?9WorKwQ}6hHBZWZ)V&|eCPQb>G)_m?6tVSBwGHbw5AQ|d z94ban#Gd~%jj?iu%FvTkO0qr}%UTwcaGP+_ObfyML1Ya#b`aN*E{|XuL*x)nC?U(X zee^@~(2s#{IK94hkT>chTWF$zz{3+V1OlESY#rk2 zG}3X1ql#iL-ixBm7O99SjkxD9k`C#c+!11{Wajq;+a=ye*T>Zah3nW0K*%|oXw7le zt2-r)uWDq;Vj&8f7nGEVaI?tuWsSuAI$htOaCCh~1<~>s`b(gRPeFT5N45entv01J zi*yuMj0ACO71OB$(2fDm;ck*BL&$y{r|J3zGG)2OTq9Sr& zzf7uf4?lqEnK&%0DER>;wf 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%0Deo9y(?}8?riQx3p&>dOY zNGwTh_PW&_Qdr$zy%ULyhlWx)VM8XFOazsQ97W%}?ADm8L=UZMtBpKBsbkHkh>!_&Yk^=gzh*3V6@UVyV4OZwt1b7cJ=(dz-fPc zn>e)KFdZs{{c;MnclXvtRwW#K;a#wf z%~mn)yT0@-SaS$Ai0_W-QLK!=kY@}%Ak7P{tEg8`L{9a8N=h-0B9h$n zi29HaZ7JYBus`C<=^y*T1#z-h4; zem>>d4+vO%VLL5V?dx_sYgC)Emnoqq!}_R{fSW^Yw?WEYMx_&=vcp*cLHAc_1A2^o zj3UNN)li3>4)8cyozhg@NE{CU9wem=f3&5i)eP zOn7kbgjv+^d|_3%Mv|E;0TO~Z8b)UIJ%2sl7SC+-!sUCa$9$H8eV36cl+I|EX$Ja?zmlHH36b1xd zhlqbtYldM4Gi6E(?4;jzkVw>@+;cNGW1aRhZnYD=YA1Ts#(K1-ej!ky1OhsnPp^}- zPt|l-9Z*gV;ZHYN$&&6MFlZ(%N6kF4q<2)__fy3$~XlZ1uHK7AiSCr<-x1hHpg zxkvq)Wt`b;@PmR%0#4D@174IDTNYOzp z6(@5N5_n>bVwC=mH)xOLLq$h8IQMp2z|7%;KOe;?`{*CfzI)G_WN)@^eEc0ow=x_= z(X3aCZ@H(cA5PExW5%0sQ1*ngzQDH}`wa;_%4v^FqO%!Q`-Vcb=V%l@(l6s-v0^L1 zjm;ddMLfa4eqb23y|pJ#D=>+>0T^-*SBVbLJb zlLL`|p#SdI9%an8yCf=q$3iGErnD*${SfEgZ2QyT>ozs;G77t2BQD>`tik2Zh%mTf z&kd~ntZWo*rGcj20C4%>J&s@bBGIb9yH z#4FsM&IM5I^PZPHvfO#ydGR-kV_wh8wP6mJ#A^wGYI4FK`gwY$E7JLi)nFOwYmFu5 zDkvu=oL)|f7@CQ;o0}0Jmt)-D2z&%4qpNGaNGgBE+nvOF;Kn7n<7^%s(l0v{L)=t< zz64J*_>_qTE8YY8ORg{XYKsYHl#`_8mMt+MuEH7ViUbv&B>yjHi9J5o16T<1y=tp@SiO->jiqREmqbeJU~9_wlolAH;?y}?h<}VcnWv;7p&jgS6Bpka8EF= zS)gb9aa>T*EYpDKAz6=8v^V7iDC^pU=%xhg7zYkab$m<0yV#6WiO!ylOsMTlsq#J% z;+}Jl+h0?}4dAzPZIHnK;ze1|*}l3SXY#xIGp@Za8uU`I2kXX3GYutJ9ErH^gZA>o2>Yg~1!IYR8UtZPT5 z3>v!UEO7a2ic*2xF3#0$*~y$HPI%^aoRM!i(KQuN38l7>*vEce%8EJkm+(R`gUub( zAo9cgEyo z4S==<6~48SsF@mQTtaUp2pX&+@kGl-*W9+8A1n?*m3AmnG`hgKf@&Ez#9FGNYoRgt zhGDZH2pfHWLu)qV^oxd=^5IvG&-udb(&R!zlR@2JhI z+Ua}9U&t0I9v6WX$4aK;u30D3KUJva+4RFT#gS}v+(1qxm+L~@d5Xr?c$cp9257{I zI~MlEh3>PcsR=A@1-r?)n&Um@)zv}z20tw;7wUx$VeG$l_1N{#=)nSGbt={GI|@#a zN+U8ri?ng;x7^x7V?$ATpF)dB;_Ev2i5fw)XKHa+1V1g!mn}eRALdrMM;aOs><12T?Sg#3cW$X;ipEueIWTb`EEIf~ z%2HR~oS{`7Yz(UiCfMR4))#fsyBRw?l;Hrvx-P`wkF<=1ya^MX*$_3dYVh$SdAmg- zQz+c3mv{eoJi7W-Ume{4;gUHy9GLv4>_x|e;j$vQm?P3*DCGy{L&RrkJoSp)W&-qW zp_}H`9-r=)*njEnAo?Z>FHD#+8>*Q1iXK&~R^z#BNq0_0qu|{TqB<#F1dqFrso6a` zaj}0wbo|-N3VkC*RWzv#%z;S)p`np?7g*}*TQaoDg3H3ng9$dc*ljtDbZ#aN|HyEJ zd*UBd;`lncke{Re_b(FWA}QHv=#$;7m!16gV+FpGLn1s8=0}ge;B+kBY2=yRVvr3| zv*C|U=uS>?3~q2U_pmFGe6X&drZlV%viToo-FdndfN5bC6V;@_RD$=4_c_> znmiu36mX-dcYJcg{8+mL$BnA}#zs^cP4}qzj2Tu3jIB8Pjv3W9vc^>E>HF04plNmM zm777d{Y=bViuOS!(6~tlgq70B&$9Y7UZSJtm-?t4^_A)}T}?$H#yBg_;~*q~h45}M zRVe&8NOHW{GB+ujZzt}h{=nhPTk|iIAXYlkeSSI3 z=fzrN#VzF#3`kBh~`2Xbq7 z+4e#YF$s#YL*du%Qy_C!g^1KoOY{f zxY-a6MS_WP3KN-H`&IF`3B<(40UPovKM&&-r(@UMSCMU1ESj)E=c?3um&~x26|#5g zqL#Zw*WdU&B{VC1v+xWws#$LFK3PT)qV1#OCT!3-k<8c|AyevsrKwRdOPC}9vR*Kv zv{aeq9bNO3LXxy9?6-0G+d$-hK*tuibaNr{RiWn<2^@+cH-ZyzUZBEJD_6l);s&} z$s+pOIQpxY^`7-lFuN%L={YNO4=&oX^m?E6`%=JN2MOfPQQ7I#R4%BaluzE4EiiCA zcrV)tvqiTinPBo2QqqJ_OpMT>rUb$BHCLg&iHMF;O$-63;*{#@eAEGtgJ?5LXqs6c|8aOoy-= z@OhkHz^m+~p_#r;!J_$5w#!jeIh(VwreXJ&$V4tW*jgy`aHth_=Gmn(yG)LRxWA}_j04|ni*7s44!UZgyQ=K24s=7bu#i3tQNT_`294iFl zjaLo5gk3>Wb#UF8(|0Gk)yDP{qZ*Z7OGbA;8OT=fff%7udv{Hy8P@X7wTh8LsT8YRUG`#ra(N*FdBIh3DL#s z<3yMVv<7K8G=IJA}Qj5cUlHN8hIk$fcfC7Rt6`@fgkD_T&U<18oOJ zh<`E`Bd?>cQJ6D_*?+n6t+O8rcdZg{XVX_L%hn8E$*hx&wVKOZ{MxK4e+X}ald{%AD|3f zK|~?JZYsGAR5UO2V!r%s1F-zKcq8eF<^_BR4`F(@5VrT==`OLkQk&pS` zGJ@QFw->dLT9?h1O<`XG!IDm9xDL9$v|D8i&3|a?MA#+xiC^QrHAI8k!u{xycnTT& zg6opvcP7#T{+E4X`8NiQ5i7;)-;J)3HGGvAm9ljS z_RYPTR*hLETn$3Gt5ac$=X!_ds^hNL*7Oi=XK&R>X6bEYwMyfY_h&%6_geut7B0$&Ed(vS>(-yqqhptMA^+9jYp4}opvvKL`)8Zu<6lXHZ$Tu_nGm( zZJ+`F_g13;wU~k2rXlFTpdSYLYjGJ$P5?nX!RU^gEtI zI^qD+QtB^r&6HqOU#PM^XG8bMrUIAkws^)Q2Jg(QlO>3xZ=p28%nm zBNqw}Mzp7EsoODz1U3bFXxV9PJ-=}kHc&aAxP9>Q>GoE$ozKkJVr-hi2H@$Di+VSeULmE*u{$`AOt=4Mwha2Q%+iV}eN)A3(@?5W(;#W8k-Lx}zpV7nMdk!tYESf2 zf3lm@S_9b_5j=3{{JqJ=JVbsft->G5IJ#W?Kp>-<=E|C0}>+M2|Y43 zs(kldK*@HN03dW$?Yh9FqjwUbbue}l^yu`Ea^#2i0aaD6+XtM6p{INPIWr4 z3~b+BG^%39kc9PD2BsiC<4^g2CfUFHaa2BpZ6$^kiL+DXO#hq#Yt1$I?yH3j@9lbZ zGG?!$Wbf9>?T+dnpv(!6a&)-EJa;58_LZ`cAj_jj&>eXOLu@QaW-)0A&Eo6e5xwMs zp53Xb`)hLr{)@8(y*J0``GHJknQa@~$vlW8f%{L)oQEFIBXPy0A<+bE1S3W2o}1u}A>k3{ zFPC>`cUsD&xpHz{pWL;~((qVnG(D7`JOyWfXm=mr=Fcg$1y#3atl(KOG=-ycM0TG) zSA3URf5t?4CeZYN#Omg<)RSTZY&Zf9zN-}PTLUsB`Ui_Xn68XdP03wLj)ht{w4psy z)N&RzDhUuj+PC+Ql#Wwa2tWT9SNv0*I_lp#F`8>K+piY4R_@(t*77PEUNxj&L?CI} z{^?!PrRUV0<%8ReN(Vj98PeI*x*0U*PjEKi40UjBMJPOp+d0@Sx-k@5Kcoy?uWSneEDQa5etg(&gqhk7J*J=^tb3YnyrOIM?~!Lt zfjqA*$TQCz%GffhWco|#T4Ce2q1|hARm4*;dOaw8eC}6S>d~E6L!VMXqY-Lx7P*L3 zU+NTzh&rFTpqb3=eyoF<($3DWQgY-gZ3hZb9}=HzM3pEyENYZj(3S}M132q8U75?X|3C3w-{7^_e$b=$w|9^c>@dg?FnVT2WXq+jdj5GnU3^cjUK&2W zEpU)8_BiK1Li2aV;-&(laBs2O26W>}hj)35;|pGVLaDR2&9i{Y)#CGs4y7p;$&xW) zb(If|_%hD^U1|TwK(MGVIABXIXJustA76yFo`nY`|CfpW*egkJl5ORGtc+E6?B#9p z>BRS>#HZkc_{yq7d@QpW*}$>Afu^#0Qocw`FXw1)pYDVq+x4AK-x*UEzT8dZ-|^a_ zt^})bx-J+PlMA@{v!j*KBqrJ6T!5Y45e4)|BL4GTuR-Thfab|GfhC*Ob!DyTF}_i& zn4^ZB3Sz+Yq-wkytBt47sN+Woe7);}gY>iM=m*`>S4>Gu+NM~2b`(1O%xFqkN90gq zvs?1Ntz=^I{tMus9feY(SL-QIDqd`{d-1K_ zC3NGbE~G@AhNtzC;8;g+iM6}}Lj=7Zzaxeun?r8!>{2-lF1h1HQAvrhNTC>(@Hgmpq&Gx4RhG_Ux;Jf4ONb{c$ zFYb~J+ZR?O_HXkDSt5f%ZH=huSeH5JwvtP5NMj`+4rg(IdP@#a$zc+@8uts+f1DFL z7~R*~{|Yc=|F7xv_Y~``+UVH{VDiff(;P}7hOHP^TwRs0Ymb)^xn*jvVk=4UQGybs z9D;ECM;oFr$vIdhau#k>@!pd6QBjE1HhZwh*#e!X)^`!W{-evg42}7F2G`elx)3x) zq=~#uIO@B^&zkpS3t-MFHslV(zY7Gz7rxVcn1C=irTMk@qh?>olD?e;dvkD$PLr?U z$l{cwQ9`I-nZa~zD#JM zD3HfeZd-J-C);UBb7SUX9*QW|oLaaSHKjY5T-sUOqQ$idV0PPdQMXoKJ8B7-eDFC=6=9-0{EY?|Ev~qtxEW<^H><0*x2cvg+~vTdL$L&vq|VXpdTOxXYyj(O{nfWlW5 z#4iVKe$BX0UyEhZ9xWGgFmRMC;a6N@hSRn{TF>DltgMw@V2bNlQ?o8J!yWq`9qd)J zJ&`(!V-c|y$8Z9>aTFID3t<{H-kioPi$%t{{ldX7p)NS&9*-)PFM~%r$~PKZax0I6 z4A@2ukOv)dBWV34#K}-$v|pjj4y6!Ht>+>1|3UC>a3e$hm zcB=oQ5v?Vh^aIB2!0dv z>V1P54nB;8L7v(D%U0^2Wy)XFeh=)0>pyhem)!9j4BSJ>lms)J4fS~|XY$`q?g96| zt?!B6{|uiO(`dDuhQp*@aPnN8wYaw}+)FazX|~afP71l@$BK;_p0+r+1kIl`*cB>T zaI72-hNz(10!l;RHV+T%TZDey9c zXu6hbl%GD-Fb;ZS}@>&*gBe*#I$13|Eaa{@ychwmEUCHo1*wu z&v0x)$3N3t*tsmj?J61vlPXT{OSF=K5l6k251x;H2!+FF5U={M>o}xXK>K%Wgf5{VQSa-t*1fi<#e}#N4CY^Lr+XJx$p3?g}U` zDHut*Y&$WGFxu&XY&Cm59ufcX{w`6{pALd8$Bl*$wQT{BH8FsVK zKgh;+JEiZTSbli=8l%`xyGGYmbvwxnVk_0+ArhmCYU|y|5A(zPNPZ+gx<1N4q#O?I z8Tt>n{hhR$nS0Z^7d54dOkNRow+OJO@C@*u_*1Jsz&~Epeymar_^{4tj&*y%BYOOzBPp&wr z%UU-p0{-{^Rs^J~zw5S1e}Ux-{Rg5KlR_rL@a%zIKb~#?rY*Hl$6=m!vN0ZN>gz!@rNPpz4ps`arJ-=Qg8+jS5hbtq zqUfIG5SNKOk%L@YFQm~b5oIa@m7&3T(r5*MZBmV}%BqB!o{r+Iv+7DLl`F0ZwAoe; zEpkl+*_^suh`kUfZT#1HV?EvN#2LXgN+VLXgrz;l$uf(kl}-nV+{XW#hrF^z2TG&0 z&{xDF6N*zDMx>cOX)7cnh5|KFn5AiHAn8I{n@?14AvSyNb+`~% z`{f+a@zSS#`lHzR{QX}f}b0V@*lzHO5vr$umW@@(_OqV2Sz(I<+29C%%) zeP4Z><+D6^A*5!c3!SfU>;et98y5(pYJf~Ji;1?ZpJZ!f@P3J-Z@T^cAYtVZTY zwUnE3>D=bW;UUpugQO%P9)##`eNX5Vtq3}`!EH+V1v$^h%z$Tuf{>_{Oq;Z6++~KR zue-f$CVs0iM4hCqoP_rxXfA|8`JwvN>BjviiK)mm#ez1glrUGB2ZKu#O2u;M8Z@Gt z<`>`Ce|X&dWQGfmXO_+s=F=&C?tN7~9Fvn`CD;TbO_%mLdPhQ_2@*!fb)4R6L9j>j z?xlkbI--KgW9_BEj0?aGqXH?EPUw(uOVIWMYg8Qpqxb{fu)ASoa*qcpr)x@Ys`3$y zrlbT2hi!$YGYFMzJahc46(_Y<)qR-Gfo%@uC< znjc$|@9G)I-Nk=i`^m|4Mf3wV<4W%!q#_LRH;=7-UBmM>mP=RaZjbs3Qum`D09ijw z;0t-(2#^WuRM>fcwY-m<*T}A?1(HQx_K}hk&~zi`{n6L|-tpkp1poIT$(=hI-nfnV6Pp=WY)%k;G&e)E8}-aQdJ$Ae$O#A%w3OC~n8A@l@1GH0 z(ob@Hp*C@-m>8Qgi`bl?5-@IyrqQAhbR&VJgG9Q>#CVCc(=;!prYTQmfVU=V5EbQk zTRqg8nrO;2pnd!0!&?ot>eKbe3=5{^pe4F#p)5b$z+^IM+AEu&Qe0YCs79{$P{mFcFT5Qp&)R8Y$B^82hcAMnC8ak}w^7G^n(kt|aG|mo z9!ke`9%_w6Rqo9AY7avClPKD$;FTXOx1FrR;pVdX5l1=C0Ez-NEP>QfpH*b`5W4f)I$xnYb4=>id zwM4UJVlVWqF|4Q4twXt{=Jk?&hg{TX1=mbKQb@DXiCPsMglse;fajl&0{%e>a8~4O zIN&mn8KD{p@f5xM8NPw*KIkTNoPY7__b$#CnMy>sW@{?Hemb{`Svw}h3_|EL9Z)W5 zk&0y63JR0pnoSrTkMsPqer;{ibD=p(gvl8d89bC?`=bIDJkvw%|f6M@a2vuyY?^ajV-R?}323*)}Q zNUZ!Y_PK)3*fUF_1?iwm*c|y0C4H1%6I+S?H3J-&AQU)%@7CCMo_h<|5szJ`E)L=w z97tP!gY9SB+skU4!^j9F;T3;_&{dU11g4MXY%f4RrlD%z767tsgX^?H`frc~djBjd z_ie<9&5F?#xmlB3wj=1OB~^@Hr4G{9ps-h-)sDMu9bkP6kbde{_$2n2%+n4FZI+m1 z8a^rp+xL*De+I^kenxKAvbl>-VPa#oiLpGmpt>s~3ZR6;7x`XHFv5yEDiAi~k%43bUucyR?DzW`^U1ORfCvnP@ddnrj2 zi!VmsvzjJHw=s7v?Qx9vdw4at##rH=y&_6+Bam>M;rWs2RYTx34OU3n&QXfi3hXl= zBX$#fRX!jH=udTpRTV~3qG53}aKo5$Nf)gO8i`75m{}{H&9#i>SOTg`4mvs)iWFoQ zAsusBl-!|UC}pS1FA!qf8#(w9dOB9J1AWhUmu+%tkK57h?(Eo3v1!6zykU4T8&*-0 z?U5vr;o8mcNKk68+8~R7%K3uQTFObaVAk9z5NTPe8o3OLf*c)O5DS&oy~PmZ;39z0R2*U)k0202 z0NXd7<|m}p#c^fJ;DQ|OkP)g1Xix@5k;|JuGo>jdcyJkVCmtK){`v;q!xIvCpm|vO zy*+h-qj%J{1{pw3=X=@;%GD&)atmx<5s)~6sAB|o#3+xqm|r4P@-k<}J+`Z(Cg_uW z0G>r*V0GDf@wNQ)6;d7-!=^VnG+mg(}aRA*Dqb^S?%6v~?}*sG|nNW((sZ zh$GLhe*}ULE@Oq;!;pVOrQ!=OtQ8c3Q>HXP@X4W^_(N(=Ap0q%raXYq>WfS_z?iZG z#1sLT1sXv>J_hF$wk%QEWylvT-O)ze^ef^ejEg7?CP}a%v8O8ll$knfnDQYGO%|2g z*?2V8^@c-KvgKDMgIurLZh|=nB{@R99lB}`t3r9>*F{-cC1v2Sh@8|WiNM3C91(=l zKu|W?=ujco>}xn13Y0YJ#7ta^ zKNvlZ-sbmN3X&84;ds-=1R&-<(^rt*Am)ITH!ruGcE$ z>06%6Ri9t%-xW(_G1%<3>1`btl~~HXk?NzyG)1 zR`VczME`~Iagh^|Dta40f}tWBt6+*y6voRC9Ld6UE+eN6^YDZD^?R?(G3T5!F=Wz$ zR-QQClknoybcb8gq|jtJaU3{)F-EKuoUy9lrEvz3YLGDfPChMuzWBfWKWs{&6dVa| z<{rh{(Yw(vM?LD?>M9gYS7x#6SzVQ%A%f>IK^6&YCujQ`AABBo`IFUpAy5JsL~0px z=bUg(3Qeh+V<^dl_#3%sRi@LA*bb#E3d42KGff)< zCK{@Z$E0R83wN`RHKoHk6sg~oPHP!xH@2n<7 zFba3Xl@JRdcb+|v@fplNiQK|YAw74ERV zZxrQ(F0RF;eW0N4tReT#;18@v>w5t7`DbuQj+4wm-1UhomhOS0uMyFWK?U!zQt_5a zo-n@#b!{$SnrT6#h+ZI#tvGWikFeccFzx@&@G}fFsyO6gR0vqeih%8i5Ka3E>8!884@t z#9sAWYnb&e#_&j$MGjap6!ylfe?4K@c+~dv9bGg_ekv5ChUOU;C)RW}Fb+%)hkwI& z*69}Aycx}-&_i3zk-Ci}7m^Om;LkA(8<&-3xP77<2k5YnCj;COq?XDVR)59Eq z#_wdtns=}0z2{ZtQI~AnE6Krw3koR&jDom z%Gmkx!`M-XwNbHHC~b0Y0I zIcaEmgnzg}*1b^|Q($t#k2sI86fVRiUitZ+~122z@PL?`Jn&xa~Il@G9Nj zMVrqnHZdJlESsU9UL(LSRJ@vBzxQ83_^Mnu)>t!%d+Y48^{Etoc@Xj*wFvSg z^Bz!KFYdT1-&zEoEX~Tzua@rNZZMx6os07Gyy5dj0 zk&rhmt&1&&_%v7bOOj|k?yR!bxk(Bz__-B(N|`Px75SHNN=7RbmqkJ8+h!p?D5sZE zq}mS-dugqdA82)%Wt47Qijv{bM@4t&4ts^1Zi71#@rbBGNP7ZP{T@|;9D~b3kQuvh zF#$+IfS&~D0ALuCZ48ZluqJUCm+&NRSfV-DXSskXKv~fc(E!?*x;|5sQzbT znZTaJIypw8&7R?ag6!dzZHmHeb_PEx#TV8z)7!xmh!>0EIn-_h!*o+IjYPYpT`q~T zbs8!fa>^F#gKnq7?bRWfCr#i*PemEbKBi*wERdmZ6s$|96hLbwyA476N^J2nDUq93 zwS$A&U9ENcJ}&8_F1L3jk@h3%GLBQ!lL~voq*A9*1@lE_ng*U14MS-&86Y9mDiM*vIBTn$yM@&%)C#TyTyIVtNb`n4^ ziUtK6X;#iK1m^>A$N4!5q{48t=ytlDl7oKHQKr4SwUZ)eEhb!&^gcmg$0mXWGlaCW zN1MAH>mYUj>S9^8ktG${Zn9s4fO`y2Fa;O3xWKy_aly9I6%G|$LzY{J0B%nNcxbF+ zC=Y|QWr(f<%M@r&)@A&RVd+zyu~ycs;h`D8Fa;u3Z;6BXOHG(YBfwIy1La(Q(VY4b;l}9eYd1S3FrZSX^CXYm6CB}_SKCW@d8V^Lpx49a^6O)?1`*} zJ?*MB>LuMDoC`NPcyy_9+A78-BExM_X8L+8iIBlPIm?bF9Td_6cT{P)V{tv@9Er4} z14BJ!fNK|d-LYjiX#gx_5~49OQz&k0$4i4YbiIYf21C^banCCziO#H@n=ETt*O`#) z2pj3iSmjs=p6ba*wGny6bQFv?&?k8l+qhzx@nxCm9hXcuF%6~eNa%}{GEY{+)127i zVi)<7cO0lCvWjmFZYY(Y0+adXL`fbAJ4R7Yw}&!j(ds~irnaHwMhbg20`NXY4DK2t zP38kPHyh|-c$j1sCwwL{9n zLMRSG#+?FLRJkh;!DYV4?TVO(lMy)=H)A*2mDhFmizm|^wx^<`2~516#^DY`lM*>B z?`4`hjBDdK7>n&RouM$zN_Xc@1!*}ul$zMeDr$PWkWS=~lo|jXKqLBM2?;Bq&|8Ya zx?pp%D^e7OgISfIWlFGU1AC2&h2z^!ct8_`y+!cu-B19S-4wpV*BTFxdWXQ#ro7R! z9iXG0YxEAJ*Bh|5sauiu)Y51SPFrWd(@xPmBt{^yNwIYgvJj1{Ii;IB0-aGBQFPFU zhq&SrUNog^ zcI1Y@?9fG%Qq%2HB*_HHoQ=1|6AUvWJ6On70u2+7>?3QycM0!Qw^uaYPED{;GZ#7q z&|ma4-}_*ixqA0(5nLQ>rvK`o-IQlGus|MYP- zMjnaeuwd9yx1_id2td|by%K=PC?!NPmV=a{xT8D9>1dIMxk94(70_57D3q<&tIJPl zr-YI}*>4@535<0XD3glakYwtdKyQ! zDQB@S#0i~%95uf0T&M3`N!ONi*K%Vv4tjk3Fxl>H-{SBPMGvp>K87wfql-o{szse; zP#ns(g$Ehj8Qk4rkl+?za1uOtg1cL=;BLX)WpMWZ!F_-sxO;F376OEK?x}kB{`;!B z*Q#o%-BtZ#ZD(FlzkR1l3Ko<71k#ZmM{t}qg=hR;`jgse4VBJXwi05pyFO8ghLYDS zV)S!v0;dZk^3(E(7u4NZXRKL&h@zBE;(gOdH1G02iFZEvem9DB95>wxRPw;|#QF=* z+m|V+6?3VjCwgddRVrgQI60AZl%QFjxACf1H>{yo0D~ESg&crDv=$OLp5MbMafeNr znA6#&80Wd$!_I(%ZXC%0HqI!dG6F8~!FcCzr94FMT2Xg5=M9LP&PZ>RM@);NSLQ$XdXDL`1$$#T|p+$LW?ZH zg7F1yP>vJ~4O7jPXT7x)*6hq$l?>AZ) z!WT7KTGKQq`O-IaFWo}q%et%qVnaWL6C{2;|;(y$BF2wA+~JlHb6K>sXQR2666P`9H8?Ck(ib8 zhH#j@nT|-;suk-?JDXl_raRv!Ogz1swD+Fh>V5nJci!mxC+5LiY<>~%C0GLX6#k79CX zqy)dP-I0kh77jBuE=9jSE3YiPeE2-R9i)zQXR%=V#auob=+L5F(i)#1iND2bM`^Dn z5sSe93$;7p9$Zx<%asUFEpz{l-5k48uWOcN1r_EP4RdN%lK|iBn#+w&KvG@H)<)UybhlNTnq-$ZUeB5uKPziqBRS8S5T26nJ zv#_GB!*Pv{Xa%L)*!z%9nwZapPZ>ZGVunq^5@erhb$&+{VuNM9@{leDWR9cG*4=f4 zQ(cbAieU*)X+%EiEW~|FqyX-m%xg>B$#GaSxd=QzX;EFYxaKPr2_Za{!VX$_mD%KW zz-xYvQ^(?lP&p2jQKj?snr+h69PAEAa-jQeR{F7!+)^NY#M>B{6R+;&M;k7Bw$t_2 zu`?vkJgZ_)cD3zJ!VxB8c&HolNVDIiKI@>8X@7o#FP&7z<#N3K3x~vsxTjh3{N=~! zr7rwK+ep2W(;w&z_g$iE3dK?#5nsRqZ-Pq8D5o7AE8sNgdkd`Vm2K(*auL|$?Z#$KjWWr`CIud1s8Dq_^E=oRa3Vh8*4@R+H zH}NqO*!w*Wu^)2+vJ@>8MWJLG^Mixr(IuZnd>8 zzO}J|M6)DW_kP*n7B=eVcf?7N0~(wEY2eO1|^^@ttKZqm9Jrex6^wcl`rTBQ>NF zKfLK^BVSfb?sgB0vdNCjL-9oMMpH@Tr$@1+&&5C+d-zXriQnS`#dWGLYyEpcO;7|w zGRbdltxUidqq_WA611&%rMgVhGx(*@pWvwLby9Ysf@Jz;8D&I<09lzno0c5a^pwF$ z)%02uek6kFWq!U-nzo#|$rA}rDfA+T{SJEf;uK(>f$0VB_CGJ)c~O?hE=<6fepAtf9RJeN)k(mPL<`@OKkZPk zw@#tx#aI9F37!NtFLBB*YsgU|*Zvh>gc;6FrDkEpNj?w?%33kk+ZB;O4vk>h^U>v4 zTheU+FFL%n@0rNIxGD-uGQ$x`Zys8h0X(UDDroN&k`3wJqn(q+bN*;sj}Zk2U{W|a z37KcIB&nc>>*z_{0;PSh!cNF6UHJvmC9bcCvTs_kPP>!l@P8K$$hO#=Gj(p!?GlaLpZf_*3?Mu?Uu`aV zt2+qTQe$k$F_JMOCc!-G5S2Ea)ZIEkE53l}jVolk*=B=lqp z??1`Our?Wx_YSJkX8G0G;=R4BXl)>u3A8gF8d9(poI<$B7(W2_+<8|BMJ)XMcYAHE;I656j*eiZ7sJvhG@8H?C5jmhz- z7=!CMtq^+~FZ}U$a-fz6u@MmiI|E47Fkjf~cmi|kRE zlJ9phJij7ceSS;ICwL-E+Hq9DF-sT3jPNEih04GsVb>;o*daVY_NT@!Z$bGE`%uWBcTbBMJ?3&N`9=sZ}gdq-V1 zRw13doz{**?!60wVk@_DRH8dSCbU7E{%JLN7ibn$&@JCUKD#JCNWW~|kes+!#|}f? zbtt#CPfJn5%`9O!pcb-yYa}IG0Ss))-T+#oS+rC$EJiZFUg@Gld*LYJtCk3k$VtaS_*$k4pj`A9jW(vPGt6bW^A>t@O3d57U?__nX=EJi5=%ra;8`Rpp7pbK zmdO@8yLBZM4k32zH-!JRA{}cv5pz3xE=H*@g#Tv1}$f!hq^-q6@ zqG`3jSUV0y=VXu)KvXTyb1rZx=Sg{LQjcZR|5t zs@AEtAoBFeZ}d3U=1pc)XFW9pR!yru`mv+LE)3lhvce*x;umea2BXbcqO#bUqm!Zq<3Dc!a-%k=pj zOTi_VyBng#fbP*J-k_P!Y0DiVX3woV+@$s}3sttewe;nL6i23&_svl|V1YmWjvY+< z<_4~mgN*hRO*U0-@HxNWz}*1eBE-KWf9+pUdmXoOI~#Qr{wf=NlsBrZmUh@G&Rr$j zI$mMy`79WW_?PfC{&is0wSd&WnZ4GB&QBEmZ~SY;e(kH)>*!ya<)z#vNb~iI$je#Z zY9qsp*h_CTudq19^wiv3Fazc$Z6{#!(Il2P&`yKu>1J}IQp$Ho9Mbl-ARxKE`HOa% z%a`RSw>r#`s?p@Qd_hZn3ueYK%-ypYh5dR0(~I-njgWF=nXg+3G^5U#eukTAAJg-b z0zGLN^ya^OVTpxmvA8d*)N==3*4rB;m&{p9jnT zk%vb0{mFV0zM0|Eu_uccw#)9Qk|htan(GO$ii|!Aq>!zhu~6R9CPcPz%bHV8z(Aj6 zNV)7Zd9=}wDJLh>6ARTn6SUrWP^)JfzD6hi%I-gz=T&zaJCtuTmEGbGLq$dv3s*0X zVe}cE>79Rl6*RG`{gM^N05Viq@moA5^-A>9}%qUuy#UbRjIRzLSPA`F--{UIX;q4F&!Kst>And9Vs zCPlRo|Ad^kPw)z*29c-6*2r&;p}BMRNB+%&}XDx%wO_{<8Wew>*`5~Jw zBP5Gmgj#jJ+cF}pLiHy*e%wDXUB1*;VA;e~&q{I%>C_;(KNoXsdAbDv%F5yOLNJp# z_fvmlqQ7)Mee_fur956EuLe&x{}o+F8C2Fy)`Bc8xy>BIDA;48kCylhR+MXk-a4h_G?i3W;E$`RGw@`CgdWXU)%6 zSU?#8Pe{i-`u>o?%-?Zd3g^(AyL8&0UJhMf9i0^c1)zsziC_3zFVz>Ts64alGnPBQ zrGRXAo}DvMsgUW+s2yuKGvJf!DjrgbsxS$?s*xjgy>?9XIPkzp2lc5pClhN%SZV zg<9ILX(0o_H3?DSoR<5FnUz2jXrzvY!i~%MR~>mFZGPq%d zPJfcq6&Ih6$xNlGt9|>ALJTyIJx-;o?ODPDHaoZvZhxC2tb3&)(^zA50W(qY>VzC=kQG;j?2V za{u%3fH5UH#m1xof&K30B3?g^oAm6-pOb1Z37HF)?VBx9VQ4b8vYOgiq`S-vzZL)$ z#A0_LRB#o6VrwrK@{JB>fP$fmw1R24_m;VVHfikmAp%qI0{XkC_JPpnkK^_9Pi~sc!-Pjh4P2 z+p-5-{MsFRF;;N+!PX|$Alo%=NraK}QtC1w<7TA{h9FUP&}(7MH_jB)p=OocEu z?xSY0ectJEpV0HdDjJ!zrXJfjVKo`=QEW>0LcKk`kFid4ypOwn*fBVKM1 zjp3h^rXqQpe7uT`QxuCx9}H&JF>(6*`SCXpIeaJzxIK_Y;Y}^>bA33NK@*4&B#jsh z3`Ro%B9S1{X+IQ(U2eYO(#bH^u)@u@hhhkM-qLq7BFiyafV9VLjz}~0G#gx9uCK}n z6d4%lndz7qpoOKy>F@Tu9h)q2AorR$#WL8wEu)^FNn2c0Iul3qbjF+ai*UQ{{+Jof zD6)tOXVv0}tU7k_x=c+>yOG_%%6h}HkmsmcEpovq9E^}pj7q7I2?ZZ4zLRoB*({{`;FM^#|4Cix)b zjr*SGn9pJ&nMezroXnYebf<#e`Er9FS~WC6Mr zw1%?5Yq1=qVa__DmMLJl8mI4m$kpKP;^umD_3IiF4Ff$kDkfS*QCVqnY+{^)m7T3x zIt)EoQ%7rQc7ARVzVJgxniS2_NU<#5^P=wID+u<<%G7c%NH#(EFidMY1RRqhFd5s# z=fKzzY_{$OwwsEYad z9v6I@H_mZKe>}SNY|zXscd}U$d z$J&yVi{I7s?A6#2sinV}o1L$fm(!PE2+Vw{^}X)a1B5xb(t|l?k|d_g4HzA+ydQ9l4I1@c(VcKT62{EgndFDb_pr9K}i`tbn)>IR%c9Cv~&yC zEL*hk^bLhuwCOo|MgBODFXGjs%$H_NV$&wi>$mvtZTau9$Lpf59%J9*IS6EN=??Y7 z$3+-pmCGiF7hn?p?lsVijP}I(g6|prVkiWN1pAY2JzBrFsi&rI=~`dwe=wl6@D|1- z8+idL(xT1NZD(oV(*kke>ytofVOVPV4p7VZBjmU|h)bkWgDX{gMD1C|smJVmuiI16 z{o_6{n!eK#^8pgq@P|ohv^WEa4YW>ACy9_*uM}yxShQ50!HWljnde1BG*BvLdV_5H zMD`pn-FYB>FVxT4#d<$1&x>DiyrgN#oZIH8p8LISVaQhBWPf4)TRZK?*_2=hq|0rP z9drN>fodjl5x(?RawAs29b0^UOlk9c-wo%D$n6`OGj{wZES`4;C4S!Tf@m&Df4?*> zlOlYh-|9~2nLcaoaYv>EUGi-R8@ApwB^WjqKN($~fG)UiYfN|$Effq)Qs}RJOy-!o zSHwbCtqtmTJQYDbvUBt-vOf!-ZH_5DMHOf-*8Q@|_XalucR~5?>6jDV#r z1IK99ppy%(!oZ(cl|wV7?7-;A!#9uPr3=H8L8CL5{S?>O8X5*Jii;K0h+_YzG&ov= zWE9!TQZ@g&%oA&OItHN;PITC)Tp6N5!dVc2A@}_>s0w$q9f3oM97MU-9G(K4w7<>^ zGCbE;S8lr+kQZjWBma+SdE~nGvIFt&Q;Igl zw!VWVVQYrZ!2@rHn5!iASz`aQq_3NN>Z4AVqO929Q2=hXb`LC6?h}iP&z&V8>IdO- z#?f!6S&i-QN1kU%{EGmi-uR1~%S#GeIMTpSdfy#dLI_{^!U|Jp_X;4=^5Pk{f9ZeaWm$^XSP!L~KP|GT%X zA^r~$7*kz&mH%|h)jzqD;yAxzVp31n)?FVV%#4tV-ffGN>5=-g4t#2%7DwmfZ|;Zy z#*Loo(|@};!`SSb(S5%tFl;Y7t=R72*_n7y6&rNxI>9n-_)A|SRZyiVSyKLL0GwC) z@a6sUY2tK$=GOp?C#`MePP$@7ntt%?8ZHf!Sm}2tR`zC^Y!@bPIX>*eXto; zJzY~_@OE69;PcSaipTwV+}Zc%8Z!?;eR3IrepgGvXwH4K6= zTU=0)0OD@DlRs44HejF(>@WYju0pwe6i_=Uj*c#RB|NsC0{A3Zw znqAD?E+_KJQ+?$@nG%7>o)~H(iGmPHg@PjsA~T$e#F9mqP$5Go6K8Xsyya)T4d!lT zX{(_llUu5WOq%E$@tT-v*57%YvtHRdG;|1h#3)CQGUtm)OXsp5p4IW)yl9}rZHoYh;=+XD-$r9;E!Z)Y-WG4nx(hM?#OY(S7U3DGY1 zQb_YL(wiIZrRi56yUPe;9AN^9zL>HM=mVKNFfnp+2Ar6gmN-!yl7BKM*4P3S=gzk& zW;2Os_;jAQug=Tdn$h2Vw)hS2dp5PD zo$kja-3>?Q{<|CD$`!k^3XEM3Q8j9v7rs87)UWCp*~?@v9RNYJL43d*F{MD@C-wj7 zwEmxwWSJFmoH#JHBgGEmShBzY18o#srUTXyHq8~y0#`>B75x>>zN-iZz-@&a$3{1x zOa)njxM7QcGGq!46mS9#+&MO>X{Kpo>8`HKmUoS*)pcF#s_$C+y4k$z>&8(|tL`ev zwz{jVC_dybKc2_mlVzHjkSX!tQY_a;%KqfcBBNl5pZCAE>fb9}0ab}gDsG(anVnf+ zzxT;&>RIgFXX2APbmk!BEOd}MNjw1S>{JZnSUEY2z04DN^2E85eKJp;b57=%%rmBP zn3`ItSb5R26LRYLnSHwy;ja)`^h-YbWqn_WQWx7<1W`&UAs^%r@*#^1iU@jH$U-kf z=-XL?IP0@5vQdQS%0d=OolUkg_8|A}w?jM>5~R%Q#7u4C`$Wj(-4}6ovr2K0yU41;7#b$akg6&bxn-BwHv&RO<^JLAtk z6cAEQyCtOzSZMPk&LO0G zPZ&K4F4hj*=SuoX)%+eXzyNt7W(LRvL5dV5QX*FVrW5i1zvIT^?*0^u`s&iTy|7*< z>2hhi=nlUA*XMe=Z&mfM7Ga}MjuVX$D1+8ti8D!f>&w))rdR?V7`of9bxLm7kDhl2 z{DreKe+x{Kwm>@@whRcIn^NUYbB2UVUj5=)Ch1|}@2#FN=w<;W2BwmB``?_FAe@h2*(|9Q&V63&;fkSqdzK3jx`YANYhl`$3iyb#2-<+LA6tD}X1*u1X7Z4O7-5CJod!R0X7gFVztB^!qrXzLE zxpmXI=vFinRd5LTp02Lye*gb|L<5aQ5IGd6 zK!K8mqBfAAC?>7k|2LolFkBZ!$w6KRIcLr|iNFL3)Yu?MSr~E03`%K34BX9h6y*?4 zbM(Ub3XcTy62P&G|-5ZYFWxf12V)>c1x7CNp{LMgtCjm)nHgSk?8Z3qog-J zH8%Rqa38HQrHVhvo+tK`^}l=Zk}M5F>EhQS4u-f=3{`^arafGXPa&k%Nr%lOnTC~x zp>)4rwKk`iDVHwr1a6;PS zLcDlum*PhWC5VWKNRSYMNN@bkSqNY}reZ`|Uk*DDI^#4sZ0(8d2wW3aBSi`MSWzO9 z&EIB?GVD%0s>T8UqF}$<9vKk??_J7_0Cr-b)!l}Ir4TrM*;7v{E&xQVZo8&80Z!x%mdJzz{SuW0LWG}zU$!LT5D+Ua>T7LP zV*^%u=0DB0n-1L%XZS+wZmgeCPOEtU5f0KxYV}DWUjJ|FWfIOK$b1~-iN$0_zcoPK4^z~HjZru>tiXVu?aTKme>l*voqO6>Pro$oYax2LcEKDwSb% z_5sK)(}cf`WhMJek){FwkSDp_f|N8&$|9~S$h8Px1D3HN`#8;5G07 z_^iJ^xA%74okqP@t&~f}?XAs? zf@51|-q3S=eQkARd1-NBer|ShVtj0LBr~X~0}c=S-Db$a_s$xv9HDmZ&N@U~9I_u;`JSs`)rnpJJmWw@q z8jrr>?y~tvpWnk0o;$Wff|lFD0j1PLB9OF}sIB#^4yG%X?nw*=3~u)i!#WWI!MFPe z_CylUSxQ$oh$||9f}#)l&|4L!nQu zYe#^x0hYecvq-?&aiO?6S+Z(3mn#+8mLF6dVk=bpjWM2jht*Z78qE)B>3wYiJ_C|< zL#0em-+scy(O;|ZDrSM$E^-X~OlCoj*Bb z(W*JzJmy5Sw*kkym>5^bR6;rg*#pvz*h6po^>uqm6)&4_F#SKqizGixi;G|js!g%B z0oC|d+vyF^?_>|m4ai6ZZh$;HH?N_2`e+^(qSXEIUJG-6h%{z)75IAY;Ybe zK-3w4uQ&6n4Vf|^SSq>n?o1}v~3ktvbmNo z-6MfKrjvJ-j)vr;ni<14MF{p$-HZtm!{s&(l$Am_VhYa@!0;l+0EDkVPF}Y18*fuQ zSJ_;6u{%V)ot6O8w*`po5s^rtJArgRM=+h&k z9~i|c*r^}Vm0c(KZg#H)gpXl76(ypxHzj)O!98L_l%$s-5wQc(0o zWI`!9I8QFMircWP1(~?(oxu`OY;EO06z4L20Q{yNfL-q=H&YqLB%JCxlbjSsl?M@=pT!)L+ zR{RWy=9LrYqHEE)U7~%*CPBQ?@xA7Z7CcW4jR3JCuHgV33glrWw2HbkFljV*4Dx`x z_C6;#Y&&MF6j)>@(FjP~T=LDnzEnFj-e zO%$%#rcTW)le17DR+sF46eZnfBmq!Znc6e6MF??V>9*XP24orOmHTt*gxv!A(ZrSt zmSx^}KqQa(Y56dMVLK8bFC8_Z0eOvg!$g8TD#UXs z#APRnQspiZVvaPQPF_#S&O@(dTA#Wketbq$>ZRAHu<%JsxGGQWlhCOVPI{{sEzQDbQ(WTM65yoj%j-Llc!F!73a3`C`$DIp7zVLLOlY zNNOTfSFQ!eC9J}8TJXVwS7w>ep{sO6%c|{4R<5OM(!7fO*h1qW&31S+;Hj+f+#z?t ztyS%}e{uf=2`dxZg~YUITQQnrlD^oOcDmhoRkx%p2+aj=s~|GIN~WcbPDARn>FCm6 z40F>0%e18_`2PB;2}u|dW-AlU6bkB+-S0L7DdGxc$P?-;gDvZM7qcZ!98+ZS=y^fv z)DVUHCQT7E?PYW{DL+$;FRfr|R5!Yj`YsRKyP6SLQQ^JOnE1|1I7j7Vg4ifvk*|qw zo%oLKn4feE@*wO9MpN7f2M4=K1wqxk+b565y@#L^k(b?xuhPICHxlL7o%^!7HsIkl z^*xRp<^CfUSCP_0*BeA0x2YC5?crd*y{9MqNH&_jmmpibObb&q=ES9j2YVD$bC$?5 zA(Im19ZoToNWqSUZLr+&`|d-$v}p+v<&y*f+XgiZ%YxwPKNs_Yax$7+?w`dZFsd^< zynpV*4PNlU3*UVAT~yL-YdmiqiX!s?>(YXI1z+OWpz@8R_4#avdz?+Tso#`8cr9P1 z2a0upFVax#7OdzQVW3=iO$A6*Cs5v951niT4U7VYHF}x>KZdY_6P%NDAx^KOWXDKZ zW3Rx(4_2z(XAJcNfun1nd|1}D>m4u!48DEg3Rhgu$0REyUcm^jrV{4EDpq3#qe0u* zR-4MG({?b4L0HrXh)5p-&+L@akzFw0sZ~bZ-$L4GJ9~$PYXn04m14Ui%r^lnjmJWF z7#Ak(6N$Y=a2Xd18?iws&ib^wK{9nda<8NHr*2}E=h&|IN(yLiV;@_N zjhGPBU)eya8a>vmxg`O7y6D&+6~Rlw-7h!ml6n?RY#@m^G>CW(3^ym^t!Z2LH;kMB7Semi6VAtr*dt8Io)t~EN!6>`CxjXKRChg%U91o*2 z7}bFyVbqw_rD7^rANC;OGrcyd>>c#s3H|l(08dx-MSOJ%yzdl*WoI;_jl8tz^u^x3 zkqIfADR3nCm{<}VQvXF5T%>Np_e_#ANe9+Y7W{{0Gl{sxYnYCg%})GWYB7Mr_R+B0 zGHJCon(v7 z2eqDQoL~k$nIt)H2ExT=n&W;;qG06#MIMf>2pGoV{uA8Cw3ms)FgXL#ExvqWFD@D+ zKwZLNH}6zSPI@2N^8pD+Z6pJes>i=6?>X46H(JuVt%1YR9Vku%bjImQK7qVnw8 z=d{qBl@wn!g?ucmIar5Y&A3JpJ2q$ReFBpKUTX%W&(k{EWXE<4H+ge}fuyk^iu zHtOPWN4*D(H&jK)`$h?9e*X}gvk)b8xe6}m-+r@Cs$=D;tjYCRhs249!BV`{X7liO z<1wXKX;-Ad5^GPSc?!lw48~&m5~W4S1iafGry_T@&H-gIRSz?}>Atx-gXWo+y)?Z| z$K9M%4Af>x_bxH2Z1?B%yj1kIZc{^?FX?~;lT|oM%sVGEwOPwA7~>E=?DK=-3{biY zZWs&^JtVB_S@w>l&QRO?CrpFpK_k!p+Y2OP0A_zwT$miEMOFB+VUV5xOS21JvDlcc z+$mrn83AM6J!?aHo_%@ugABo)4~1GwolW^BEl%$5S0*<-fLKP}0lb7jRV0v%3@5v0 zgLEeVBi^Y4tD?SB%QaeD> z?=ezw8r61eQ7+P`NR9CSuT&6m&p-yTHU6Us-iv}YuNzNypa%5DI1!b5R)*fKQ$mi@ zwXS%XN9B8AKkNhOu$@-Q7ORl|qYTvCtBwC-fn(j@yK{E+VyI`kr1pL}Ne5PAG_4R2 zw$>Z$vCIH_WpgHGjNTO!t^n0-HG4H|vrZp`XFI&@vNN-tUuef6cS^DsR|OvzJD%j) zLL$f1BiLO4O~SBM5d<1BGbbtPN-3Zq26szt_$`3P{7VDT=8!8GsU=)(a*13wz=QcE zWm)9X??d*FXcT}BLic0eNuXC)r-%7J9=lC)fRg~~jvFZ8C;MOft zQBC^mKRN_JHS%J@CXj2ZtPE6%Kd=Q>-!*N@i zk|)K__Sk7r-F%Q58T=?*=|>Z)=czFDOA*z`^Ls^l$<=ah_yUYK0RfUUS*Kb+HL77t z5>XLf32?(jhA(xO^t39SuU$ zpID*6vT1bS7YnYM?zPb*OM5&NkghRSWC=;A;ow1^hh8hJRASBMky{f_qMqq$5Rf1{ zy4%=t|GiEF3?L{19v7~mOMddPUsm-Nm$ZL^fR8 zw$E3X(W$JYVP>?gt3bg2Y}AiK8NPeDyB!;8d%_E8D4BJ09ay864J?_S`%aR>?b!Hc zKT;q)$ut#&v6{90iT?coaP7X+7GUV~piCydOxOhEeEa zW{1%4w8K}VkYR0Rx2I;-@Af1cT;{pQ;17Ik%pg8?*o>~XkilwyLIcZ|0?gQ5Nzd4^ zq*Ix%_xhWD0Qu(lowhw1_=>`+7`9;w>}WNsdc+NT9&ZZ&0&-ysC7tTJ7mfgoRtf=O3;?#QFW~$x_d4e!5+a)z!~~92!(3MyZb$GRju! z2X*8qf=`8bzKDYd5E)8oj65N=r3(k$pX}`x4>QW;9)ro_$+~YB;1mVBCWaZqH>{A2#;N2o0q#P`c7&!Nmt#+o036Zuh&1>gW+$||@?R>>ZCtOM@cuigljTyM4w-RKnZ&ci1N zh5%2t)o+%)QoJVN*00Eg?*02WwtQJm?)k9+YPmxGHy|moYfg%mmHs|^jrM3&RJj=-d&lAQi`?oOEMri(rB1>)d@GU?30D1Egv0|P5C zR{{8{3f@0K|7=p8YJ)OMPsJjbj~h`5Df~@CuGnLpw2O+>xBo;@X{Sn|=cQ52?U42> z>U{LmDj7X)F15dxE5B3l@DHUI?)p2wS86V7b%Wgq+=dv4T3O=*H43DB#}Y{6 zQj&{cDKGc}F(f6QET8BYj&0OwU+t)-{(E4K9A$5f$GL_wN5i@SG@}6|d-DAgS^5m%P@Y|2n z!8}f=uMEa8&+4F613qo{S2R66S4L-qJ0Xlx5CM&`y8@|f$O}%Ec@nt!?67qJfFf-~ zZvdY{)=JGf!tQ$VQy<99mZ&8j3#E^2ahKrd^jeTNZaI-8HgH3aX5iF|8`*&R+lGZ; z&)GA->OGsvT>c@BgiF^hFVDgGmWUQ^3gC~}yBvjh!{f0g)8zh^Ss%9_*$DQ8`B@; z**Uhm&#NMjbsxgO;K|2vw7b>idCQY8i% zhqq6d&Xb_Kb1x@xN3F=GQAnwm!npj}jG|cAgvg^!{b)ke&}JT--jatBC)lE1#1!u_ z*@40WBw6yAVyd$q(Nauz6osg|Rww;SVVD9nm%~tH`C;`iXI>={F}%nG;>IkFoiHdh z>2a)z9^pZ(f5k_U*IEe}UksQ2SYZ!7S zc=xfmTh2zwAc(gI)0>s#VDetdg8+?|cScB-Ajol1l#tues~;luSAMBCYA%8!s`(Kv zOvDcvE>T7xv42l|)R^x5Nyi{zzcP_aUD>X0mSsN^`3&eNh@^Z>d| zR*yd$!T~!4SiJyMKwPKKqxG2^&J@9QA&MeK4t7gdMz!L% z)T9l2%r12=F=DQw$0?^^b>Y`?cN#EIsK}qKlp@$Q{^8#2nokSUPlv9OuJDHi!2k6_ z8c`^OzSfE`qR@!q6_5L4CtVGb*Pp(Q{A_KWy;$26>0IKqAsSJ#7HmX~!2ljCy4$_+ z6TH0iv_serRTkR(<->)ql_mp|H9#1qp-wUY@A07ww zwF4!E^jJRg061GLNK}9e|M~(=L1mNrv6v_E+A8r{S+&tdPvm}lE^P2Rrb4}C0liK` z()B57zv}AZliw0t)e?6E_9cibUvEI55y*5yY*6Fs%Hg8d&SqT9_pH~ff#0(G$E4>I&*P0d z1Jgw*sf<3h3QcqlZgY}4UbrUPa+=If{EoeChoD`L?;AE5)*Hryp&S~`HIqEMiOy3D z?vWW7*5rv^bl1tq@BAxoC0}rpU;$-%93}cLS>IBdqm|d^HszMXhItNFM;8B`?_j1E z)1JdEja_JxAG}4>`NZk{YR?Zfl8;g&c1?_|+;09)8~A|;E(QnEMR_F$l2qkdmQLD~ zex239+{lBzju5+q=Q?-k0MK3U->?v)IBDLEcUyk8{12h;wUwyG1F4$U%(4USJ4t$o zvSer~foL&WI3uqxNsZ6Q`|3bcEs3D4VWvfq*;pbsQJZ$-Sz}e(h6FX&M1{BV=3Wy; zFEuw$NH<4jom~FAaRy{~OO4c{&`e2gNfuX^&dkqcWvkmb-MFbrYt|R%H%6-|Hx?9G zj8V>Sq7Q4!wCfCI22E||^hG8EjJ?CVl304=w+KChijS_{)P{b&>YU8^Zh1 z{Y!ahv{O$<^$eEVL0Ks7b)-vT)1+}2Au)BsMYn$1>p|L$zazCFm5X7b61E6S&dtqX z@OwF})}q(xD+*cW1LruK_g`T=#ci~B@3Oj0T_ekbxUe6O{5M0-vKfSdX6-DMBno41 z{GUfepH4pAHp+eeKW30)jR&b6_u`QisQYM^^FPniGS>bbcl!r5X{1a;dUi@CZo_e-+;P5w_D6s|?Vp?&vDX?E+w}$hfsbwRSXj$mr(ic5 zXXAXr1mCW`bnwBRAVm(ByXvSHnmll%NUJb2FC%un4OhHBU8PiTSX_$~Eg8Jh*0q&C zt21SMv;J$d%%DEbYbN( z`6bYuB+j1iyV<1P3wpAS#gD4%K>$-qR;A6oa1`Uwe=cfKY6=%h}bu}|3*Py z6DHC<29UBFoL&9ip)yHM6EQpcle6djglro|e&GY3(zaZ+rNhT;YPZNOZlOJ?-pMmQ zJp1`e#(V~ER0jFQM>a~giWgW*?1z!@ZGMqvc8OlSzQT!e@Fnek*#^Vrp9HD^J3#vg zEy^Es`Nzu* zSS*7CZ5%Y);y2*aXzDM4BU9s+j)Feo7eLEPz2m#`mn1r8ZuIpp(jLQrC2aTxzTaH+ zT^R7wu(CGVjljyKi0xm+PZ?4@99g;H)$Ok=%~8;9rq)g2VM+9zd>En0Ap)kDCqpJr z?f#gU!jp~s9U1v}sEO&?cn4~L_^(PHB0&6Y3*w8`59rJ;H@f^iI!91q*`v*d>A)#?`kaK%Ysw2`M^$2Eu@hF<^;+|sr_;EevrGLmF zjGg;I;Dh+#{2}e6Y@lCvk6=H56o{4$(K<}=Q1UWr?VF(Eiq@P=`EWvH-P*VEWs1o96gnv9 zrI8PM{ZF)D+21^WF0Pjbd8;hsm`@Z){a^QMz|=o5@6HoYE+pf41oNuR3-JHM6S>oO zGU6Ep#JEI>HeQ7?%my8~n?7dE^%M_3^jXL`Ni|fbo`5Sx6l?-3lUxp3EQBPaD3pr< zja>$1&(SuTiT9^y04dP+AcuB55E2id0HfBr<}Y%M0qPtcrJ3Hb-yv3jd4Y2Ye5QWw_;AO-drwlR(+dcmLD zz9e|1Tn*TR1BmdTtp}WySE7+Kk zu03j@$sBnV`vwTJNwN5TzIEUWHUKGtMqTS?njY+3mZbB0m;{6uDmhK|4bYLy4r3v^ zJv&3CHT4(&{@ap|LHFYaE<5iaXCBA`I3sM!98_J@)>E(X*%EV?;JCEiYKn8cw2ell zbdYb$V3l7K?S3^DoXreRIpj~wUhqWHBXgFnx(_3dJlDY!HRvD7CT&TOH2iM%7VxU6 zi0x<18{R8IuK3a~nXtXYcpU-EirPV|Bi7_nTN(S=#AXy&6gd>GJJ&ckxr8Zg3^n`) z*kR%dJYq>*Ag&1_W-b`k9h+Ml-$uJv(5ljnitT+TXe4nl%+b7YpqSWH!trsTgnzpu z_l2XGs%#4bPx*H`3kCV4S3fRfkefTq54?WloJmTkCEJyJ+hTo%|Eqhbvy(9FsgJ7u zK!|^hIlGRTjXD06{Jzu^g_ug_@qW`2rY9f(gn8=#W|3F}=)!rwf=y+1JZ$pfw(oE354Fl1!dX?p1TLO>Bn6g^dKs!!Bmh3z_&=vL|!-L)q{|HT4Ou#1w0z)?jVh& zfJ_y&ZT=puzLgDC-srLwgniJ;Jq6o7>;tp|Zlw@=Elmv}#pM%fjiG9IC$&7bncfgm zV%nk6431f7MyVx9R3@)X9iY~Ym+0(JMB>yMyU-#L|yg%*3h~r>3`-45)m~? zmXVYs6D1{xBq_+QlY>{OZWl(DP6OUuKV9~?b-8dE@aK(w+Y4zvhFZz<;Dl!;g!42f zL(!OtUt=7`d@Fu8&}LF_UlTooi#G|d8eUf9LfYms+e~_cEV(&%Jo~U^dM4B4g9v+> zt~OwUxnE9LLu)Uf*TO7hmDrLvl#(b@6h!TidVcKD)@F&sIdVQPM=lm=r4O}MH4;gV zBE6eLs>zCow_dvZ*FqcX+F@1N{vh_N2>Qs)!>g_Jt&91pLS60muJH+sH{VWJ=3e|T zhBz~4d2MDAuD&=sXL)59F+EmNLhrq~xP-Q-m~Q*F0$RH56D4$8x6-kap2tKIgq5@` zb8~A&%_igta#IKAXc#%s08SUqy2lQOYX^#Rl7^apv5CTBlQWV7Wls4{Oun#t`$?9! znYT7*q2}K;w!z7aCP{b$#dHm_&=kP&OP_Vn+L9e&n3wGHR=;rI}j2~q?;`}e$*o+J+ zH6xQm5l9je%-Y~%U#W&Xzdn_CTG<{SJ*dC&r{-2Z8Oa#guq38bqZ+K#PhXI)87hdV z#D_?!%G|v12rV8be<$LbR8Uu4P;RlRVL86NJB<6BZ}xPPRtz%c6_AV;#$KUr1UKU3G* zJ62gdGCN*lN|00Zdz$PG(5w;R&d1Cdep)|G`1;Om@bm2cpJjNPduu|rkfLyLeQIyi z@3V`Ud;pCR5NPW!xeisQYZ#AzO|W@iq(o0oWX6zl^Kwh|rN$C{uBKdHXfzixfIuM7 z&8PYez{&5h-uEb)yEJC}y*xb*_JFL+Z>lDmzpqjm}9Da1-}h zy@Fghh@E+LTf!Ii+BXvGp1$RLG$YJR72?t1=XiK|Obe@^TGBLNEg;iHG2}wF_Td62 zI^(wPmmpx$d1VKlRNZ9PfKSIx=w~$vHnBELjeV#^yz#|5(f6-TYSK6V*S7_{m|)2z z&c@WdAf@}O;T;iTz`N#btw~5O;S6lj)5xLJA&0{^RB;X2>G+#dkJ^pxq}qaRvhe+E zXZUgai5wRPT)>+@#K60!MUAYi4(*J?fi+*Jn6I}eKisIPO})0-_i&oc_M&*>wfDx^ z#ey7OMdP~}^YlU8L4IT72|Ye~jQ?|sRGC7lQYKMmr}5;fyxp^f@vS^o%omUt8{T3< zrCH`(SjAr#vj-XOmUO4!!tN9KjAi`Mn{>_t4g$EUl^ z)No`?6zKg>erT^xJB_=u_6!<84)_pW=3BQn*@WF>-vl-nUI+qE>+Yx?kxv$R$P z{PHB@>GlFxK2Sbejw^3IYJNQ^zid44df~NVLG$QrCe(E$wdk}c6Pbm!iqNU-ie@0G#@_p8QK8U;mXq z#OsJK+m}?eJKu_{V_I_u3L%LO7*rjd|1v7ydwWTZ3eR7S4v-PF(OsIJx7NNmw^y0H z@zI)U>YbMz@`pfo*vlF%-Jcg`QJTV`;hreub`0E0=351;K6T3Q!>t{AO~hpR17`OgGwaMV7;24amp1k_A+HT7 zAq{IWzSsVWb(@oVeTnPMU7b!c=#Gp~V{9(tVC=yh#&|QL&vJEH83@AqGZMsPuB(2{ z=yM;c(B^~ftBOKVDawly;>|s``g4^5JeT3RdvyZ;ex{GSV~IgmK*^V?X?|>o%SW5D zF}Dn&w{G}sNDgisO7yE4!i3aq!oK&Z!;A<2HLfB``}n{xRNJ%(<;)c~=Q3~U@#7R= zBIh>08CV6+0wbxu1&1h`Lgs={ij@)$3kCLFyF^(PvB2l}d>tgjvToz$R|nKxsY$VO zd_D=Ac{6GPHb3tSk-|a@pZ!&E4~O8P(t}=ywiuXi^>JRehm%31+EvFJ5JB5FsVRk7 z66nF*B~pqaP*KhOJUkF;BOFst70aXlcEV(u9Q)elRTOWzhPZEhB>mA@_i z?320`yOn>`)t?=D?U;K6<*2*|GjHz)IckT=+_>pF}2`hQYWsFCZGc{s(Th(n;`!F}U5rB#{NAoL~bt%xVU520~u zFB{+H-P5DK;R?C|rEYCm)#=-T3iN3Ss$I3J-WFW93M8p-8RSX>J7Ye@pG8(wbv=I8 z@(k$P(p34W=bJElCs`F8Gb;TFodFukZ;k8PY_R#C-7vG-gHYg8$#s z8{E;ai%|!g=OFm(tU9}K%50M!3yE|T3*=&7La(1L9L>t8jb{X&dV1h^^Rio>PzrM{)RCkw_-f-271lB?re0hO889^s^AQ zMU0mNL2J2J!rOD7Bl0m8YIsW6v#zz|rJ~#FU*x}h*FC#Y+8@G<$e@2ybjbcILj1{p zgx>#j_HEz0Pumkt{CT)YoNeVj4qDiqfUb~?zJN(i5s#TWpEEoKj#x4O@-~Pgv%|{QGvb=}#LH~qp5!d`QULwy z!qbj?gqqjQLVldv;NwzmS`cYF`A zLEg?yglAm?aDE;T4Q6HjAkOex+NcCUS-0j1zB@(Mh z@5(9G84y&&Kw~H&m(EyPAZg&O*d$Hf`V2TlTTd$u?CrlwjGQS&$o;z^BW?Vf{JH)f zagqN@L(sW&c;Ml#qipOpNw6`pO4q17bgAg0g^Nj?z&6W>IA&RJN-UlzuEK!ZX#2l! z>iw`xQ#BMG36Gohrt`7)FSdnMi*jUo`FP8Q4tyYb8}!$98Av>G!!Ns!=?PJPReMI& zk8ay_4?I4IW6#j)0*9Vj;J!f{sZu zYs3GalFR7U&xkD^V5spo2I!-y{IuTGG}&lIN2<(Lg3m?|Qasbm4G09frN05i{vxad z=H?X*AR9rAgMLQ#Dt2EN>qnv=heM7V04bavATA)CmhQP~S9}KI9B&DU*GT*hm6%u8 z;ra+~syMnAb0ij=*h@QFnu@Ej27c0U;9hlW+NMyc;0BNmq9{})?wXVei@yjIj%B>u zK9s-bnXv}nVBucvsXBTMP3)ALv1-X|KE7g&(Crs(D1>>`D?K|l4G5G!2INgdPvjOH z-gn%0P$aYJ-oDH^@A7J_!}8*f5=H3`zru(&mrEs*YGFN@X?)UJYaFJLDx~vUt$J|A zRo`!61jneazK+p7e^=XGmo+jPv64Gd*VsLG*U`MY7x99g%sZ@vD>jj;B;Yx^sr|We z8RLv@CoQk)$>kVlO8G9FTGpt+9>vZ6olFNQmKzf}jLR!-fE6??-|r5)c5x$-BfWcQ87H<2H2QuF&SS_o%!&@^@4M>W2a6+>p7t$JbOnB))w|_bp>`s=2-| zepa~UTDBV5?|_N1jF-FIu=zDM&{}*=Lg7va9Kh&-6k5Xso0bs*Ozj%IG6q$ zRvgobz}EL@UKEC+t0}gm7q}pisoSxtti!_Ll3~Vg=1&r`W62}ZY3ab8f>fO@`Uh5N z3!9Nr{DE2i=lW+|3YH^kN!VY#^D?~Q^5=%LYpw4Y*!)iqM_N*Azl&TnegPoCV}bSZ z{BogCTcouJB&yj4IRH68#=lVi_unzn>FultwiURRuQOVbhAMMZ_`*Fbg(q96Gtr2dz*BQrKO9od4+ zN6fT_&PsQq6zDDVcG~V)Xlv+9*1-<}Ms$pDEWKFW;?h7`fqTEV-=1Y|>9!1VtM~50 zcq`*u&a!&pv8Po(T9y(>)I40g?3 znDLYmBFZxdser*km0*Vz<1Tl+N$iml@!Y&oVxtXdYm+!&Lz0CvNV5%s6xfh(0bEck zut93!Rfy6~@jt;_sNi2Mzp{e_m|yKBVFbT<>-@_QCRX_7T|j4ntsOeop|?zQxT3nf z#M%K}VAr})FaOCK*aW-T1}PWVApcT9H_bx<<<(=t*KJ5!(U8&X$I;&La{dM%fY$^7 zX@evQS_E+dn`nbC{NEASgj>X>aMg{FV)*YHxh{OrtR9bC{@YF%Y)od7MX9%#YqX1W z09#uvyb?jXO!wSw`hrBVUB;+P+AY?AR{LVu|J#b(S%3ep*(Dg{aqX~kZ2>^mbs0-! zTB4Vyj70u!`H~;=4Da?2l-mb|j^|nY5`!ZtPXBxU3%0tk4UM$r6>wb+{C2{Str`}`LOdw+tEHjH1t2Zf)&t$6Ok5~NDpM2{_w zef~5djPi0NoTAt5rh}RYN58@mudRF;j!O{nd*TaUiYLsKseQHuo- z7&KgHfD{YLnby96QR2=m$!Hn}jBY=t*R}%^rR0BrJ86e>M!3)?f8 zSIH~L%|gNK_GI%5`(B-0Ossf_7YKao(4M(jewIlk1?&n68arf^*U*8I{no87fE@m3 zCCHzWp#?g~Z&_4lok&tZfSA ztoiiIiLgdxqx=8Xb&jd&)2vuOn*7;O_aRB)faC7LaY*$4J@IjH-&ztxF5w6POQF=~ zJ?cVSB0i^t<#ly~1M0)hBTB29o7#SQ&3BW&Kqs~l$1lWh)yPNQ`d8sWANO(A>;|71 zq5?KVtso~d>2Zw9is~?isM^|?9ck!fZm3w|&77O9f`{i`>DxbT1(%%xNE<@l5o(7y zgv(W3qq|8FdqYcHu0F63LY|VIzWID5{J_Hhq7vYQuL4EC4WHvLv1n9_Gg8*%n>O#d zGIw>>W!rGCFgxgFAlvk_^k6F6NImh7{GGt@*4b!aU}(qXERlbefqx&W(XPYP$J%6L z_(A+ti<6^1&^P(Euy?kxy=$bZxNqiNEfkl7S1;7TbBK)F72U&i-L3DN!p({FBUz~Q z(z$Z4Tn*-2W~}z?A2FUHE%x2lx!(h8`?Ipm_$Nj2l7}*_VuUmY&xLYM+=pTw=>hPHb*2IU|-+>Fu zX{x2J<9{t1VB6kg#1R+QV;;`1*?Fh91j0&LgX64PRu|qy(ykFzuz4+PB#99;#Z>PN zsR?4aySuyd{nt9Sbn`zyySBTw+=PAkzNFYwjnEp6D)FXQ-w>{yf9dkaKi(+WsCLr> zuC+5Np)gXeA#snko*D5lyyNL2v;XsNFa`jN=yQk0JUvW`JtdQp3l;&SoSUF#2tej^ zcwDgHeb?FT-JH%&W~+46t6V5tR$+M^fBo{^>$yrY(nM-;gn;=l+>0uUy_6@P%(u*) z4;@ip4QX-5dIn4L`o=O^+=gYCy%6;nen`^bZ$^rqre|QIV{mfL8L&#hujb@v z7oh(KiZN4D+lVC0_JnIE=O(66uJNg6B88Ymx^ZfGjEyeFSo-|RF{$+=t*qimIyH^y zmrEB~=L$7gaU`48%*BQKaOiu=&{GT5*D?JS_r|WxLd@Lx^RxTWu)1S`P$e6G)U6%W z42j+TYcean{59V@Pal2Y+D|-3Awu(iF}FkXfoU@~YmPyDC`Z`WuD-^gUBsV)f!%;u z&gvK}vbqDsWyQw8D^5i{?fuzP*LV7LAHUn$G5m*3_}y~E0K-7_aZ3yu(lT77=FCLv zCB}KFFvDPKLp~~dx_t1BBk7fITr_DzdC{OGt{;QE5VR`yEa16tg5MJp3<<<4IPoQ1 z2*;5>h4UNgave(CF2b}BAOMeoeu}abYgPJCJ7SE@F|Eav+?Re!!?KK zcEZA2(?XtquJ&Es7w{<48y$7`m(x{UQ#X97AGOa*5zq7s5h~6MS-d&pMIf5acsu_~ z@H{(&lspC?mxnzFOJ*N4#O!7EdHJuGSB221HhG!sP2MKN=(uP>g%g&tGbyq86+{Yrq7FVCI<*qWLJ-4gBpg>{?%(SAvK$ly1bFU zBRPLZa^)=z!iDo(=03R@O5Xvv_4o5(=&PL0Q0d zrjAxL-g=R*oJsezgd?i&C17>>&DELx*mUlD%r(MpBh?uGgJJ}Gt6SqOuGWUHXMA@6 zfjbJ$IO3K$z!6`XaM4)%nwDmBLtj+#f&&3*y~7KlXdl#i^yB(i?Ef?uDmM+EU=pY# zCe4j6USRp#{3_LL_qdEW)!NxiEhSN@ z0`)jZ{mSA9I=jnJgHAMaN+hNVyye?Mb?)Ltbp9k3nrNdPE!9aFAkTzzi$-MUH=XSF z0#@ye)o#5eBC&f$W!T5B%VYP9>Aoe)lm^3QVROPv-{i}U3Rt@SDqtyxn=J|%D9%Vi zm?OH)jjR1>wTZQ<12qj12($U)1809Xh2`vl%3Q2;L!N_?x(VS|zk!NYW^>E#*I(SM zGu*AA&p-89n$};_xYEjcz-qQ`Ebq?s{P@7d->rf5VKjb#>znii^L@_Y4cYnQBHdq& zriaR?+cK)&msFKpS2xi1G|AT0kBX;ck9uX5hs*Xg*-Jl|$7yt{!$t;Qw_5Y-vtm(Q zLg$lmC;3sUWt4hTz69`^_o;Av??$fpic^0)zGPQ$qq<O$T zl)`&XbD>J}_A+H|hCi{^BPhQ>> z&YFhrE^1??g?$Lll^M#1aTXiA`)`UdRy+(z8;+*=IkdRPhjzt=(pNJ*Er@r|J-O26 zX~-^BRw}afp1Kw-|MVgOUGCK-HdBd2>ew~^M0P0 zylt6~1ajA6plSxi$Mv80tjr~>Q}qQU>Z0|&`0y4?^gXzQo13BYn--}N36H3;rtqnr zD0ti|ej2$x3hBX*O-V?Pjlm#enmBe`?uvGFet|JMzXYwiQlNHH2VP_@iYhv-tCbff zek6qd42|bA5~zIU%n>I6=I1~Dz5E3lFQg|>gv_o(PU0vk@zr%JP7j2UND;ESta(?a zta-HpMnar`Ic3FH>D67Qbf)ce#xOzTFDQZF*n70HwK%NGDr7Uh2PyhjA#Iq{fwHov zc3Eh{adf5Av~4(^>B;g)O4PGe+C1Zc-f5uktUGg6o71{#0C<{5=vm0r~ThaLP5`QG zgVq{}=hfRY>K)Xp{hib7|GzxtwD(8{nMymo9dfM^5xm5w_(1Gq3&50gcsb>z{&y@5 z9kToV#qg^c6xt*CG$8>p(lto#t1fuz);=Jo`u}_QDTsh-D-4%LulJ0wSzSj0NmAy~ z%7bF}eNYeR#pe9d(l4+m9uWS)FX_Q9-Y{T3MUFanUkv5*Ku`c@`kds7;0JyXPV#$@ z=?`mO1v%RxzGchf9ucR9uDSI{U&NK7VlWT$waoe4lgL$?jc#l5{SX=SK^?`-%@kST zr~pIxm7@iMDI4GMP`=6T&!{>k#{VG5b4-eTchpNgpyrs%*D5kaT9@36sAetxx1FW^ zmS&IP(gPH5a7#HT@oDFIn^#p0u4bveTQhKt(;Q9g2?jI_etB>K%_udr z+tZ(>r`K>VQ0+j_+l>^v8&))JPkZFG(M;zp?I@4QJGs`GcaHIkKKh*XG92Do&?l{` z>BXsSX`0=LcbUBGp%0OMj&6BMt6c}{4yDc7uKD~l%50cSl`t&tG_Ye^530<8LmZ13 zMdU&9!Bqdrk?Gf*GdrKbL)vUnBl1{1c;{*ktZeM&+q?uE-^h0HY8t28XphDY1_(zF zEAPP6luCy*t08Hbk|HmE*uS_CJd}^AG8tNWy~^6X6LiTovlag9?=U~^uKVb?pXyP8 zt*N>o?i~}|k%2@n1os>NAD(?#IZ=h;M$DPMoRd@ZA^l!$Z*1@-=4_+JBYV?AT?An2 zul?&%yf^RliIer-{H65nm*#QMk-XCV@QpRQl<)UgNHZ^9aSUzr(UuoU(5>RXC7xkG zS}HCz6_EOKEq^oI^*qoY*r+l5(*J8aNpQk7Fyq7}kMK)l-v~SV8<|c~C%w}=53til zk(wl{Nk{_w6&PvCUmc=u^$03}Q>FPHWLjdUF$-$U@Cf38da}vr?0a=iHy7SC>b7+XKz=nkS%KXyDY7c@mb`PY~{Y z@id>P3X@oyUd)dqZ2H9+-PkKuKdfy}&upwgf55?zM1BSxT2*1ltCC%RfHCIW`G46< zBdYcWh|9rSKLW)ALZJlLE)Qak-){oHkZkofY_j!M6Nj*E5q&8WCpv2?20EMD_z;>i zjxo7Om|U2sDwf27x_3$ziFZzqNDM^^fm!ov=nCNvSNHPZ$ zcU*!*EGs8wK*b#p0w$+=P|I^bZ!3fSnT;i6FyR6ix=k>)+eirF;ZFprbyJ`f^snjp zIUSN?(AIHe29>}!&1-_pjcZ=rwORhV2%8YxdeG?L$lPduxf1#PGksrGM42Jz=0Mz_ zf-ubvIfhe;9xAgn-;it1+5!82Q-)`jdcQ!G@F%|)%!!Nq?{e>WIXXpYTJw4V%=HBx z$84usp6l?wFSRPaw`0549fJX7bt6KCfzsKrXBpl#;B8v2RJ+9SUBW)yW+fCiaAA z=>dP<3^C#KZ{&anxBl?j=OJg%8&bA-XTT;J_%8j*&{2H-NtTD^av%_U<;_ZAXF=O` zVjDH}_Ed%=Bvz*X=Ar*MO)-THqt&U^bqxiXP7yo`bYuHTGbvZmK2MWo)NOkAMzt8q zBCs~I?OsQV$yb=AayNFoK?y()%N98*=%uqJkzqMtVptYS9=<~ow)8?YmFOK~r`n?{PSv*B zn)2Eaq3ya(gbC&1!+=(4H@s5ap2+gMSLfvTz3_=xAc8{q@9&~P+e4zikrOOLr{)n|7N`uHUFMvlYH4edwC?FQ}?v2w! zmP5Nw0Asfl=(m{?9sZ+4a9^fxW#a+cvuJo_X{3GdZeLw>G7<0y8#z5_;=iq#;O54z zjvt_UFm35g^`u2tFwQsW#DLO@P}8?L4?-$QPaoLq3(n<;x5ty-R{ZDNiZ6v3funh6 ztA&g9IU$zr=b45B2I-7z!1YeQ7VG!Nrx$;I$^9Ww0SCXq6UFQ_ibQK2jK8_s6D}Wp za^s|$AR{4VU%Wv2#wT%~GL_9|98zm~aVNm!Hk4~kDuE@ETd=M5;+`FOKQ=F; zc|!l8jyUsPBN2&|yM5?PK7R6f<$w5~?%G+!6Bz$wwq;3wUYZj(>m4e05gpj19j{V%*>9o0YI=Sh2>2b_L#=AOvb?dkLcGE?h8f_aXy?|Mklue$6vYt(xscz7`y#`)(!?K6_&om8Fj?$g`u{YO=V{E(yB) z5}KX!2E_Pb>3rZfT;nU;awBv3)2#dwp`!$VCSKaMPb4W9Cwh74 z3;{#)S6N7py*{CWu}9|%9RRO_*V5fMx+#ut-wsi#bs5dl<~Uwh@{F%)4yfL&xW{1B za8PX*(upF&$gk?z+rVhL?g@ygOl*zv;dpRyWvQ2pdgeL7)oH=iE?kM=;Dc2u^FdrMiI4re@9i&L#bJnRhYL*?v%Dj zR5{fMM9eaf{9D3_n%@v{z~hdg+}WEe&tz#?kfzZkpJ4Wmj)Q%P$0}=b1@Kns z>OM=UP(5L7DXP3CvVp%g*biB33@sKK&x!NAVp6g2mL*f%%q`s#*`Un|eUPB;5uS2nYUKWkkL*6YT(sp5B6{`ti>dcle&^3*d9gAbnJSw^lq(N z34(_L9iXZo1$npIz=bTC z%Nz~qsNeZR9EgopS}Z|hZy>|Xk$ zzF>@R^V%bfng&_&d{&&De2ok-O6(X+QNX@nsnwY0?Cvfh)Vu#L8r@+f{5g%RV*!A# z#48uK+{BpRFjS*?td8#)HC zNB*crA_OWJCNgdaysW}JpQ(E@duHW}lcnf{>f!~T+~46B@qhyVoXs~WuD-Aj1f)=B z=Yqa-XfU&2>=>HdY0QhF+UV(2SYW(wVWld}faXMfyzlEK6uRefgGu3K?EOO&PY|B>5X<$?P>?PtJd>>GR<2iUyVb!=8z~UP!@$$1HHmx3 zUzeU>{EY;YuMk|R~~-Bi>%b? z=`OA?!G%T84h?{(xcsxdw6&30F>p(FJfyWf$}IKFxN3~Rtvyn{xK zE?OvWktMq;_-+g6@>~X;r6h+hm^(I&6BZ&$CwR(rU+0Zh9U*9Q{;rHE*6o#=>+QNXwXS0WKIL1T zg#LJiNfUDUQAq!<9-GZ-VOErUQU4!x;f0az=d%Cr{1h?OM=EDE@^pQ7=9AZp<^F3t ze~2HhX1phQvYy(}KJ1$$0Dk-hJ@y(FR(e>TS*$O^wYa1%H)N)5fb#Bdxudp5jMVat zx897&z;2LO^&+}^&ajuP?+PDivzGJ$(ogI-eAw4~xk1!g{lqHR5TuGJjh@H{`C zB^p}B2`Qt0No}Y?1Pb#Y%g^cXFF4GGjd11sBrD0?y!rvR`swj?L$31duT_Nhq_LOu zbzN|@t93?>YMh{~KcJ&NRg8c-eWaxNxx+hUI%lI+W82U|zm8}-yGZ47&G7f!19soj zWl;>t(-nb*a*}))8Oj>uh=|^L9^h^9NR>5pVH=H=T@GuH)snE%YMr)O=Lw2|@^yNu zZtYOkqdi@Z3(Co8&(z(5atOk+bNx78!pv4Road#eEGY6=8S>e@S;`7oJAJT)c3zD3 zYGTx!Dk!79K@*M8#Go8gYSBbDG*N??lB^4n{r9S8qn|ms#}bopscVrY(bk}=V))O%FS?r0&&JOymBhG%i4QrPgJG2 z)6vk`QR@tG+d_R_SwnNHgCgS$;dM~#wuWYZ3-$H7Glb}pvB+w#^iUu!88)XawI4g7 zjk30vtFBahkz?)}KuA+xR{@BVhzBafjzEgvJ)lVWZp zk^a%eV%HuH5G(V5oV4~B@s#yc54_DM5ERS5;y==?%?>Uj|+%Q%tc){mSz4@^wELCyRwwN{8Xtzs}{fin-*Lq`3;_y#n_tKYJvfa;CX-E!6(+lo18qUO*9 zWYo_#K8M+iD9N;Di(OK%W&m88bjW#BnuY1fm zn}o?5O02A3wEP&1 zl(g{~eQMDN8D~v+TxcwCix;fv=S9g|Sdv`Tj!#h)$Kn`&xN`h(e52P$CCB}PO`p7e z@OC#uU$E4)t{^q0=b15(FQ?L+1*ldRA z?o6n{SoB~eW`$^uw%`s-V*vwpVJS$aCe$+PWPIu!&^Ob<0bL?BlfjwE=LwIJBT%*8 zP{|OrUhO8jQll9>gJidmH~|NKLT|)pgf?m+&<;FTYI+sEdP2I7s5zU_g0+}gMFJBS zwz{oJA9OjG28`eY*;+V`uKS`58ktt)8-Z09?O|4=E6bxL)RS53+8cs$2yHPV-;o-; zM7^@k7qnh_yPEoG49%11Xzhe5o&+0Fj70hc87rR;*SHHCtiG4|+-#^AC^qfq^5k>= z^Y@hdd4LCSmdQD)^2@$ve6XfROsBC^_St7Z;5Rheu0GdtW9U`!`dRwMWPw64{y4tq zi#nJ}IgXgnc{I6Qgv+g@C%y{)XHF0?Xsfp|%ey(+8t;ES^xZn++d|iWivKstdMVEN zPU6h}K9jp1S48a-!FFR9MVbP#yd*UjqtOCgr{qY1+ar4no};HGf0rDuXYpzdv+g^5vECY2G4M`M z!ZuW6uIg!5EKQNCoMH0@vTp~|^0rk6mW12-Mn|+hWz%Dx)-t6jlFHd7CEEQsxM>CA zdaV_3ZZ@wtOWuzT=h*`M_x($Cq>b$us9NZ!#0H*Eu zL)nijtI+FxF3rsQiC`@*NZBPCFct-ANvM#s}jt9~d2sJk0m z{2?-1(s)7kx-M8Sf-^yB^TaC-y9qQTmmN#$kc*r0v4_~T8ZXG+gfJKg(P(xFo(HQ} zpWaXelpf**nT=SD?v+-z7LoX^|Vj`4aCh8=XY>pJAq*}O0q<*-A>>#47PPwgkG2W+b!U=5u$Y_Bjp z@a{z)7K5=cRUZ!e@b|y}@DEqaHae41v(l`VvoWh})%UB_U0xJC7Qn@i>M7YgV0lQB7q}X?Z@=m*dbNL~p)bbo;;mtaQTN2MJ|BQ#PGJzS5&iR~_(4udipmE5}?-6#|{N0 z!cZ}eT<0Z6=Q6VZt8n=uGT}4-OFCy{`_Vsm?53=S^w&+hal^oALBV{N0$l?0v2@DfAg1kzp^s?hB7+( zpO{n(3cz_f0^o?e^A?01yMI6d6?jrFkCthi(uO=B?)2crD}63mO;+vWrx!S-u3N2Q zD969TjWCZ%z*@5;0`c#NK}KBMY!3$zuvkW6+tNXSbg0(+H<?pMey!D*70HH3^G? ztw{M>d0x=j0ue z24{r6illR9B_j&1tCYfku{S>kLLVvLeG!JA;0Om{PpRNd`Qh;6b`$cP$fa`@YklXt zy*~tMUK0X=zW;$wpkD#p$q9XrB)2ZuE~@2j9L^H65`7jiLLeBiWf2~eaGNI_eH(Vg zQbKB%2$RT5v@ccTlg{!xNlg?fwaWyhq0ppk;|l=sp$~ymh9j)!1!j{;GR<Yx|oOnZm2@l;<%u6JKpwz&Rl#--OVtq5F{0^iz7h@j`Lcf3`b=n`G z2&xUea4sburS(sE-k0DW zd(6jy=q#`0p4-uXZ zjIL{As*;l@pt3I^zJyY7o%23kWN+7D>&QLgV(OK|1+Vn7Uiw!yEfT&_5+xEa+hinvah0eh zHj7H<`v#ND@raoB%+UaNAH?CJ#0OfhCkAZ9PXv)C*9SvLxqGrD^|IpduP1P7cRW^w zPK)t}!<@x_@t?T$8_r>&_Q?7E6TCtuLi$l^3Azqd!ppoRV;DlR!-k(7Q>bf-K=tMk zQ9(Th21a(9MKE;3+MVw^bJ+CQ>8k=Td1JCifNyi(I%5z?Gq7-&vn+)?NwCu+@_?LK zT?Gg6@Vg=Bk;%L_m`*E;+MWHX8A#)I0|s3`S6q>Pjq<(m?|=W{L#*Tr%38oKv#AO5 zb|59XWF;4}csnkQmhiv<-%;UYDj;EO%t^g^5t%bSiI%0+?aIbyzqXkF#fR;~TI;?) zPVevh_$F5FES<9l zSz^t?s`{F!F``E?1b`LLp@`X;0?KXxo~U&zUy;OhYNfz{J6N}iY~v7iBU4X^M0eIWY4**d?MMaDn6mi`CxyKsVb7jOKs4@62}{rw73(25k3tANV!zPzP19<` z3>f<&s26m=Z~?0^Gx88i3%Aja``&SAZJCE?gZAMBB^5LBTt*6xZ$VWxwQxD_lEwH@ zgX)2A`Yi;2UN@-we(uIoj(uLe0B^3{^TRphe!j8|PD2b6ES9VtlE(I1XE9}YMhVD# z-J&wk0@rRbaifP$MtVZcn?A}xoM=Dv;00s?6^Ox#Z`~%(m>rC3l^dh1@g5)DXdwhwO05GW)C*Zh`lWhY;NNf9LW_-DD_N(A7ElT`oDP$8XhI!t*gTWI z#aIM>(=}DyZIcz)vusEWWy-2WZrABgk)n)eNJ0p=oUK#1e8aknA zgzY-2l*5RU+wFn{*sg=zDaFnX*lN{DdZd{ZbUf_MfXZ>hX?rn4fS5T(>5YIKh?1U@ zuGQWJlCDb^GdQLNbMuly+ihCwd?mtS;p^7(3CBXxqi(l>Z(*O&~~0 z87ix?GEX2}`5+;7jcR%-`MOg>Hpxvx%2%mM&zVlGN&uWp@ElnQt2yd_P# z2cRj&PGM(=%DI-q?seR|{||m(5oDQ)h32@?djqkzA*z0U}YU z5hEh$c91MlSg#C}w^$XyS+gf65cA+U6_Ujqg^1z2i>?QvR)ikmzI11q^f-3D?AQmhNV79Qu-LjQ%Iwy zXz9eOej+5a8mAe|?N*-qntqYr_xvFkF_s!(Blf#}`~dFfaSHpkl2zD2i06Z9W_hx| z(lFj*C=zf2Lz>_$aqDZl>v*kh9K6#MHd=(`0AYAc-F=5?AJy+dlupv-5jMwk%-(*# zTmpPZo<1v*XU*Gpu$+0#Ve-!Sq`zICcm>xP)z1h9BAS=xJG0-DP*d3^;#S^CmozE+ zWdyo%##y>~&~M%jwOu#O4UcvC(c8Md3GkOc*%k8q_8DWxhy%ovIc{cS^8$DKjW_O% z6H9>EQ$Y3OCo2{v6KaW_t%HL<9fw!$SvU&5k|xUwdEr|()%oM_r%F=uR$_E2jC~g_ zhI)^O$atKDJI;Xd>LS``eftTYwdPH>@VTW9ysnH0S(uch!wB~ks#En_d1;@)v;1jv zqlRW+49quBhIPj!^cNz>)Us-AGPS(F#??< ze7vuCm8&WE@_0=4wi>FiWQQ}8t4W;K$=4vFI%Ue3O=w2QSqJHzt^kI|Ea>>qetMwf z|9j(HyHDgZ9<~pZ-nSZb6CW%7!Eu5|$LDAg(q<2o){{3Qf-tf#A4=zJ7GkeRkS&Uo z8W~WP1nG|HG}OwnkY(k}QH+0zXl&aa*J8*pS0eJ8fClZSfQ944Vge{zARz|IJQb+c zKqd2+ShbyG#>9_?z{#T2Sa6|Tj?CkvSk7uFt0K2c6USTlV4QqJruE57K9(#Y=dI^q zcs?-sk{AF8<^3wC25$aOB z;Ql^^_U1Efpw6fC@`4GVo&w&VFR*z7)sa=;)N;l^_G5`*cAdIHH}Y0~B=6-b`O-+( zaEt0+!-Y~73uKylHxwz3hX@$$k8Qb3g0lOpK&&~?8yYlHk34!QS&PBYRaM~jzWOF^ znD*x#={tP_;aEm4e`jz`rzrhF3I9qg^&zTGe^ah4FLKjAt`i3$bx9ZGvLWP9PWiAs3Inbm4(V(JmUlTy6y3b;vW7YHk_l-?QuWG&9 z6LL!~;)V=UP0DnlfSW(#;z7mSckFdY%Eii zju`bpKtwF$U{5@20rjcd=YG*F!U$)b3g*nN~S5?)la8!gdbh4`hI_P z_3lUek2+udVL*TKJ)H0E-k+8~IP1;<2KZy!g~#GQ@CeFQY+(?&s!4j+xt@vS$++5e zT+huUJ8`ac*ApcHF8hb}QB?&qpp-sn4+0p%BV-Yd3&0E5KI#EDrk9|anzgP-d@fC) zQR*x;_ez-qb)K&&reyNK^SZ=;WRzO(6EO0G8vN7TIY{To=!B=twgUw>BO@;gF84s5 zRA&1oIH`_KYtp5pF0P(h=X|39`fs=bV)9`nQQnioq}4htwG54QKI02SJ_L9_NC!lv z)0Y;ng>b%x{8Hp6-aGeCx$1*Df1T%nesIMr|Wa70s|3+wpEdI4RH zJRFUEDkCg#M<57~k7ugI08oh*(e=1rYMRjcXr`3bR)&{>Dy==2v@z3R8rx3Nn{b1w z-i|Wq_I-&(!~kc3^;*TGPx6IaZn+}N%U0?Ufi^4HD?CPdXH;8<0%lrt$*XvR7IQo@ z6d$f)pKb)`tB{CojEn$h8(OS!g|U%K>~zx=_{kH52Qx*+yD*uj&v@mXZWhCd(y0ubXoQAD687lK9NeM;I|?~C9v$B_BC<(*D`9b+^VEj;$qH$r7E+t$R? z9frb7179qm;zdJbxlm-Xey;m?n#rLtVX{O*buQZFrORKuqKS=_O6{} z%TT#j^b2=hmbT+p=X9QDPnkoiuG+{bg^`KYsw6GgP{6?XEEZsnh5SAQmpmbBfE{lRWjr48e}5_owxI{WGu@TbAT7@^#aw_B9JVfSu&&PjMZ^WIf|gh zxxaBtqC1^Cq4~OoaY*C?rysK8z6=!&n4fbZ6a!uLeFbpYwwIS%R7aJcsCAp34lHTw zRSRlFJrlM>79g=rR;Fov-$j@u8rG)Wv}|Bqka>~CA<+}bx2uHDWW~@-lVl$B{fHWx ze1Zt)j^vANvI~xficm00BRdZE!p(s04`f+ps%MjnPR`(0am|fiJTA&|KCQth#tXt@ za*NH93D-{M5QJ3HMBLsE(w_ge-*Hq!2JSdq!)!7WfE*n?sw)XVQx>kOe3$W zWr6#meN*AAG9O~U{7OHnCJO0ORTV%B+WOn-*W$4~!ie?MP$}t{?!nn~fFEYs#y_jW; zkDQZ`E!ZQ4la*rKS6b?megFsWBNSzp7(Fq-v3*jO@W_R5#vL~>mjH*6E|U;rt$qXt z)K^@7=-N0=IKM&b7bSV>jU9CM#)Ocjr?S!TK?fdm@up0P#v< zFzI8fMXik1Mr$mDlx9k3h>XWVV`m0p%$D1jJVvZ%La~GMe83lG!8bHitM2ZBvv4jwgA2K-1s>;scON!_yZ~Z!qMlf&|Y|lPbR}OTqn5LMAivaePeJYz!qgVv2EM7t%+^hPA0Y|w(W^+ z+qP|e@#ekS+E@FxyDu8mb*uZ_b2Bq&iAs`YUobx~@5`zi=NzFjq50uWxq`)W|S&q+D2o)EJSo0y`~dZ2lM9y(Kx1OZ$e%AY!v`Kr{?N;VqH@GH(r?)cfYd*NZE1{5rZ2^ z#!Ql8DIQA|y3;OC>`pk_;xI~4kkawIGGghp9S>#3;OY=nxsIyQ6b#d;W+l0qcpYNy z^OfmOQIanv(x0uY~3Ce6VToKNpvt88^ z!vqUs;xoPsZjw}d$Yx`+VvqF>105pJR9Qx(02R;3bSEOzOQ#LlVO#846}8*WC&l|m zjh3l|A{EJHcWkMwj*=yB!iMP(l48UueM^GD$gsy>V*eb%NvWeBc01Q&Ft&>_7<;(s z9R-B_J2XKk&{kl!pE3g{IyoYfox?Ayn^g7)|5zpnr}t8_0dmOq>=H@H;t&}eL%iWI zm7~?C#qc`y3jGZ{)FYqib)zD|QIxJ+P#1_%_y!j(7%0xPRByvMm`DX2tv#oKrkW1t zOWYSQcm=Tj(4@F7@T_y#qJHWp=A8x|aMA1aRHcL4Hfb6MTSbnK{%gxGDU zeevtHrWx&`r+wv!2q>i()$+lJ6UvWkbN$7OhYi)M8-w)}07@Igvm=+ra$9Ld8sT8y zB3%S@+n=nm3ajFLkJo#sU6yL{sW%td2PKi1DafQ-EtTiMa<`!S%n;ys zsG{i*Z2jt(2q>L0hv>8Myid1i$bm1v;DdzWT8jBVnd_hj!_fF4Pf|j-`4*_&EtL{@i%*OmtI!vcd<9>mMQ-XIk#?UvbXZF-|E=8PP$#qjeMx)kba6{BpiK;j+`D$dpMLxiIS_x^*%H zRE`}y8lF!mMurI=>`qI4Mr2Ps#zE<}cPB;Y>K0>oGG8+7OD-S5e`ceFnB851eCz}^ zIeRjKqzna7iP4~9V;vqh^Pr#MhlpWrg+eP5>}iew$hBhjx)oP}b+7Vv#tB#3Y!|UTZu&16va{8@As zN!GCh0m1@h*Uj}Z8L-9zNxfgg?cq~NcG-<^U{#7iEQO5C*|yHv*_qf!wTbWnsE&|r z^1M8t_KG;=0e5eUqnpwas&LPLm(Uo8GW!O58Ge%q_ktr0Gw`XjO29jfOd`BSBPY*|cdBuWCL)9c#t~ zX8R-5nvWO4ZaT6-=#l_*u0S?YG1AbpaN^H9Uwcof%NcN+quXCg%h6;o_F)bNBTaU} z4TcEvm9O>=x)KYmfRYkh2HQt9n_sujFcIZUtPD9dd)^lF**_)f3@Y-{(@dZCiqA2o zF`{aO-Q{o1Ha>tqS}u0NY+DW&R_(O4A3U=T4O#tqPd_P7oB`E^mmm74;@U#SupK}# ziv+*33KG@>4mLB&o8FJ=g@OEfG#0a?v80b_FV~#2P10{H_&vW_%)kHa%z7;Bi!Oe* z-Q?;UQ`ll>s9&6ND5GepXW?(#mCKAI5T$%Xp_~i7__VLxE}CWb4w!<8Ij79wdUzvm zh^nhrwpK3I7pnxE2=Hp3IM?~cEX-&d#&Kbs&10AJvRA7XSHjfYwW}kie}aC$NifS2 zC^-5(o{Yr>II3in1W0ObtdF6-wx-QS>xDFtxjas$QG|MoN?Kry#kTc(BPqipuZ<0E zG(Yi-jBj<1Df80#o{?H7l1Dc-JQH3fBx!|{TmXC&pB?^OUh|_fnqDx5i>hJj=|W;Z z?FDc7^zT~@!!MKQgJHf6Qz0mE8^!-cUNSWkGIFqml}w_P(WHTVkS<>Zt-Gof`t<

33OR1_N*!%ylDDa|3D1;gP8brBkv%FrMeyX$5% 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�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 literal 0 HcmV?d00001 diff --git a/fonts/open-sans-v17-all-charsets-italic.woff2 b/fonts/open-sans-v17-all-charsets-italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..398b68a0853fbf6368758deb1da49d347e3e7d89 GIT binary patch literal 41076 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

  • ~`;p}3;==ZtNy# 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 literal 0 HcmV?d00001 diff --git a/fonts/open-sans-v17-all-charsets-regular.woff2 b/fonts/open-sans-v17-all-charsets-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8383e94c65478622baf43553262e0e31b8725e2b GIT binary patch literal 43236 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⪚aqC6F-jh=?`}zBG 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 + + + + + Generics - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/generics/BUILD b/generics/BUILD new file mode 100644 index 00000000..0ada4b82 --- /dev/null +++ b/generics/BUILD @@ -0,0 +1 @@ +exports_files(glob(["*.claro"]), visibility = ["//mdbook_docs/src:__pkg__"]) \ No newline at end of file diff --git a/generics/contracts/BUILD b/generics/contracts/BUILD new file mode 100644 index 00000000..a50dc108 --- /dev/null +++ b/generics/contracts/BUILD @@ -0,0 +1,23 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(glob(["*.claro"]), visibility = ["//mdbook_docs/src/generics/contracts/implementing_contracts:__pkg__"]) + +doc_with_validated_examples( + name = "contracts", + doc_template = "contracts.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "//mdbook_docs/src/generics/contracts:ex2.claro", + "hidden_setup": "//mdbook_docs/src/generics/contracts:ex_contract.claro", + "append_output": False, + }, + { + "example": "//mdbook_docs/src/generics/contracts:ex_contract.claro", + "append_output": False, + }, + ], +) diff --git a/generics/contracts/contracts.generated_docs.html b/generics/contracts/contracts.generated_docs.html new file mode 100644 index 00000000..b3311a07 --- /dev/null +++ b/generics/contracts/contracts.generated_docs.html @@ -0,0 +1,291 @@ + + + + + + Contracts - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Contracts

    +

    Consider the example of the generic function:

    +

    Fig 1:

    +
    +
    function filter<A>(l: [A], pred: function<A -> boolean>) -> [A] {
    +  # ...
    +  return [a | a in l where pred(a)];
    +}
    +
    +
    +

    If you really squint, you might notice that there's very little information available in the body of the +filter<T>(...) function to tell you about the type T. As a result, you're unable to do much with values of such an +unconstrained generic type beyond passing the value along to another generic function accepting an unconstrained generic +arg, or putting it into some collection defined over the same generic type. This would be very limiting if this was +all that could be done with generics.

    +

    Enter Contracts! It will take a bit of a buildup, but we should be able to write generic functions that will be able +to put constraints on the acceptable types, for example saying something like "this procedure will accept any type, T, +for which the function foo(arg1: T, arg2: T) exists."

    +

    For example, we should be able to write the following generic function:

    +

    Fig 2:

    +
    +
    requires(Operators<T>)    # <-- What is this `requires(...)`?
    +function sum<T>(l: [T]) -> T {
    +    var res = l[0];
    +    var i = 0;
    +    while (++i < len(l)) {
    +        res = Operators::add(res, l[i]); # <-- What is this `Operators::add`?
    +    }
    +    return res;
    +}
    +
    +
    +

    The function above has a new requires(...) clause in the signature which we haven't seen before. This is the mechanism +by which a function constrains the set of types that may be passed into this function to only types that definitely have +a certain associated procedure implementation existing. The requires(...) clause takes in a list of "Contracts" that +must be implemented over the generic type. In this case that contract's definition looks like:

    +

    Fig 3:

    +
    +
    contract Operators<X> {
    +    function add(lhs: X, rhs: X) -> X;
    +}
    +
    +
    +

    This Contract specifies a single function signature that any implementation of this Contract must implement. Other +Contracts may specify more than one signature, or even more than one generic type param. There are no restrictions on +where the generic Contract param(s) may be used in the procedure signatures, so it may even be included in the return +type as shown in the example above.

    +

    The only requirement on signatures is that each one must make use of each generic arg type listed in the +Contract's signature. This is mandatory as Claro looks up the particular implementations by inspecting the arg types +provided at the Contract procedure's call-sites.

    +

    Contracts are Not Interfaces

    +

    Coming from an Object-Oriented background, you may be tempted to compare Contracts to "Interfaces", but you'll find that +while they may be used to a similar effect, they are not the same thing. The intention of an "Interface" is to encode +subtyping relationships between types, whereas Claro has absolutely no notion of subtyping. All defined types are +strictly independent of one another. Claro asks you to simplify your mental model and simply think of Contracts as a +mechanism for encoding a required bit of functionality that needs to be implemented uniquely over values of unrelated, +arbitrary (generic) types.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/generics/contracts/ex1.claro b/generics/contracts/ex1.claro new file mode 100644 index 00000000..e005fa7b --- /dev/null +++ b/generics/contracts/ex1.claro @@ -0,0 +1,4 @@ +function filter(l: [A], pred: function boolean>) -> [A] { + # ... +$$ return [a | a in l where pred(a)]; +} \ No newline at end of file diff --git a/generics/contracts/ex2.claro b/generics/contracts/ex2.claro new file mode 100644 index 00000000..e5a90f27 --- /dev/null +++ b/generics/contracts/ex2.claro @@ -0,0 +1,9 @@ +requires(Operators) # <-- What is this `requires(...)`? +function sum(l: [T]) -> T { + var res = l[0]; + var i = 0; + while (++i < len(l)) { + res = Operators::add(res, l[i]); # <-- What is this `Operators::add`? + } + return res; +} \ No newline at end of file diff --git a/generics/contracts/ex_contract.claro b/generics/contracts/ex_contract.claro new file mode 100644 index 00000000..9ea58a4c --- /dev/null +++ b/generics/contracts/ex_contract.claro @@ -0,0 +1,3 @@ +contract Operators { + function add(lhs: X, rhs: X) -> X; +} \ No newline at end of file diff --git a/generics/contracts/implementing_contracts/BUILD b/generics/contracts/implementing_contracts/BUILD new file mode 100644 index 00000000..22c154ee --- /dev/null +++ b/generics/contracts/implementing_contracts/BUILD @@ -0,0 +1,28 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "implementing_contracts", + doc_template = "implementing_contracts.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/generics/contracts/implementing_contracts:ex_impls.claro", + "hidden_setup": "//mdbook_docs/src/generics/contracts:ex_contract.claro", + "append_output": False, + }, + { + "example": "//mdbook_docs/src/generics/contracts/implementing_contracts:ex2.claro", + "hidden_setup": [ + "//mdbook_docs/src/generics/contracts:ex_contract.claro", + "//mdbook_docs/src/generics/contracts/implementing_contracts:ex_impls.claro", + ], + }, + { + "example": "//mdbook_docs/src/generics/contracts/implementing_contracts:ex3.claro", + "hidden_setup": [ + "//mdbook_docs/src/generics/contracts:ex_contract.claro", + "//mdbook_docs/src/generics/contracts/implementing_contracts:ex_impls.claro", + "//mdbook_docs/src/generics/contracts:ex2.claro", + ], + }, + ], +) diff --git a/generics/contracts/implementing_contracts/ex2.claro b/generics/contracts/implementing_contracts/ex2.claro new file mode 100644 index 00000000..cdac687f --- /dev/null +++ b/generics/contracts/implementing_contracts/ex2.claro @@ -0,0 +1,2 @@ +print(Operators::add(10, 20)); +print(Operators::add("Hello, ", "world")); \ No newline at end of file diff --git a/generics/contracts/implementing_contracts/ex3.claro b/generics/contracts/implementing_contracts/ex3.claro new file mode 100644 index 00000000..5fd559d5 --- /dev/null +++ b/generics/contracts/implementing_contracts/ex3.claro @@ -0,0 +1,2 @@ +print(sum([1, 2, 3])); +print(sum(["a", "bc", "d"])); \ No newline at end of file diff --git a/generics/contracts/implementing_contracts/ex_impls.claro b/generics/contracts/implementing_contracts/ex_impls.claro new file mode 100644 index 00000000..bbacbd23 --- /dev/null +++ b/generics/contracts/implementing_contracts/ex_impls.claro @@ -0,0 +1,11 @@ +implement Operators { + function add(lhs: int, rhs: int) -> int { + return lhs + rhs; + } +} + +implement Operators { + function add(lhs: string, rhs: string) -> string { + return "{lhs}{rhs}"; + } +} \ No newline at end of file diff --git a/generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html b/generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html new file mode 100644 index 00000000..2b89d334 --- /dev/null +++ b/generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html @@ -0,0 +1,290 @@ + + + + + + Implementing a Contract - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Implementing a Contract

    +

    Simply defining a contract is not sufficient to actually be useful, however, since the definition itself doesn't provide +any logic. So, to actually use a Contract, we must implement it for a certain (set of) concrete type(s):

    +

    Fig 1:

    +
    +
    implement Operators<int> {
    +    function add(lhs: int, rhs: int) -> int {
    +        return lhs + rhs;
    +    }
    +}
    +
    +implement Operators<string> {
    +    function add(lhs: string, rhs: string) -> string {
    +        return "{lhs}{rhs}";
    +    }
    +}
    +
    +
    +

    Now that you have implementations, you can either call them directly:

    +

    Fig 2:

    +
    +
    print(Operators::add(10, 20));
    +print(Operators::add("Hello, ", "world"));
    +
    +

    Output:

    +
    30
    +Hello, world
    +
    +
    +

    Or, even more valuable, you can also call the generic sum function from the +previous section over concrete types int or string because the requirements are +met for both!

    +

    Fig 3:

    +
    +
    print(sum([1, 2, 3]));
    +print(sum(["a", "bc", "d"]));
    +
    +

    Output:

    +
    6
    +abcd
    +
    +
    +

    In this way, Claro's Contracts interact with Generics to create a powerful form of code reuse where custom behavior can +be uniquely dictated by type information. And, unlike in an Object-Oriented language, this code reuse did not rely on +creating any subtyping relationships.

    +

    A Note on Static Dispatch via "Monomorphization"

    +

    As a performance note - even beyond the conceptual simplification benefits of avoiding dependence on subtyping +relationships to achieve custom behaviors, Claro also achieves performance gains through its ability at compile-time to +statically know which custom Contract implementation will be called. In the Object-Oriented approach, generally +speaking the procedure receiving an arg of an interface type doesn't know which particular implementation will be called +at runtime. This leads to the situation where a runtime "dispatch table"/"vtable" lookup is required to determine which +particular implementation to call for each particular value passed into the procedure. Claro is a "monomorphizing" +compiler, meaning that during compilation each Generic Procedure has a customized implementation codegen'd for each set +of concrete types the procedure is actually called with. In this way, there's no runtime dispatch overhead when types +are statically known (which is always true unless you're explicitly calling a generic procedure over a oneof<...> +type - but in this case you're consciously opting into dynamic dispatch overhead).

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/generics/ex2.claro b/generics/ex2.claro new file mode 100644 index 00000000..8a3adf5e --- /dev/null +++ b/generics/ex2.claro @@ -0,0 +1,11 @@ +var sum: int = reduce([1, 2, 3, 4], lambda (accum, x) -> accum + x, 0); + +var totalChars: int = + reduce( + ["Count", "the", "total", "chars", "in", "these", "strings"], + lambda (accum, s) -> accum + len(s), + 0 + ); + +print(sum); +print(totalChars); diff --git a/generics/ex_reduce.claro b/generics/ex_reduce.claro new file mode 100644 index 00000000..f110f513 --- /dev/null +++ b/generics/ex_reduce.claro @@ -0,0 +1,6 @@ +function reduce(l: [A], fn: function<|B, A| -> B>, accum: B) -> B { + for (e in l) { + accum = fn(accum, e); + } + return accum; +} \ No newline at end of file diff --git a/generics/generic_return_type_inference/BUILD b/generics/generic_return_type_inference/BUILD new file mode 100644 index 00000000..f85f3fba --- /dev/null +++ b/generics/generic_return_type_inference/BUILD @@ -0,0 +1,32 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "generic_return_type_inference", + doc_template = "generic_return_type_inference.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex1.claro", + }, + { + "example": "ex3.claro", + "hidden_setup": "ex1.claro", + "hidden_cleanup": "ex3-cleanup.claro", + "expect_errors": True, + }, + { + "example": "ex4.claro", + "hidden_setup": "ex1.claro", + "hidden_cleanup": "ex3-cleanup.claro", + "expect_errors": True, + }, + { + "example": "ex5.claro", + "hidden_setup": "ex1.claro", + }, + ], +) \ No newline at end of file diff --git a/generics/generic_return_type_inference/ex1.claro b/generics/generic_return_type_inference/ex1.claro new file mode 100644 index 00000000..03f531e4 --- /dev/null +++ b/generics/generic_return_type_inference/ex1.claro @@ -0,0 +1,21 @@ +contract Index { + function get(l: T, ind: int) -> R; +} + +implement Index<[int], int> { + function get(l: [int], ind: int) -> int { + return l[ind]; + } +} + +atom IndexOutOfBounds +newtype SafeRes : oneof> + +implement Index<[int], SafeRes> { + function get(l: [int], ind: int) -> SafeRes { + if (ind >= 0 and ind < len(l)) { + return SafeRes(l[ind]); + } + return SafeRes(std::Error(IndexOutOfBounds)); + } +} \ No newline at end of file diff --git a/generics/generic_return_type_inference/ex2.claro b/generics/generic_return_type_inference/ex2.claro new file mode 100644 index 00000000..ff4ef03f --- /dev/null +++ b/generics/generic_return_type_inference/ex2.claro @@ -0,0 +1,13 @@ +var l = [1,2,3]; + +var unsafeRes: int = Index::get(l, 1); +var safeRes: SafeRes = Index::get(l, 1); + +print(unsafeRes); +print(safeRes); + +safeRes = Index::get(l, 10); +print(safeRes); + +# Out of bounds runtime err. +# unsafeRes: int = Index::get(l, 10); \ No newline at end of file diff --git a/generics/generic_return_type_inference/ex3-cleanup.claro b/generics/generic_return_type_inference/ex3-cleanup.claro new file mode 100644 index 00000000..1ce2120d --- /dev/null +++ b/generics/generic_return_type_inference/ex3-cleanup.claro @@ -0,0 +1 @@ +_ = ambiguous; \ No newline at end of file diff --git a/generics/generic_return_type_inference/ex3.claro b/generics/generic_return_type_inference/ex3.claro new file mode 100644 index 00000000..a33cc6d6 --- /dev/null +++ b/generics/generic_return_type_inference/ex3.claro @@ -0,0 +1,2 @@ +# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`? +var ambiguous = Index::get(l, 10); \ No newline at end of file diff --git a/generics/generic_return_type_inference/ex4.claro b/generics/generic_return_type_inference/ex4.claro new file mode 100644 index 00000000..427acc8a --- /dev/null +++ b/generics/generic_return_type_inference/ex4.claro @@ -0,0 +1,7 @@ +requires(Index) +function pickRandom(collection: C, maxInd: int) -> R { + return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1)); +} + +# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`? +var ambiguous = pickRandom([1, 2, 3], 10); \ No newline at end of file diff --git a/generics/generic_return_type_inference/ex5.claro b/generics/generic_return_type_inference/ex5.claro new file mode 100644 index 00000000..18796645 --- /dev/null +++ b/generics/generic_return_type_inference/ex5.claro @@ -0,0 +1,8 @@ +$$requires(Index) +$$function pickRandom(collection: C, maxInd: int) -> R { +$$ return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1)); +$$} +$$ +# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`? +var unambiguous: SafeRes = pickRandom([1, 2, 3], 10); +print(unambiguous); \ No newline at end of file diff --git a/generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html b/generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html new file mode 100644 index 00000000..bca4449f --- /dev/null +++ b/generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html @@ -0,0 +1,347 @@ + + + + + + Generic Return Type Inference - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Generic Return Type Inference

    +

    One very interesting capability that you get from the combination of Claro's bidirectional type inference and generics +is the ability to infer which Contract implementation to defer to based on the expected/requested return type at a +procedure call-site. Let's get more specific.

    +

    Fig 1:

    +
    +
    contract Index<T, R> {
    +    function get(l: T, ind: int) -> R;
    +}
    +
    +implement Index<[int], int> {
    +    function get(l: [int], ind: int) -> int {
    +        return l[ind];
    +    }
    +}
    +
    +atom IndexOutOfBounds
    +newtype SafeRes<T> : oneof<T, std::Error<IndexOutOfBounds>>
    +
    +implement Index<[int], SafeRes<int>> {
    +    function get(l: [int], ind: int) -> SafeRes<int> {
    +        if (ind >= 0 and ind < len(l)) {
    +            return SafeRes(l[ind]);
    +        }
    +        return SafeRes(std::Error(IndexOutOfBounds));
    +    }
    +}
    +
    +
    +

    For the above implementations of Index<T, R>, you'll notice that each function, Index::get, only differs in its +return type but not in the arg types. So, Claro must determine which implementation to defer to by way of the +contextually expected return type. This, I believe leads to some very convenient ergonomics for configurability, though +the onus for "appropriate" use of this feature is a design decision given to developers.

    +

    Fig 2:

    +
    +
    var l = [1,2,3];
    +
    +var unsafeRes: int = Index::get(l, 1);
    +var safeRes: SafeRes<int> = Index::get(l, 1);
    +
    +print(unsafeRes);
    +print(safeRes);
    +
    +safeRes = Index::get(l, 10);
    +print(safeRes);
    +
    +# Out of bounds runtime err.
    +# unsafeRes: int = Index::get(l, 10);
    +
    +

    Output:

    +
    2
    +SafeRes(2)
    +SafeRes(Error(IndexOutOfBounds))
    +
    +
    +

    Ambiguous Calls

    +

    As described in further detail in the section on +Required Type Annotations, +certain generic procedures that return a value of a generic type may require the call to be explicitly constrained by +context. In particular, this will be the case when the generic type does not appear in any of the procedure's declared +arguments.

    +

    For example, calling the above Index::get Contract Procedure will statically require the "requested" return type to be +statically constrained by context:

    +

    Fig 3:

    +
    +
    # Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?
    +var ambiguous = Index::get(l, 10);
    +
    +

    Compilation Errors:

    +
    generic_return_type_inference_EX3_example.claro:2: Ambiguous Contract Procedure Call: Calls to the procedure `Index$<T, R>::get` is ambiguous without an explicit type annotation to constrain the expected generic return type `R`.
    +var ambiguous = Index::get(l, 10);
    +                ^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    Ambiguity via Indirect Calls to Contracts

    +

    Note that while this specific ambiguity can only possibly arise as a result of calls to a Contract procedure, even +indirect calls can cause this problem:

    +

    Fig 4:

    +
    +
    requires(Index<C, R>)
    +function pickRandom<C, R>(collection: C, maxInd: int) -> R {
    +  return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));
    +}
    +
    +# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?
    +var ambiguous = pickRandom([1, 2, 3], 10);
    +
    +

    Compilation Errors:

    +
    generic_return_type_inference_EX4_example.claro:7: Invalid Generic Procedure Call: For the call to the following generic procedure `pickRandom` with the following signature:
    +		`function<|[int], int| -> R> Generic Over {[int], R} Requiring Impls for Contracts {Index$<[int], R>}`
    +	The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.
    +var ambiguous = pickRandom([1, 2, 3], 10);
    +                ^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    Again, you can resolve this issue by explicitly declaring the "requested" return type:

    +

    Fig 5:

    +
    +
    requires(Index<C, R>)
    +function pickRandom<C, R>(collection: C, maxInd: int) -> R {
    +  return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));
    +}
    +
    +# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?
    +var unambiguous: SafeRes<int> = pickRandom([1, 2, 3], 10);
    +print(unambiguous);
    +
    +

    Output:

    +
    SafeRes(Error(IndexOutOfBounds))
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/getting_started/BUILD b/getting_started/BUILD new file mode 100644 index 00000000..e69de29b diff --git a/getting_started/first_program/BUILD b/getting_started/first_program/BUILD new file mode 100644 index 00000000..f6c1aecf --- /dev/null +++ b/getting_started/first_program/BUILD @@ -0,0 +1,42 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "first_program", + doc_template = "first_program.tmpl.md", + examples = [ + { + "example": "//mdbook_docs/src/chapter_1:hello_world.claro", + "append_output": False, + }, + { + "example": ":tree", + "executable": False, + }, + { + "example": ":example_BUILD", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +# Ensure that the files that get templated into the documentation represent the *actual* files the user will see, by +# running the actual create_claro_project.sh script. +genrule( + name = "list_generated_files", + outs = [ + "tree", + "example_BUILD", + ], + srcs = [ + ":hello_world_binary_target.txt", + "//mdbook_docs/src/chapter_1:hello_world.claro", + "//tools:create_claro_project_script", + ], + cmd = """bash $(location //tools:create_claro_project_script) demo > /dev/null \ + && cp $(location //mdbook_docs/src/chapter_1:hello_world.claro) demo/example \ + && cat $(location :hello_world_binary_target.txt) >> demo/example/BUILD \ + && tree -a demo > $(location tree) \ + && cp demo/example/BUILD $(location example_BUILD) + """ +) \ No newline at end of file diff --git a/getting_started/first_program/first_program.generated_docs.html b/getting_started/first_program/first_program.generated_docs.html new file mode 100644 index 00000000..1204c191 --- /dev/null +++ b/getting_started/first_program/first_program.generated_docs.html @@ -0,0 +1,316 @@ + + + + + + Your First Program - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Your First Program

    +

    Now that you've set up your starter Claro project in the previous section, let's go through the process of implementing +your first program!

    +

    Create hello_world.claro

    +

    Fig 1:

    +
    +
    print("Hello, world!");
    +
    +
    +

    Hello World is a one-liner in Claro, so it's a great place to start learning how to declare a new Claro program using +Bazel. Just to keep things simple, copy the above line into a new file at //example/hello_world.claro.

    +

    Fig 2:

    +
    +
    demo
    +|-- .bazelrc
    +|-- .bazelversion
    +|-- MODULE.bazel
    +|-- README.md
    +`-- example
    +    |-- BUILD
    +    |-- demo.claro
    +    |-- hello_world.claro
    +    `-- input.txt
    +
    +1 directory, 8 files
    +
    +
    +

    Declare a New claro_binary(...) Target in Your BUILD File

    +

    Now, we'll simply add a new build target for our Hello World program to the existing BUILD file that was generated as +part of the starter project.

    +

    Fig 3:

    +
    +
    load("@claro-lang//:rules.bzl", "claro_binary")
    +
    +claro_binary(
    +  name = "demo_bin",
    +  main_file = "demo.claro",
    +  resources = {
    +    "Input": "input.txt",
    +  }
    +)
    +
    +claro_binary(
    +  name = "hello_world",
    +  main_file = "hello_world.claro",
    +)
    +
    +
    +

    Now Execute Your Program!

    +

    That's all there is to it! Now you can use the following command to have Bazel build and then run your program:

    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +

    Congratulations! You just wrote and executed your first Claro program entirely from scratch!

    +

    Avoiding Bazel's Extra Output

    +

    Notice that when you used bazel run ... to run your executable build target, Bazel produced a bunch of INFO: ... +logs related to the build process. Since the program built successfully, this is something that you can usually just +ignore. However, if this extra noise bothers you, you can make use of Bazel's generated build artifacts to run the +program directly, without any of Bazel's extra logging. Notice the very last line in Bazel's output:

    +
    INFO: Running command line: bazel-bin/example/hello_world
    +
    +

    This is a script that can be directly invoked to run the built executable program locally.

    +
    +This is not a portable executable! Continue reading to learn how to generate a portable executable. +
    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +

    Generating a Portable Executable ("Deploy Jar")

    +

    As Claro is a JVM language, you can easily generate a self-contained Jar file that can be run anywhere that a JVM is +installed. Generate the "Deploy Jar" by appending _deploy.jar to the end of any claro_binary() build target, and can +then run it using java -jar ... as you would any executable Jar:

    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +
    +Warning: The `java -jar ...` command demonstrated above will make use of your local Java installation. Assuming +that you've kept the flag `common --java_runtime_version=remotejdk_11` in your .bazelrc as described in the previous +section, you may have been running Claro programs without even manually installing Java, meaning that this command will +fail. Generally speaking, you shouldn't worry about this as it's encouraged to use `bazel run ...` during local +development anyway. +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/getting_started/first_program/hello_world_binary_target.txt b/getting_started/first_program/hello_world_binary_target.txt new file mode 100644 index 00000000..d0db6836 --- /dev/null +++ b/getting_started/first_program/hello_world_binary_target.txt @@ -0,0 +1,5 @@ + +claro_binary( + name = "hello_world", + main_file = "hello_world.claro", +) \ No newline at end of file diff --git a/getting_started/getting_started.html b/getting_started/getting_started.html new file mode 100644 index 00000000..6ebf7e7d --- /dev/null +++ b/getting_started/getting_started.html @@ -0,0 +1,279 @@ + + + + + + Getting Started! - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Create Your First Claro Project with Bazel!

    +

    Claro is fundamentally designed around a deep integration with the extremely powerful +Bazel build system - which enables Claro's +incremental builds, +external package management, extremely +flexible module system, and build-time metaprogramming capabilities - so you'll need to do a bit of Bazel-related setup +to prepare your Claro project.

    +

    You'll only need to do this once! Bazel does not mandate monorepo style development, but it really shines when used +in that context. From this single Bazel project, you'll be able to write, build, and run whatever (related or unrelated) +Claro programs as you see fit.

    +

    Follow the below steps to set up your first Claro project with Bazel!

    +

    1 - Install Bazel (Required)

    +

    Simply install Bazel - follow these instructions +to install via Bazelisk.

    +
    +Important: Installing Bazel via Bazelisk makes managing Bazel versions an automated process. It's highly recommended you +don't bother managing Bazel's versioning manually.
    +

    Note: It's an explicit non-goal of Claro to support any other non-Bazel build environment.

    +

    2 - Auto-Generate Your Project

    +

    Get create_claro_project.sh from the +latest Release +and run this command:

    +
    $ ./create_claro_project.sh <project name>
    +
    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +
    +The first time you build/run a Claro program, you will actually be building the Claro compiler and its dependencies from +source. This may take several minutes the first time, but Bazel will cache the built compiler after that first build. +
    +

    You can delete the create_claro_project.sh script once you're done with this initial setup.

    +

    2 (Alternative) - Manually Copy Configuration of Example Project

    +

    Follow the example Claro project configuration at +examples/bzlmod/.

    +
    +Important: In your MODULE.bazel file, you'll want to choose the latest release published to: +https://registry.bazel.build/modules/claro-lang +
    +

    Supported Operating Systems

    +

    As Claro is still firmly in development, it has only been tested on macOS. You may run into trouble running it on +another OS as there are some known portability issues building the Claro compiler from source (currently the only +supported way to consume the compiler).

    +

    Your First Claro Program

    +

    Continue on to the next section to learn how to build and run your first Claro program!

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/getting_started/intro_to_modules/BUILD b/getting_started/intro_to_modules/BUILD new file mode 100644 index 00000000..d135c89d --- /dev/null +++ b/getting_started/intro_to_modules/BUILD @@ -0,0 +1,59 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "intro_to_modules", + doc_template = "intro_to_modules.tmpl.md", + examples = [ + { + "example": ":styling.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": ":styling.claro_module_api", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "tree", + "executable": False, + }, + { + "example": "updated_BUILD", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "updated_hello_world.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +# Ensure that the files that get templated into the documentation represent the *actual* files the user will see, by +# running the actual create_claro_project.sh script. +genrule( + name = "list_generated_files", + outs = [ + "tree", + "updated_BUILD", + ], + srcs = [ + ":styling.claro", + ":styling.claro_module_api", + ":styling_module_target.txt", + ":updated_BUILD_load_stmt.txt", + "//mdbook_docs/src/chapter_1:hello_world.claro", + "//tools:create_claro_project_script", + ], + cmd = """bash $(location //tools:create_claro_project_script) demo > /dev/null \ + && cp $(location //mdbook_docs/src/chapter_1:hello_world.claro) demo/example \ + && cp $(location //mdbook_docs/src/getting_started/intro_to_modules:styling.claro) demo/example \ + && cp $(location //mdbook_docs/src/getting_started/intro_to_modules:styling.claro_module_api) demo/example \ + && tree -a demo > $(location tree) \ + && cat $(location updated_BUILD_load_stmt.txt) > $(location updated_BUILD) \ + && tail -n +2 demo/example/BUILD >> $(location updated_BUILD) \ + && cat $(location styling_module_target.txt) >> $(location updated_BUILD) + """ +) diff --git a/getting_started/intro_to_modules/intro_to_modules.generated_docs.html b/getting_started/intro_to_modules/intro_to_modules.generated_docs.html new file mode 100644 index 00000000..8124c5a0 --- /dev/null +++ b/getting_started/intro_to_modules/intro_to_modules.generated_docs.html @@ -0,0 +1,359 @@ + + + + + + Intro to Modules - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Intro to Modules

    +

    Now, the Hello World program that you wrote in the previous section was extremely simple - just a one-liner in a single +file. Let's add a tiny bit more functionality to your first program as an excuse to learn about Claro's Module System!

    +

    Taking inspiration from the starter project's demo program, which printed the following to stdout:

    +
    ----------------------                                                                                        
    +| LOOK MA, NO HANDS! |                                                                                        
    +----------------------  
    +
    +

    we'll extend our hello_world.claro program to also print out the classic greeting in the same boxed styling. We could +of course just copy-paste the demo program's wrapInBox function into hello_world.claro, but instead, in order to +avoid having multiple implementations of the same function that could drift over time, we'll walk through the process of +refactoring both programs so that each can share a single function implementation as a common dependency.

    +

    Create //example:styling.claro

    +

    First thing first, create the file //example:styling.claro to hold the wrapInBox function definition:

    +

    Fig 1:

    +
    +
    function wrapInBox(s: string) -> string {
    +  var line = strings::repeated("-", len(s) + 4);
    +  return "{line}\n| {s} |\n{line}";
    +}
    +
    +
    +

    Define a Module API File

    +

    Claro Modules are extremely flexible by design (we'll only begin to scratch the surface here) and in order to achieve +that flexibility a Module API file is used to declare which definitions are exported to consumers of the Module. Any +definition not listed in the Module API file is "private" by default. In this case we just have the one function +definition so we'll add its signature to the new file styling.claro_module_api (the only naming requirement here is +that it must end with the .claro_module_api suffix).

    +

    Fig 2:

    +
    +
    # Wraps the given string in a "box" of dashes.
    +# E.g.
    +#   Input:
    +#     "Foo"
    +#   Output:
    +#     -------
    +#     | Foo |
    +#     -------
    +function wrapInBox(s: string) -> string;
    +
    +
    +

    As a general rule of thumb, when working in a Claro project, you should prioritize writing documentation for anything +exported in a Module API file. And when reading code, it's advisable to spend most of your time primarily referencing +Module API files rather than their corresponding source files, unless of course you are curious to understand the +implementation.

    +

    Your project should now have the following structure:

    +

    Fig 3:

    +
    +
    demo
    +|-- .bazelrc
    +|-- .bazelversion
    +|-- MODULE.bazel
    +|-- README.md
    +`-- example
    +    |-- BUILD
    +    |-- demo.claro
    +    |-- hello_world.claro
    +    |-- input.txt
    +    |-- styling.claro
    +    `-- styling.claro_module_api
    +
    +1 directory, 10 files
    +
    +
    +

    Add a claro_module(name = "styling", ...) Build Target

    +

    The final step in defining a Module in Claro is defining a claro_module(...) build target. Add the following to your +BUILD file to create a Module by declaring explicitly that the styling.claro file implements the interface declared +by styling.claro_module_api:

    +

    Fig 4:

    +
    +
    load("//:rules.bzl", "claro_binary", "claro_module")  # <-- New
    +
    +claro_binary(
    +  name = "demo_bin",
    +  main_file = "demo.claro",
    +  resources = {
    +    "Input": "input.txt",
    +  }
    +)
    +
    +claro_binary(
    +  name = "hello_world",
    +  main_file = "hello_world.claro",
    +  deps = {                                            # <-- New
    +    "Style": ":styling",
    +  },
    +)
    +
    +claro_module(                                         # <-- New
    +  name = "styling",
    +  module_api_file = "styling.claro_module_api",
    +  srcs = ["styling.claro"],
    +)
    +
    +
    +

    Updated load(...) Statement

    +

    The load(...) statement also needed to be updated to include the newly used claro_module Build Rule.

    +

    Added an Explicit Dependency on //example:styling

    +

    Claro handles dependencies entirely within Bazel BUILD files, and .claro source files themselves do not have any +mechanism for the traditional import style that you will have gotten accustomed to in other languages. This is the key +to Claro's extremely flexible Module system and provides many powerful advantages over the traditional import style, +but we won't get any further into that here.

    +

    For now, just note that claro_*() Build targets all accept an (optional) deps = {<dep name>: <module target>} map +that explicitly declares and names any dependencies the current compilation unit has on any other Module. Note that the +consuming compilation unit is free to choose any name to refer to the Module(s) that it depends on. Here we've +chosen to name the //example:styling Module Style.

    +

    Update hello_world.claro to Use Style::wrapInBox

    +

    Now we're finally ready to update our Hello World program to wrap its output in a box using its new module dependency! +Update hello_world.claro to:

    +

    Fig 5:

    +
    +
    print(Style::wrapInBox("Hello, World!"));
    +
    +
    +

    Now Execute Your Updated Hello World!

    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +

    On Your Own: Update //example:demo_bin to Use the New Module

    +

    Using what you've learned, it should now be straightforward to update //example:demo_bin to also depend on the newly +defined Module so that there's only a single definition of the wrapInBox function in your project.

    +

    On Your Own: Refactor //example:styling to its Own Directory

    +

    This will be a good way to test your understanding of how Claro and Bazel work together.

    +

    Hint: You can move the Module definition anywhere in the project that you want, but you'll need to update the +deps = {...} declarations to reference its new location.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/getting_started/intro_to_modules/styling.claro b/getting_started/intro_to_modules/styling.claro new file mode 100644 index 00000000..91d7b333 --- /dev/null +++ b/getting_started/intro_to_modules/styling.claro @@ -0,0 +1,4 @@ +function wrapInBox(s: string) -> string { + var line = strings::repeated("-", len(s) + 4); + return "{line}\n| {s} |\n{line}"; +} diff --git a/getting_started/intro_to_modules/styling.claro_module_api b/getting_started/intro_to_modules/styling.claro_module_api new file mode 100644 index 00000000..322a5a64 --- /dev/null +++ b/getting_started/intro_to_modules/styling.claro_module_api @@ -0,0 +1,9 @@ +# Wraps the given string in a "box" of dashes. +# E.g. +# Input: +# "Foo" +# Output: +# ------- +# | Foo | +# ------- +function wrapInBox(s: string) -> string; \ No newline at end of file diff --git a/getting_started/intro_to_modules/styling_module_target.txt b/getting_started/intro_to_modules/styling_module_target.txt new file mode 100644 index 00000000..82054de2 --- /dev/null +++ b/getting_started/intro_to_modules/styling_module_target.txt @@ -0,0 +1,14 @@ + +claro_binary( + name = "hello_world", + main_file = "hello_world.claro", + deps = { # <-- New + "Style": ":styling", + }, +) + +claro_module( # <-- New + name = "styling", + module_api_file = "styling.claro_module_api", + srcs = ["styling.claro"], +) \ No newline at end of file diff --git a/getting_started/intro_to_modules/updated_BUILD_load_stmt.txt b/getting_started/intro_to_modules/updated_BUILD_load_stmt.txt new file mode 100644 index 00000000..ecac42e9 --- /dev/null +++ b/getting_started/intro_to_modules/updated_BUILD_load_stmt.txt @@ -0,0 +1 @@ +load("//:rules.bzl", "claro_binary", "claro_module") # <-- New diff --git a/getting_started/intro_to_modules/updated_hello_world.claro b/getting_started/intro_to_modules/updated_hello_world.claro new file mode 100644 index 00000000..d20bd4b9 --- /dev/null +++ b/getting_started/intro_to_modules/updated_hello_world.claro @@ -0,0 +1 @@ +print(Style::wrapInBox("Hello, World!")); \ No newline at end of file diff --git a/getting_started/understanding_starter_project/BUILD b/getting_started/understanding_starter_project/BUILD new file mode 100644 index 00000000..7860db4d --- /dev/null +++ b/getting_started/understanding_starter_project/BUILD @@ -0,0 +1,64 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "understanding_starter_project", + doc_template = "understanding_starter_project.tmpl.md", + examples = [ + { + "example": "tree", + "executable": False, + }, + { + "example": "example_MODULE_dot_bazel", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "example_dot_bazelversion", + "executable": False, + }, + { + "example": "example_dot_bazelrc", + "executable": False, + }, + { + "example": "example_BUILD", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "example_input_dot_txt", + "executable": False, + }, + { + "example": "example_demo_dot_claro", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) + +# Ensure that the files that get templated into the documentation represent the *actual* files the user will see, by +# running the actual create_claro_project.sh script. +genrule( + name = "list_generated_files", + outs = [ + "tree", + "example_MODULE_dot_bazel", + "example_dot_bazelversion", + "example_dot_bazelrc", + "example_BUILD", + "example_input_dot_txt", + "example_demo_dot_claro", + ], + srcs = ["//tools:create_claro_project_script"], + cmd = """bash $(location //tools:create_claro_project_script) demo > /dev/null \ + && tree -a demo > $(location tree) \ + && cp demo/MODULE.bazel $(location example_MODULE_dot_bazel) \ + && cp demo/.bazelversion $(location example_dot_bazelversion) \ + && cp demo/.bazelrc $(location example_dot_bazelrc) \ + && cp demo/example/BUILD $(location example_BUILD) \ + && cp demo/example/input.txt $(location example_input_dot_txt) \ + && cp demo/example/demo.claro $(location example_demo_dot_claro) + """ +) \ No newline at end of file diff --git a/getting_started/understanding_starter_project/example_BUILD_tmp b/getting_started/understanding_starter_project/example_BUILD_tmp new file mode 100644 index 00000000..8d0f4386 --- /dev/null +++ b/getting_started/understanding_starter_project/example_BUILD_tmp @@ -0,0 +1,9 @@ +load("@claro-lang//:rules.bzl", "claro_binary") + +claro_binary( + name = "demo_bin", + main_file = "demo.claro", + resources = { + "Input": "input.txt", + } +) \ No newline at end of file diff --git a/getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html b/getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html new file mode 100644 index 00000000..2f4dd335 --- /dev/null +++ b/getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html @@ -0,0 +1,385 @@ + + + + + + Understanding the Starter Project - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Understanding the Starter Project

    +

    The create_claro_project.sh script generated several files:

    +

    Fig 1:

    +
    +
    demo
    +|-- .bazelrc
    +|-- .bazelversion
    +|-- MODULE.bazel
    +|-- README.md
    +`-- example
    +    |-- BUILD
    +    |-- demo.claro
    +    `-- input.txt
    +
    +1 directory, 7 files
    +
    +
    +

    Let's take a brief tour through each file to get a high level understanding of what's going on.

    +

    If you're already familiar with Bazel, jump ahead to writing your +first Claro program.

    +
    +You do not need to be a Bazel expert to get up to speed with Claro! But, if you want a deeper understanding of Bazel as +a whole, check out Bazel's official +concepts guide. +
    +

    MODULE.bazel

    +

    See: Official Bazel reference - This file +marks the root of your Bazel project.

    +

    Fig 2:

    +
    +
    module(name = "example-claro-module")
    +
    +bazel_dep(name = "claro-lang", version = "0.1.409")
    +
    +
    +

    module(name = "example-claro-module")

    +

    This is the one place where you'll see the term "module" overloaded to refer to Bazel's concept of +Modules relating to Bazel's external package +management solution. So, the name you pick for your top-level module(name = "...") declaration should be something +that you would be ok with using to publicly present your project to downstream users if you chose to publish your +project to the Bazel Central Registry later on.

    +

    bazel_dep(name = "claro-lang", version = "0.1.409")

    +

    This file is where you will declare your external dependencies for Bazel to resolve at build time. Every Claro project +will need to declare an external dependency on the claro-lang project to get access to the Build Rules (e.g. +claro_binary() and claro_module()) as well as the compiler itself. Keeping your installation of Claro up-to-date is +as simple as bumping the version number listed here.

    +

    Claro has been published to the BCR at +https://registry.bazel.build/modules/claro-lang. +Check for new releases there to make sure that you're using the latest and greatest.

    +

    .bazelversion

    +

    See: +Official Bazelisk reference - This file configures Bazelisk to use the declared Bazel version.

    +

    Fig 3:

    +
    +
    6.4.0
    +
    +
    +

    Claro depends on Bzlmod which was introduced in Bazel version 6, so you'll need to use at least version 6.

    +

    .bazelrc

    +

    See: Official Bazel reference - This file is used to +configure optional Bazel flags.

    +

    Fig 4:

    +
    +
    common --enable_bzlmod
    +common --java_runtime_version=remotejdk_11
    +
    +
    +

    common --enable_bzlmod

    +

    This configures Bazel to opt in to enabling the +Bzlmod, external package manager. This will +be necessary in all Claro projects to at least enable Bazel to resolve your dependency on the Claro compiler.

    +

    common --java_runtime_version=remotejdk_11

    +

    This configures Bazel to download a remote version of the JVM to execute compiled Claro programs. Technically, you can +opt in to using a local Java install, +but keeping this flag as is ensures that you're running a JVM version that Claro's actually been tested against.

    +

    BUILD

    +

    See: Official Bazel reference - BUILD files are +the fundamental building block of a Bazel project. Here you'll define "build targets" representing components of your +program and their dependencies.

    +

    Fig 5:

    +
    +
    load("@claro-lang//:rules.bzl", "claro_binary")
    +
    +claro_binary(
    +  name = "demo_bin",
    +  main_file = "demo.claro",
    +  resources = {
    +    "Input": "input.txt",
    +  }
    +)
    +
    +
    +

    load("@claro-lang//:rules.bzl", "claro_binary")

    +

    This loads (a.k.a. "imports") the claro_binary() Build Rule from the rules.bzl +Bazel extension file located in the root directory +of the claro-lang project. After this load, you're able to define claro_binary() targets in this BUILD file by +calling it just as you would a function in any other programming language (albeit with mandatory named parameters).

    +

    claro_binary(...)

    +

    As mentioned above, this declares a build target that represents an executable Claro program (*_binary() is the +conventional naming of executable build targets in the Bazel ecosystem).

    +

    name = "demo_bin"

    +

    All Bazel build targets include a mandatory name = "..." parameter - in combination with the full path from the +project root, this specific build target can be uniquely referenced as //example:demo_bin. Using this name, you can +execute Bazel build/run commands from the command line.

    +

    You can build the target to have Bazel invoke the Claro compiler to verify that your program is valid and if so +generate the executable program artifacts that can be invoked separately:

    +
    bazel build //example:demo_bin
    +
    +

    During local development you can directly build and run the target by using the below command which will trigger +Bazel to build the target and then upon success invoke the built executable program automatically:

    +
    bazel run //example:demo_bin
    +
    +

    main_file = "demo.claro"

    +

    Claro programs begin execution by running top-level statements of a given "main file" top-down, rather than looking for +some special main function.

    +

    resources = { "Input": "input.txt", }

    +

    This declares that this program should bundle the file input.txt into the final compiled Jar file so that it's +available at runtime no matter where the program is run. It makes this resource file available as resources::Input in +the compiled program. Find more details about resources in the Reference Guide.

    +

    input.txt

    +

    Just a resource file read by the demo program.

    +

    Fig 6:

    +
    +
    
    +look ma, no hands!
    +
    +
    +

    demo.claro

    +

    The main Claro file that contains the code to be executed.

    +

    Fig 7:

    +
    +
    resources::Input
    +  |> files::readOrPanic(^)
    +  |> strings::trim(^)
    +  |> strings::toUpperCase(^)
    +  |> wrapInBox(^)
    +  |> print(^);
    +
    +function wrapInBox(s: string) -> string {
    +  var line = strings::repeated("-", len(s) + 4);
    +  return "{line}\n| {s} |\n{line}";
    +}
    +
    +
    +

    This program just reads in the contents of the input.txt resource file, trims extra +whitespace, converts it to all caps, wraps it in a box of "-" characters, and prints it to stdout.

    +

    Note the calls to functions like files::readOrPanic and strings::trim are calling into functions declared in dep +modules. In this case there's no explicit mention of those dependencies in the claro_binary(...) target declaration +because files and strings are modules in the +stdlib so no explicit +dependency is necessary.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/graph_procedures/BUILD b/graph_procedures/BUILD new file mode 100644 index 00000000..801326fd --- /dev/null +++ b/graph_procedures/BUILD @@ -0,0 +1,15 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(glob(["ex1*.claro"]), visibility=["//mdbook_docs/src/graph_procedures/calling_graph_procedures:__pkg__"]) + +doc_with_validated_examples( + name = "graph_procedures", + doc_template = "graph_procedures.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_setup": "ex1-setup.claro", + "append_output": False, + }, + ], +) diff --git a/graph_procedures/calling_graph_procedures/BUILD b/graph_procedures/calling_graph_procedures/BUILD new file mode 100644 index 00000000..7b837c56 --- /dev/null +++ b/graph_procedures/calling_graph_procedures/BUILD @@ -0,0 +1,29 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "calling_graph_procedures", + doc_template = "calling_graph_procedures.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_setup": [ + "//mdbook_docs/src/graph_procedures:ex1.claro", + "//mdbook_docs/src/graph_procedures:ex1-setup.claro", + ], + "hidden_cleanup": "ex1-cleanup.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": [ + "//mdbook_docs/src/graph_procedures:ex1.claro", + "//mdbook_docs/src/graph_procedures:ex1-setup.claro", + ], + }, + { + "example": "ex3.claro.txt", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) diff --git a/graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html b/graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html new file mode 100644 index 00000000..551f03de --- /dev/null +++ b/graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html @@ -0,0 +1,281 @@ + + + + + + Calling Graph Procedures - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Calling Graph Procedures

    +

    As you've already seen, if you call a Graph Procedure from within another Graph (composition) then Claro will +automatically handle the scheduling for you so that downstream nodes receive the value when it's ready. If you tried +calling a Graph Procedure from the top-level of a file, or from a non-Graph Procedure, then you'll see you receive a +value wrapped in a future<...>. This is because, as Claro follows the Async pattern for concurrent execution, some +nodes in the Graph Procedure may not be done running yet meaning that the overall Graph result may not be ready either.

    +

    For example, the getWatchlist Graph Procedure defined earlier could be +called as if it were a typical procedure call:

    +

    Fig 1:

    +
    +
    var someUserId: UserId = "Jake";
    +var graphRes: future<Watchlist> = getWatchlist(someUserId);
    +
    +
    +

    There's not much you can do with a future<...> as it's really just a handle representing work whose result you'd like +to be able to access when it's ready. In this situation (outside a Graph), as a future<...> represents some +computation that may not be done yet, the only way to get the actual result is to block the current thread until the +other threads running the graph backing the future<...> have finished. To do so, use the "blocking unwrap" op <-|:

    +

    Fig 2:

    +
    +
    var someUserId: UserId = "Jake";
    +var graphRes: Watchlist <-| getWatchlist(someUserId);
    +print(graphRes);
    +
    +

    Output:

    +
    Watchlist([{name = Arrival}, {name = Doctor Who, episodeCount = 1000}])
    +
    +
    +

    Graphs Execute off the "Main" Thread

    +

    The number one thing to keep in mind is that between calling a Graph and blocking on its result, any operations between +may be running concurrently with the graph backing the future<...> (you don't know when the graph actually finishes +except that it will certainly have finished after the <-| operation).

    +

    Fig 3:

    +
    +
    var graphFuture: future<Foo> = fooGraph(...);
    +
    +# These two instructions are likely running concurrently with respect to
    +# `graphFuture`, as `graphFuture` likely hasn't finished yet, but they are
    +# definitely serialized with respect to each other.
    +doSomething(...);
    +doAnotherThing(...);
    +
    +# Blocking the current thread to "unwrap" the `future<Foo>` into a raw `Foo`
    +# value we can operate on.
    +var graphRes: Foo <-| graphFuture;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/graph_procedures/calling_graph_procedures/ex1-cleanup.claro b/graph_procedures/calling_graph_procedures/ex1-cleanup.claro new file mode 100644 index 00000000..96115d32 --- /dev/null +++ b/graph_procedures/calling_graph_procedures/ex1-cleanup.claro @@ -0,0 +1 @@ +_ = graphRes; \ No newline at end of file diff --git a/graph_procedures/calling_graph_procedures/ex1.claro b/graph_procedures/calling_graph_procedures/ex1.claro new file mode 100644 index 00000000..be9dbe67 --- /dev/null +++ b/graph_procedures/calling_graph_procedures/ex1.claro @@ -0,0 +1,2 @@ +$$var someUserId: UserId = "Jake"; +var graphRes: future = getWatchlist(someUserId); \ No newline at end of file diff --git a/graph_procedures/calling_graph_procedures/ex2.claro b/graph_procedures/calling_graph_procedures/ex2.claro new file mode 100644 index 00000000..ef3fb7dd --- /dev/null +++ b/graph_procedures/calling_graph_procedures/ex2.claro @@ -0,0 +1,3 @@ +$$var someUserId: UserId = "Jake"; +var graphRes: Watchlist <-| getWatchlist(someUserId); +print(graphRes); \ No newline at end of file diff --git a/graph_procedures/calling_graph_procedures/ex3.claro.txt b/graph_procedures/calling_graph_procedures/ex3.claro.txt new file mode 100644 index 00000000..a6f896e0 --- /dev/null +++ b/graph_procedures/calling_graph_procedures/ex3.claro.txt @@ -0,0 +1,11 @@ +var graphFuture: future = fooGraph(...); + +# These two instructions are likely running concurrently with respect to +# `graphFuture`, as `graphFuture` likely hasn't finished yet, but they are +# definitely serialized with respect to each other. +doSomething(...); +doAnotherThing(...); + +# Blocking the current thread to "unwrap" the `future` into a raw `Foo` +# value we can operate on. +var graphRes: Foo <-| graphFuture; \ No newline at end of file diff --git a/graph_procedures/conditional_subgraph_execution/BUILD b/graph_procedures/conditional_subgraph_execution/BUILD new file mode 100644 index 00000000..5635e9d0 --- /dev/null +++ b/graph_procedures/conditional_subgraph_execution/BUILD @@ -0,0 +1,15 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(glob(["ex1*.claro"]), visibility=["//mdbook_docs/src/graph_procedures/calling_graph_procedures:__pkg__"]) + +doc_with_validated_examples( + name = "conditional_subgraph_execution", + doc_template = "conditional_subgraph_execution.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_setup": "ex1-setup.claro", + "append_output": False, + }, + ], +) diff --git a/graph_procedures/conditional_subgraph_execution/conditional_subgraph_execution.generated_docs.html b/graph_procedures/conditional_subgraph_execution/conditional_subgraph_execution.generated_docs.html new file mode 100644 index 00000000..2a942475 --- /dev/null +++ b/graph_procedures/conditional_subgraph_execution/conditional_subgraph_execution.generated_docs.html @@ -0,0 +1,297 @@ + + + + + + (Advanced) Conditional Subgraph Execution - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    (Advanced) Conditional Subgraph Execution

    +

    There will be times when you actually only want to execute some portion of the graph upon satisfying some condition. +In this case, you may inject the node to a procedure expecting a provider<future<...>> so that you may conditionally +trigger execution yourself after checking the condition:

    +

    Fig 1:

    +
    +
    graph function getHomepage(userId : UserId) -> future<Homepage> {
    +    root homepage <- renderPage(@basePage, @maybeUpgradeBanner);
    +    node basePage <- getBasePageFromDB();
    +    node maybeUpgradeBanner
    +        <- getOptionalUpgradeBannerFromDB(
    +               @userIsPremium,
    +               @upgradeBanner  # <-- "Lazy Subgraph" injection requested.
    +           );
    +    node userIsPremium <- checkPremiumFromDB(userId);
    +    node upgradeBanner <- getUpgradeBannerFromDB(@specialOffers);
    +    node specialOffers <- getSpecialOffers();
    +}
    +
    +function getOptionalUpgradeBannerFromDB(
    +    alreadyPremium: boolean,
    +    getUpgradeBannerFromDBProvider: provider<future<Html>>
    +) -> future<Html> {
    +    if (alreadyPremium) {
    +        return futures::immediateFuture(getBasicBanner());
    +    }
    +    # Actually invoke the lazy subgraph here since the user isn't premium.
    +    return getUpgradeBannerFromDBProvider();
    +}
    +
    +function getUpgradeBannerFromDB(specialOffers: [Offer]) -> future<Html> {
    +  # ...
    +  # Just an example - real implementation would send DB query.
    +  _ = specialOffers;
    +  return futures::immediateFuture(Html("<div>some html</div>"));
    +}
    +
    +provider getSpecialOffers() -> future<[Offer]> {
    +  # ...
    +  # Just an example - real implementation would send an RPC to some downstream service.
    +  var res: [Offer] = [];
    +  return futures::immediateFuture(res);
    +}
    +
    +# ...
    +
    +
    +

    Read closely above. The getOptionalUpgradeBannerFromDB() function above expects an arg of type +provider<future<Html>> which is injected as a lazy subgraph rooted at node upgradeBanner. In this way, two of the +nodes within the overall getHomepage() graph will only run conditionally upon determining that the user is not already +a "premium" member.

    +
    +    graph TD
    +    basePage --> homePage
    +    maybeUpgradeBanner --> homePage
    +    userIsPremium --> maybeUpgradeBanner
    +    upgradeBanner -.-> maybeUpgradeBanner
    +    specialOffers -.-> upgradeBanner
    +    subgraph Conditional Subgraph
    +        upgradeBanner
    +        specialOffers
    +    end 
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/graph_procedures/conditional_subgraph_execution/ex1-setup.claro b/graph_procedures/conditional_subgraph_execution/ex1-setup.claro new file mode 100644 index 00000000..88f02814 --- /dev/null +++ b/graph_procedures/conditional_subgraph_execution/ex1-setup.claro @@ -0,0 +1,21 @@ +newtype UserId : string +newtype Html : string +newtype Homepage : struct {banner: Html, basePage: Html} +alias Offer : string + +function renderPage(basePage: Html, maybeUpgradeBanner: Html) -> Homepage { + return Homepage({banner = maybeUpgradeBanner, basePage = basePage}); +} + +provider getBasePageFromDB() -> future { + return futures::immediateFuture(Html("some html")); +} + +function checkPremiumFromDB(userId: UserId) -> future { + _ = userId; + return futures::immediateFuture(false); +} + +provider getBasicBanner() -> Html { + return Html("
    Basic Banner
    "); +} \ No newline at end of file diff --git a/graph_procedures/conditional_subgraph_execution/ex1.claro b/graph_procedures/conditional_subgraph_execution/ex1.claro new file mode 100644 index 00000000..50e96cb9 --- /dev/null +++ b/graph_procedures/conditional_subgraph_execution/ex1.claro @@ -0,0 +1,39 @@ +graph function getHomepage(userId : UserId) -> future { + root homepage <- renderPage(@basePage, @maybeUpgradeBanner); + node basePage <- getBasePageFromDB(); + node maybeUpgradeBanner + <- getOptionalUpgradeBannerFromDB( + @userIsPremium, + @upgradeBanner # <-- "Lazy Subgraph" injection requested. + ); + node userIsPremium <- checkPremiumFromDB(userId); + node upgradeBanner <- getUpgradeBannerFromDB(@specialOffers); + node specialOffers <- getSpecialOffers(); +} + +function getOptionalUpgradeBannerFromDB( + alreadyPremium: boolean, + getUpgradeBannerFromDBProvider: provider> +) -> future { + if (alreadyPremium) { + return futures::immediateFuture(getBasicBanner()); + } + # Actually invoke the lazy subgraph here since the user isn't premium. + return getUpgradeBannerFromDBProvider(); +} + +function getUpgradeBannerFromDB(specialOffers: [Offer]) -> future { + # ... +$$ # Just an example - real implementation would send DB query. +$$ _ = specialOffers; +$$ return futures::immediateFuture(Html("
    some html
    ")); +} + +provider getSpecialOffers() -> future<[Offer]> { + # ... +$$ # Just an example - real implementation would send an RPC to some downstream service. +$$ var res: [Offer] = []; +$$ return futures::immediateFuture(res); +} + +# ... diff --git a/graph_procedures/ex1-setup.claro b/graph_procedures/ex1-setup.claro new file mode 100644 index 00000000..9c7868e1 --- /dev/null +++ b/graph_procedures/ex1-setup.claro @@ -0,0 +1,33 @@ +alias UserId : string +alias Profile : struct {userId: UserId, name: string} +alias Show : struct {name: string, episodeCount: int} +alias Movie : struct {name: string} +newtype Watchlist : [oneof] + +function mergeTopTen(movies: [Movie], shows: [Show]) -> Watchlist { + var watchlist: mut [oneof] = mut []; + var i = 0; + while ((i < len(movies)) and (i < 10)) { + lists::add(watchlist, movies[i++]); + } + while ((i < len(shows) + len(movies)) and (i < 10)) { + lists::add(watchlist, shows[i++ - len(movies)]); + } + return Watchlist(copy(watchlist)); +} + +function getTopMovies(profile: Profile) -> future<[Movie]> { + # For example purposes only - instead this could make an RPC call. + _ = profile; + return futures::immediateFuture([{name = "Arrival"}]); +} +function getTopShows(profile: Profile) -> future<[Show]> { + # For example purposes only - instead this could make an RPC call. + _ = profile; + return futures::immediateFuture([{name = "Doctor Who", episodeCount = 1000}]); +} + +function getUserFromDB(userId: UserId) -> future { + # For example purposes only - instead this could make an RPC call. + return futures::immediateFuture({userId = userId, name = "Jason"}); +} \ No newline at end of file diff --git a/graph_procedures/ex1.claro b/graph_procedures/ex1.claro new file mode 100644 index 00000000..bad817ce --- /dev/null +++ b/graph_procedures/ex1.claro @@ -0,0 +1,6 @@ +graph function getWatchlist(userId: UserId) -> future { + root recWatchlist <- mergeTopTen(@movies, @shows); + node movies <- getTopMovies(@profile); + node shows <- getTopShows(@profile); + node profile <- getUserFromDB(userId); +} \ No newline at end of file diff --git a/graph_procedures/graph_procedure_composition/BUILD b/graph_procedures/graph_procedure_composition/BUILD new file mode 100644 index 00000000..9b1ac2de --- /dev/null +++ b/graph_procedures/graph_procedure_composition/BUILD @@ -0,0 +1,18 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "graph_procedure_composition", + doc_template = "graph_procedure_composition.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_setup": "ex1-setup.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": ["ex2-setup.claro", "ex1-setup.claro", "ex1.claro"], + "append_output": False, + }, + ], +) diff --git a/graph_procedures/graph_procedure_composition/ex1-setup.claro b/graph_procedures/graph_procedure_composition/ex1-setup.claro new file mode 100644 index 00000000..16fbeff4 --- /dev/null +++ b/graph_procedures/graph_procedure_composition/ex1-setup.claro @@ -0,0 +1,19 @@ +alias B : int +alias C : int +alias D : int +alias BarRes : int + +function doBar(d: D) -> future { + _ = d; + return futures::immediateFuture(-1); +} +function doBarA(b: B, c: C) -> future { + _ = b; _ = c; + return futures::immediateFuture(-1); +} +function doBarB(b: int) -> future { + return futures::immediateFuture(b); +} +function doBarC(c: C) -> future { + return futures::immediateFuture(c); +} diff --git a/graph_procedures/graph_procedure_composition/ex1.claro b/graph_procedures/graph_procedure_composition/ex1.claro new file mode 100644 index 00000000..44adaeba --- /dev/null +++ b/graph_procedures/graph_procedure_composition/ex1.claro @@ -0,0 +1,6 @@ +graph function bar(argB: int, argC: C) -> future { + root barRes <- doBar(@barA); + node barA <- doBarA(@barB, @barC); + node barB <- doBarB(argB); + node barC <- doBarC(argC); +} \ No newline at end of file diff --git a/graph_procedures/graph_procedure_composition/ex2-setup.claro b/graph_procedures/graph_procedure_composition/ex2-setup.claro new file mode 100644 index 00000000..f94de516 --- /dev/null +++ b/graph_procedures/graph_procedure_composition/ex2-setup.claro @@ -0,0 +1,15 @@ +alias A: int +alias FooRes : int + +function doFoo(a: A, barRes: BarRes) -> future { + _ = a; _ = barRes; + return futures::immediateFuture(-1); +} +function doFooA(c: C) -> future { + _ = c; + return futures::immediateFuture(-1); +} +function doFooC(a: A) -> future { + _ = a; + return futures::immediateFuture(-1); +} \ No newline at end of file diff --git a/graph_procedures/graph_procedure_composition/ex2.claro b/graph_procedures/graph_procedure_composition/ex2.claro new file mode 100644 index 00000000..16860774 --- /dev/null +++ b/graph_procedures/graph_procedure_composition/ex2.claro @@ -0,0 +1,6 @@ +graph function foo(argA: A) -> future { + root fooRes <- doFoo(@fooA, @fooB); + node fooA <- doFooA(@fooC); + node fooB <- bar(10, @fooC); # <-- Graph Composition via Call to `bar`. + node fooC <- doFooC(argA); +} diff --git a/graph_procedures/graph_procedure_composition/graph_procedure_composition.generated_docs.html b/graph_procedures/graph_procedure_composition/graph_procedure_composition.generated_docs.html new file mode 100644 index 00000000..a8ae0ebd --- /dev/null +++ b/graph_procedures/graph_procedure_composition/graph_procedure_composition.generated_docs.html @@ -0,0 +1,289 @@ + + + + + + Graph Procedure Composition - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Graph Procedure Composition

    +

    Great! Now Graph Procedures have given us free concurrency just by structuring our code declaratively rather than +imperatively. But as we'd realistically only want to put a few nodes in a single Graph Procedure from a code maintenance +and readability point of view, how do we write DAGS that are larger than just a few nodes? Composition! By this I mean +simply calling another Graph Procedure from within the current one.

    +

    For Example:

    +

    Fig 1:

    +
    +
    graph function bar(argB: int, argC: C) -> future<BarRes> {
    +    root barRes <- doBar(@barA);
    +    node barA <- doBarA(@barB, @barC);
    +    node barB <- doBarB(argB);
    +    node barC <- doBarC(argC);
    +}
    +
    +
    +
    +    graph TD
    +    barC(barC) --> barA
    +    barB(barB) --> barA
    +    barA(barA) --> barRes
    +
    +

    Fig 2:

    +
    +
    graph function foo(argA: A) -> future<FooRes> {
    +    root fooRes <- doFoo(@fooA, @fooB);
    +    node fooA <- doFooA(@fooC);
    +    node fooB <- bar(10, @fooC); # <-- Graph Composition via Call to `bar`.
    +    node fooC <- doFooC(argA);
    +}
    +
    +
    +
    +    graph TD
    +    fooC --> fooA
    +    fooC --> fooB
    +    fooB --> fooRes
    +    fooA --> fooRes
    +
    +

    Because foo(...) includes a call to bar(...) as a subgraph, you can imagine that node fooB in graph foo actually +composes around the entire bar graph.

    +
    +graph TD
    +    fooC --> fooA
    +    fooC --> barC
    +    barRes --> fooRes
    +    subgraph fooB
    +        barC --> barA
    +        barB --> barA
    +        barA --> barRes
    +    end
    +    fooA --> fooRes
    +
    +

    This composition is extremely simple to understand in this way. The entire subgraph is started after all data +dependencies of the node wrapping it are ready.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/graph_procedures/graph_procedures.generated_docs.html b/graph_procedures/graph_procedures.generated_docs.html new file mode 100644 index 00000000..32bee326 --- /dev/null +++ b/graph_procedures/graph_procedures.generated_docs.html @@ -0,0 +1,270 @@ + + + + + + Graph Procedures - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Graph Procedures

    +

    A Graph Procedure is much like a regular Procedure, with the only difference coming in how you structure code in +the body. As its mame implies, the body of a Graph Procedure will be structured as a graph of operations. Specifically +it is a DAG (directed-acyclic-graph) where each node in the DAG represents some isolated unit of work which may depend +on data produced by one or more other nodes and will produce its own resulting data. This structure is inherently +parallelizable as Claro can analyze the provided DAG to schedule nodes to run as soon as possible once all of the data +depended on by that node is ready. If any two nodes happen to have all of their dependent data ready at the same time, +then Claro may schedule those nodes to run concurrently.

    +

    In fact, not only does Claro enable concurrency, it actually is able to create the optimal schedule to run your nodes. +You don't need to think about scheduling at all, simply encode the data relationships between your operations, and Claro +does the rest.

    +

    All of this is achieved by scheduling nodes to run cooperatively on a threadpool currently configured to have a single +thread per CPU core (as of this writing, this default is the only option, but it will become configurable in the +future (i.e. Google Java services default to 50 request threads)). This allows you to trivially achieve significantly +better utilization of your available hardware resources than single threaded code, and much more safely and more easily +than can generally be achieved with a handcrafted threaded program.

    +

    The example below shows syntax vs DAG visualization:

    +

    Fig 1:

    +
    +
    graph function getWatchlist(userId: UserId) -> future<Watchlist> {
    +    root recWatchlist <- mergeTopTen(@movies, @shows);
    +    node movies <- getTopMovies(@profile);
    +    node shows <- getTopShows(@profile);
    +    node profile <- getUserFromDB(userId);
    +}
    +
    +
    +

    As you can see clearly in the diagram below, profile must run first but movies and shows may be computed +concurrently:

    +
    +    graph TD
    +    profile(profile) --> movies
    +    profile --> shows
    +    movies(movies) --> recWatchList
    +    shows(shows) --> recWatchList
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/guaranteed_deadlock_free.html b/guaranteed_deadlock_free.html new file mode 100644 index 00000000..a31b9b7a --- /dev/null +++ b/guaranteed_deadlock_free.html @@ -0,0 +1,274 @@ + + + + + + Guaranteed Deadlock-Free Concurrency - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Guaranteed Deadlock-Free Concurrency

    +

    One of Claro's most powerful advantages is that it is able to statically analyze your concurrent code to determine that +it is impossible to run into a deadlock at runtime.

    +

    A deadlock is a situation where a thread blocks its execution waiting for another thread to complete or for some other +action to complete before it can continue, but the other thread or action never completes thereby leaving the +waiting thread permanently blocked. Threads are not free, and effectively losing access to a deadlocked thread has +costlier implications than just losing that unit of work completing. Each thread costs about 1MB of RAM and in a server +application deployed with a fixed number of threads, losing even one can lead to cascading failures such as thread +starvation (having no more threads in a healthy state available do meaningful work) or simply falling behind on incoming +request handling, leading to a server decreasing its effective throughput, causing other servers to pick up the load ( +making them more likely to fail in turn) or just straight up dropping user requests returning errors to them and +degrading product experience.

    +

    To mitigate these risks at scale, high-throughput, low-latency services turn to the async concurrency pattern to +handle all operations in a non-blocking way. Claro's Graph Procedures implement the async pattern for you for free, +while statically validating that your concurrent code is entirely non-blocking. It does so by modeling every Graph +node as an async operation that will not even be started until after all of its data dependencies are resolved. Once a +node is ready for execution it will be scheduled on a threadpool with as many threads as available CPU cores (will be +configurable in the future).

    +

    In this way, calling a Graph Procedure is actually an extremely lightweight operation from the perspective of the +calling thread. The calling thread simply

    +
      +
    1. traverses the Graph (without executing any nodes)
    2. +
    3. composes a future<...> representing a handle to the work to be done by the Graph
    4. +
    5. submits the Graph to the Graph Executor to schedule on its threadpool when threads become available
    6. +
    +

    After these steps the calling thread is completely freed to move on, knowing that the work represented by the Graph +Procedure's returned future<...> will be handled by other threads. As a result, in a web server, after calling a +request handling Graph the service thread is free to just immediately move on to accepting new requests. The service +thread never needs to block to wait for request handling business logic to complete. Now, a server built using this +approach will no longer be bound by the number of incoming requests as it will be able to continuously schedule incoming +requests to be processed when Graph Executor threads become available. Of course, the server may still fail due to heavy +load, though this will end up coming from OOMs (out-of-memory errors) as the result of storing all of the queued +requests. Even so, as a general rule, this will happen much later than if you were to execute request handling logic +using thread blocking operations, and it will almost always degrade more gracefully when it does eventually reach its +limit.

    +

    The only concession that you, as a programmer, have to make is simply defining all of your concurrent logic inside a +Graph Procedure. Claro will then manage all of the scheduling for you, while enforcing that you never block one of the +Graph Executor threads (you may not use the <-| operator in any code transitively reachable from your Graph, or else +you'll receive a compiler error). To provide a single, well-lit path for safely designing scalable services in Claro, +the only available mechanism to access threads are Graph Procedures.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/guaranteed_deadlock_free/BUILD b/guaranteed_deadlock_free/BUILD new file mode 100644 index 00000000..8f7a5970 --- /dev/null +++ b/guaranteed_deadlock_free/BUILD @@ -0,0 +1,20 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(glob(["ex1*.claro"]), visibility=["//mdbook_docs/src/graph_procedures/calling_graph_procedures:__pkg__"]) + +doc_with_validated_examples( + name = "re_what_color_is_your_function", + doc_template = "re_what_color_is_your_function.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + { + "example": "ex2.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + ], +) diff --git a/guaranteed_deadlock_free/blocking_procedures/BUILD b/guaranteed_deadlock_free/blocking_procedures/BUILD new file mode 100644 index 00000000..72cd9b01 --- /dev/null +++ b/guaranteed_deadlock_free/blocking_procedures/BUILD @@ -0,0 +1,20 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(glob(["ex1*.claro"]), visibility=["//mdbook_docs/src/graph_procedures/calling_graph_procedures:__pkg__"]) + +doc_with_validated_examples( + name = "blocking_procedures", + doc_template = "blocking_procedures.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_setup": "ex1-setup.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": ["ex2-setup.claro", "ex1-setup.claro"], + "expect_errors": True, + }, + ], +) diff --git a/guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html b/guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html new file mode 100644 index 00000000..6547d1a9 --- /dev/null +++ b/guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html @@ -0,0 +1,268 @@ + + + + + + Blocking Procedures - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Blocking Procedures

    +

    Whereas other languages with some form of builtin concurrency mechanism may tend to make it harder to write async code +than blocking code, Claro is very intentional about inverting that balance. Make the good things easy and the bad things +hard. So, you may write blacking code in Claro, but as it's really only intended to be used in limited contexts, Claro +forces your hand. Any procedure that makes use of the <-| operator either directly or indirectly, must be explicitly +annotated to be blocking:

    +

    Fig 1:

    +
    +
    blocking function doBlocking(x: int) -> Bar<Foo> {
    +  # ...do stuff...
    +  var unwrappedGraphRes: Foo <-| fooGraph(x);  # <-- Blocking unwrap.
    +  # ...do stuff using `unwrappedGraphRes`...
    +  return # ...
    +    Bar(unwrappedGraphRes);
    +}
    +
    +
    +

    Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)

    +

    To prevent deadlocking, procedures annotated blocking may not be called from a Graph:

    +

    Fig 2:

    +
    +
    graph function attemptToDeferToBlockingFn(x: int) -> future<Bar<Foo>> {
    +  root noopRes <- @defer;
    +  node defer   <- doBlocking(x);  # <-- Illegal call to blocking procedure in Graph.
    +}
    +
    +

    Compilation Errors:

    +
    Graph Function attemptToDeferToBlockingFn function<int -> future<Bar<Foo>>> has illegal transitive dep on the following blocking procedures [doBlocking blocking function<int -> Bar<Foo>>]. Blocking is forbidden within a Graph Function in order to avoid deadlocking.
    +1 Error
    +
    +
    +

    Therefore, you can be confident that the threading implementation of any logic defined within a Graph Procedure will +certainly not suffer from liveliness issues in the form of deadlocks (of course, you may still write code with bugs such +as infinite loops that may lead to a "livelock").

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/guaranteed_deadlock_free/blocking_procedures/ex1-setup.claro b/guaranteed_deadlock_free/blocking_procedures/ex1-setup.claro new file mode 100644 index 00000000..5295eefe --- /dev/null +++ b/guaranteed_deadlock_free/blocking_procedures/ex1-setup.claro @@ -0,0 +1,7 @@ +newtype Bar : T +newtype Foo : int + +graph function fooGraph(i: int) -> future { + root res <- @foo; + node foo <- Foo(i); +} \ No newline at end of file diff --git a/guaranteed_deadlock_free/blocking_procedures/ex1.claro b/guaranteed_deadlock_free/blocking_procedures/ex1.claro new file mode 100644 index 00000000..26f04f76 --- /dev/null +++ b/guaranteed_deadlock_free/blocking_procedures/ex1.claro @@ -0,0 +1,7 @@ +blocking function doBlocking(x: int) -> Bar { + # ...do stuff... + var unwrappedGraphRes: Foo <-| fooGraph(x); # <-- Blocking unwrap. + # ...do stuff using `unwrappedGraphRes`... + return # ... +$$ Bar(unwrappedGraphRes); +} diff --git a/guaranteed_deadlock_free/blocking_procedures/ex2-setup.claro b/guaranteed_deadlock_free/blocking_procedures/ex2-setup.claro new file mode 100644 index 00000000..5ee9824d --- /dev/null +++ b/guaranteed_deadlock_free/blocking_procedures/ex2-setup.claro @@ -0,0 +1,6 @@ +blocking function doBlocking(x: int) -> Bar { + # ...do stuff... + var unwrappedGraphRes: Foo <-| fooGraph(x); # <-- Blocking unwrap. + # ...do stuff using `unwrappedGraphRes`... + return Bar(unwrappedGraphRes); +} \ No newline at end of file diff --git a/guaranteed_deadlock_free/blocking_procedures/ex2.claro b/guaranteed_deadlock_free/blocking_procedures/ex2.claro new file mode 100644 index 00000000..adb26afc --- /dev/null +++ b/guaranteed_deadlock_free/blocking_procedures/ex2.claro @@ -0,0 +1,4 @@ +graph function attemptToDeferToBlockingFn(x: int) -> future> { + root noopRes <- @defer; + node defer <- doBlocking(x); # <-- Illegal call to blocking procedure in Graph. +} \ No newline at end of file diff --git a/guaranteed_deadlock_free/ex1.claro b/guaranteed_deadlock_free/ex1.claro new file mode 100644 index 00000000..533d4cb1 --- /dev/null +++ b/guaranteed_deadlock_free/ex1.claro @@ -0,0 +1 @@ +function filter(l: [T], pred: function boolean>) -> [T]; \ No newline at end of file diff --git a/guaranteed_deadlock_free/ex2.claro b/guaranteed_deadlock_free/ex2.claro new file mode 100644 index 00000000..3fefb6bd --- /dev/null +++ b/guaranteed_deadlock_free/ex2.claro @@ -0,0 +1 @@ +blocking function filterBlocking(l: [T], pred: blocking function boolean>) -> [T]; diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function.generated_docs.html b/guaranteed_deadlock_free/re_what_color_is_your_function.generated_docs.html new file mode 100644 index 00000000..5f63ff7c --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function.generated_docs.html @@ -0,0 +1,260 @@ + + + + + + Re: "What Color is Your Function?" - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Re: "What Color is Your Function?"

    +

    (For context, the blog post +"What Color is Your Function?" by Bob +Nystrom is highly recommended reading.)

    +

    Unfortunately, introducing the blocking procedure type variant has the effect of "coloring" all functions that +transitively reach a blocking procedure. This ends up being a problem for any code that provides some generic +functionality over first-class procedure arguments that we would ideally like to be able to reuse and call from any +context, whether blocking or not.

    +

    Take, for example, Functional Programming's common filter function with the following signature:

    +

    Fig 1:

    +
    +
    function filter<T>(l: [T], pred: function<T -> boolean>) -> [T];
    +
    +
    +

    As currently defined, the filter function with the above signature could only be used over non-blocking pred +function args. You'd need to write a duplicate function explicitly accepting a blocking pred function in its signature +if you wanted to filter lists using a pred function that makes use of blocking operations:

    +

    Fig 2:

    +
    +
    blocking function filterBlocking<T>(l: [T], pred: blocking function<T -> boolean>) -> [T];
    +
    +
    +

    This duplication would be pervasive throughout functional-style code, and would discourage using functional-style at +all. Both of which are very undesirable outcomes. So, Claro handles this using one more form of generics inspired +by Rust's Keyword Generics Initiative, +"Blocking Generics".

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/BUILD b/guaranteed_deadlock_free/re_what_color_is_your_function/BUILD new file mode 100644 index 00000000..5e6722c4 --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/BUILD @@ -0,0 +1,33 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files(glob(["ex1*.claro"]), visibility=["//mdbook_docs/src/graph_procedures/calling_graph_procedures:__pkg__"]) + +doc_with_validated_examples( + name = "blocking_generics", + doc_template = "blocking_generics.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex1.claro", + }, + { + "example": "ex3.claro", + "hidden_setup": "ex1.claro", + "expect_errors": True, + }, + { + "example": "ex4.claro", + "expect_errors": True, + }, + { + "example": "ex5.claro", + "hidden_setup": "ex1.claro", + "hidden_cleanup": "ex5-cleanup.claro", + "append_output": False, + }, + ], +) diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html b/guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html new file mode 100644 index 00000000..ce85965e --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html @@ -0,0 +1,329 @@ + + + + + + (Advanced) Blocking Generics - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    (Advanced) Blocking Generics

    +

    You're able to define a procedure whose "blocking"-ness is generically determined by the type of the first-class +procedure arg that the function is called with. Taking inspiration +from Rust's Keyword Generics Initiative, a +Claro procedure may be declared "Blocking-Generic" with the following syntax:

    +

    Fig 1:

    +
    +
    # Explicitly annotate which arg(s) are blocking-generic.
    +blocking:pred function filter<T>(
    +    l: [T],
    +    pred: blocking? function<T -> boolean>  # <-- Accepting a blocking-generic function arg.
    +) -> [T] {
    +  return [x | x in l where pred(x)];
    +}
    +
    +
    +

    Now, with only a single implementation of your filter function, calls may be statically determined to be either a +blocking or non-blocking call depending on the type of the passed pred function arg. So now, from within a Graph, you +may call this "blocking-generic" function as long as you pass in a non-blocking pred function.

    +

    Fig 2:

    +
    +
    graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> {
    +  root noopRes <- @defer;
    +  # Legal call to non-blocking procedure in Graph.
    +  node defer   <- filter(l, (x: int) -> boolean { return x > 0; });
    +}
    +
    +var res <-| deferToBlockingGenericFn([-1, 5, 3, 0, 2]);
    +print(res);
    +
    +

    Output:

    +
    [5, 3, 2]
    +
    +
    +

    And of course, Claro will statically forbid calls to blocking-generic procedures when a blocking procedure is passed in:

    +

    Fig 3:

    +
    +
    graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> {
    +  root noopRes <- @defer;
    +  # Illegal call to blocking procedure in Graph.
    +  node defer   <- filter(l, doBlocking);
    +}
    +
    +blocking function doBlocking(x: int) -> boolean {
    +  var unwrappedGraphRes <-| futures::immediateFuture(x);  # <-- Blocking unwrap.
    + return unwrappedGraphRes > 0;
    +}
    +
    +

    Compilation Errors:

    +
    Graph Function deferToBlockingGenericFn function<[int] -> future<[int]>> has illegal transitive dep on the following blocking procedures []. Blocking is forbidden within a Graph Function in order to avoid deadlocking.
    +1 Error
    +
    +
    +

    Note: Claro's error messaging is a work in progress - the above error message will be improved.

    +

    Note on the blocking:argName and blocking? Syntax

    +

    Claro localizes Generics only to procedure signatures. This is done with the intention of making Generics more easily +understandable, such that Generics itself may be conceptualized simply as a form of "templating" (regardless of whether +this is how the compiler is actually implementing the feature).

    +

    As a result, these type modifier syntaxes are restricted to being used within top-level procedure definition signatures +only. In particular, you may not define a variable of a blocking-generic procedure type:

    +

    Fig 4:

    +
    +
    # Illegal use of `blocking:...`, and `blocking?` outside of top-level Procedure definition.
    +var myBlockingGenericFn:
    +    blocking:arg1 function<|[int], blocking? function<int -> boolean>| -> [int]>;
    +
    +

    Compilation Errors:

    +
    blocking_generics_EX4_main.claro:3: Unexpected token <:>
    +    blocking:arg1 function<|[int], blocking? function<int -> boolean>| -> [int]>;
    +            ^
    +Can't recover from previous error(s)
    +2 Errors
    +
    +
    +

    Note: Claro's error messaging is a work in progress - the above error message will be improved.

    +

    Lambdas Cannot Use Any Form of Generics

    +

    This has the implication that lambdas may not make use of blocking generics. But this is in line with Claro's single-use +intention for lambdas, encouraging the definition of lambdas that will only be used in a single limited scope. For any +cases that actually need to make use of blocking-generics, you are by definition defining a procedure that should have +more than one use case, and you should define a top-level procedure instead.

    +

    First-Class References to Blocking-Generic Top-Level Procedures

    +

    You can, however, still make first-class references to top-level blocking-generic procedures in order to pass them +around as data. The only restriction, is that you must statically declare which blocking variant the reference will take +on:

    +

    Fig 5:

    +
    +
    # A blocking function var, to which you may *only* pass blocking functions.
    +var myBlockingFn: blocking function<|[int], blocking function<int -> boolean>| -> [int]>
    +    = filter;
    +
    +# A non-blocking function var, to which you may *only* pass non-blocking functions.
    +var myNonBlockingFn: function<|[int], function<int -> boolean>| -> [int]>
    +    = filter;
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/ex1.claro b/guaranteed_deadlock_free/re_what_color_is_your_function/ex1.claro new file mode 100644 index 00000000..c09152b4 --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/ex1.claro @@ -0,0 +1,7 @@ +# Explicitly annotate which arg(s) are blocking-generic. +blocking:pred function filter( + l: [T], + pred: blocking? function boolean> # <-- Accepting a blocking-generic function arg. +) -> [T] { + return [x | x in l where pred(x)]; +} \ No newline at end of file diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/ex2.claro b/guaranteed_deadlock_free/re_what_color_is_your_function/ex2.claro new file mode 100644 index 00000000..8f928e7f --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/ex2.claro @@ -0,0 +1,8 @@ +graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> { + root noopRes <- @defer; + # Legal call to non-blocking procedure in Graph. + node defer <- filter(l, (x: int) -> boolean { return x > 0; }); +} + +var res <-| deferToBlockingGenericFn([-1, 5, 3, 0, 2]); +print(res); \ No newline at end of file diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/ex3.claro b/guaranteed_deadlock_free/re_what_color_is_your_function/ex3.claro new file mode 100644 index 00000000..6dd21d1f --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/ex3.claro @@ -0,0 +1,10 @@ +graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> { + root noopRes <- @defer; + # Illegal call to blocking procedure in Graph. + node defer <- filter(l, doBlocking); +} + +blocking function doBlocking(x: int) -> boolean { +$$ var unwrappedGraphRes <-| futures::immediateFuture(x); # <-- Blocking unwrap. +$$ return unwrappedGraphRes > 0; +} diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/ex4.claro b/guaranteed_deadlock_free/re_what_color_is_your_function/ex4.claro new file mode 100644 index 00000000..5ffc3aac --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/ex4.claro @@ -0,0 +1,3 @@ +# Illegal use of `blocking:...`, and `blocking?` outside of top-level Procedure definition. +var myBlockingGenericFn: + blocking:arg1 function<|[int], blocking? function boolean>| -> [int]>; \ No newline at end of file diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/ex5-cleanup.claro b/guaranteed_deadlock_free/re_what_color_is_your_function/ex5-cleanup.claro new file mode 100644 index 00000000..0f7391d7 --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/ex5-cleanup.claro @@ -0,0 +1,2 @@ +_ = myBlockingFn; +_ = myNonBlockingFn; \ No newline at end of file diff --git a/guaranteed_deadlock_free/re_what_color_is_your_function/ex5.claro b/guaranteed_deadlock_free/re_what_color_is_your_function/ex5.claro new file mode 100644 index 00000000..d180cbd4 --- /dev/null +++ b/guaranteed_deadlock_free/re_what_color_is_your_function/ex5.claro @@ -0,0 +1,7 @@ +# A blocking function var, to which you may *only* pass blocking functions. +var myBlockingFn: blocking function<|[int], blocking function boolean>| -> [int]> + = filter; + +# A non-blocking function var, to which you may *only* pass non-blocking functions. +var myNonBlockingFn: function<|[int], function boolean>| -> [int]> + = filter; \ No newline at end of file diff --git a/highlight.css b/highlight.css new file mode 100644 index 00000000..ba57b82b --- /dev/null +++ b/highlight.css @@ -0,0 +1,82 @@ +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/highlight.js b/highlight.js new file mode 100644 index 00000000..918ceae1 --- /dev/null +++ b/highlight.js @@ -0,0 +1,105 @@ +/* + Highlight.js 10.1.1 (93fd0d73) + License: BSD-3-Clause + Copyright (c) 2006-2020, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
    ":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); + +// Customizing a Claro highlight.js impl. +hljs.registerLanguage( + "claro", + function(e) { + return { + keywords: { + keyword1: "HttpService alias atom blocking break consumer continue else flag for function graph if immutable lazy match newtype node opaque provider repeat return root static var where while ", + keyword2: "and as cast contract copy endpoint_handlers fromJson getHttpClient implement in initializers instanceof mut not or requires sleep unwrap unwrappers ", + keyword3: "Error HttpClient ParsedJson _ boolean char double float future int lambda long oneof string struct tuple ", + keyword4: "case using", + literal: "true false" + }, + contains: [ + { + scope: 'string', + begin: '"', end: '"', + className: "string", + contains: [e.BACKSLASH_ESCAPE], + variants: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + }, + { + className: 'number', + begin: /\d+[LF]?/ + }, + { + className: 'keyword2', + begin: /::/ + }, + hljs.COMMENT( + "#", // begin + "$" // end + ), + ] + /* Add highlighting for the first group of tokens. */ + .concat("!= \\* \\+ \\+\\+ - -- -> / : ; < <- <= = == > >= \\?= @ \\^ \\|>" + .split(" ") + .map((x) => { return {className: "keyword2", begin: x}; })) + /* Add highlighting for the second group of tokens. */ + .concat([{className: "keyword3", begin: /\s_\s/}]) + /* Add highlighting for the third group of tokens. */ + .concat("\\? \\|" + .split(" ") + .map((x) => { return {className: "keyword4", begin: x}; })) + }; + } +); + + + +// Just leaving these from the original mdbook-generated highlight.js impl. + +hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}()); +hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}()); +hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin://,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}()); +hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}()); +hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}()); +hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}()); +hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}()); +hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}()); +hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}()); +hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}()); +hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:""},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}()); +hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}()); +hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}()); +hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}()); +hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}()); +hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:")",end:">",keywords:{name:"style"},contains:[c],starts:{end:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:")",end:">",keywords:{name:"script"},contains:[c],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:"",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},c]}]}}}()); +hljs.registerLanguage("markdown",function(){"use strict";return function(n){const e={begin:"<",end:">",subLanguage:"xml",relevance:0},a={begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},i={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},s={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};i.contains.push(s),s.contains.push(i);var c=[e,a];return i.contains=i.contains.concat(c),s.contains=s.contains.concat(c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:c=c.concat(i,s)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:c}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:c,end:"$"},{className:"code",variants:[{begin:"(`{3,})(.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})(.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}}()); +hljs.registerLanguage("nginx",function(){"use strict";return function(e){var n={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{$pattern:"[a-z/_]+",literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}}()); +hljs.registerLanguage("objectivec",function(){"use strict";return function(e){var n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n,keyword:"@interface @class @protocol @implementation"};return{name:"Objective-C",aliases:["mm","objc","obj-c"],keywords:{$pattern:n,keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}}()); +hljs.registerLanguage("perl",function(){"use strict";return function(e){var n={$pattern:/[\w.]+/,keyword:"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when"},t={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},s={begin:"->{",end:"}"},r={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},i=[e.BACKSLASH_ESCAPE,t,r],a=[r,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),s,{className:"string",contains:i,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return t.contains=a,s.contains=a,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:a}}}()); +hljs.registerLanguage("php",function(){"use strict";return function(e){var r={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},n={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]},i={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:i,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",r,e.C_BLOCK_COMMENT_MODE,a,n]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},a,n]}}}()); +hljs.registerLanguage("php-template",function(){"use strict";return function(n){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}}()); +hljs.registerLanguage("plaintext",function(){"use strict";return function(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}}()); +hljs.registerLanguage("properties",function(){"use strict";return function(e){var n="[ \\t\\f]*",t="("+n+"[:=]"+n+"|[ \\t\\f]+)",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{name:".properties",case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+t,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:s},{begin:a+t,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:a,endsParent:!0,relevance:0}],starts:s},{className:"attr",relevance:0,begin:a+n+"$"}]}}}()); +hljs.registerLanguage("python",function(){"use strict";return function(e){var n={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/,end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},t={className:"params",variants:[{begin:/\(\s*\)/,skip:!0,className:null},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:["self",a,l,r,e.HASH_COMMENT_MODE]}]};return i.contains=[r,l,a],{name:"Python",aliases:["py","gyp","ipython"],keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,l,{beginKeywords:"if",relevance:0},r,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,t,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}}()); +hljs.registerLanguage("python-repl",function(){"use strict";return function(n){return{aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}}()); +hljs.registerLanguage("ruby",function(){"use strict";return function(e){var n="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},r=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^\\=begin","^\\=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],c={className:"subst",begin:"#\\{",end:"}",keywords:a},t={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},b={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},d=[t,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(r)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:n}),b].concat(r)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[t,{begin:n}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(r),relevance:0}].concat(r);c.contains=d,b.contains=d;var g=[{begin:/^\s*=>/,starts:{end:"$",contains:d}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:d}}];return{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:r.concat(g).concat(d)}}}()); +hljs.registerLanguage("rust",function(){"use strict";return function(e){var n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}}()); +hljs.registerLanguage("scss",function(){"use strict";return function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={className:"number",begin:"#[0-9A-Fa-f]+"};return e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{className:"selector-pseudo",begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{className:"selector-pseudo",begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,i,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",returnBegin:!0,keywords:"and or not only",contains:[{begin:"@[a-z-]+",className:"keyword"},t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,i,e.CSS_NUMBER_MODE]}]}}}()); +hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); +hljs.registerLanguage("sql",function(){"use strict";return function(e){var t=e.COMMENT("--","$");return{name:"SQL",case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,keywords:{$pattern:/[\w\.]+/,keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:"`",end:"`"},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("swift",function(){"use strict";return function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),t={className:"subst",begin:/\\\(/,end:"\\)",keywords:i,contains:[]},a={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},r={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return t.contains=[r],{name:"Swift",keywords:i,contains:[a,e.C_LINE_COMMENT_MODE,n,{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin://},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:i,contains:["self",r,a,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:i,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,n]}]}}}()); +hljs.registerLanguage("typescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]).join(" "),literal:n.join(" "),built_in:a.concat(["any","void","number","boolean","string","object","never","enum"]).join(" ")},s={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:r.C_NUMBER_RE+"n?"}],relevance:0},o={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},c={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[r.BACKSLASH_ESCAPE,o],subLanguage:"css"}},E={className:"string",begin:"`",end:"`",contains:[r.BACKSLASH_ESCAPE,o]};o.contains=[r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,i,r.REGEXP_MODE];var d={begin:"\\(",end:/\)/,keywords:t,contains:["self",r.QUOTE_STRING_MODE,r.APOS_STRING_MODE,r.NUMBER_MODE]},u={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,s,d]};return{name:"TypeScript",aliases:["ts"],keywords:t,contains:[r.SHEBANG(),{className:"meta",begin:/^\s*['"]use strict['"]/},r.APOS_STRING_MODE,r.QUOTE_STRING_MODE,c,l,E,r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,i,{begin:"("+r.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[r.C_LINE_COMMENT_MODE,r.C_BLOCK_COMMENT_MODE,r.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+r.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:r.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:d.contains}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",r.inherit(r.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),u],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/[\{;]/,excludeEnd:!0,contains:["self",u]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+r.IDENT_RE,relevance:0},s,d]}}}()); +hljs.registerLanguage("yaml",function(){"use strict";return function(e){var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*\\'()[\\]]+",s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]},i=e.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,contains:[],keywords:n,relevance:0},t={begin:"{",end:"}",contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type",begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"\\-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b"},t,g,s],c=[...b];return c.pop(),c.push(i),l.contains=c,{name:"YAML",case_insensitive:!0,aliases:["yml","YAML"],contains:b}}}()); +hljs.registerLanguage("armasm",function(){"use strict";return function(s){const e={variants:[s.COMMENT("^[ \\t]*(?=#)","$",{relevance:0,excludeBegin:!0}),s.COMMENT("[;@]","$",{relevance:0}),s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE]};return{name:"ARM Assembly",case_insensitive:!0,aliases:["arm"],keywords:{$pattern:"\\.?"+s.IDENT_RE,meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)"},e,s.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"[=#]\\w+"}],relevance:0}]}}}()); +hljs.registerLanguage("d",function(){"use strict";return function(e){var a={$pattern:e.UNDERSCORE_IDENT_RE,keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},d="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",n="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",t={className:"number",begin:"\\b"+d+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},_={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+d+"(i|[fF]i|Li))",relevance:0},r={className:"string",begin:"'("+n+"|.)",end:"'",illegal:"."},i={className:"string",begin:'"',contains:[{begin:n,relevance:0}],end:'"[cwd]?'},s=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{name:"D",keywords:a,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},i,{className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},{className:"string",begin:"`",end:"`[cwd]?"},{className:"string",begin:'q"\\{',end:'\\}"'},_,t,r,{className:"meta",begin:"^#!",end:"$",relevance:5},{className:"meta",begin:"#(line)",end:"$",relevance:5},{className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"}]}}}()); +hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(n){const a={"builtin-name":"action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield"},t=/\[.*?\]/,s=/[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,i=e("(",/'.*?'/,"|",/".*?"/,"|",t,"|",s,"|",/\.|\//,")+"),r=e("(",t,"|",s,")(?==)"),l={begin:i,lexemes:/[\w.\/]+/},c=n.inherit(l,{keywords:{literal:"true false undefined null"}}),o={begin:/\(/,end:/\)/},m={className:"attr",begin:r,relevance:0,starts:{begin:/=/,end:/=/,starts:{contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,c,o]}}},d={contains:[n.NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{begin:/as\s+\|/,keywords:{keyword:"as"},end:/\|/,contains:[{begin:/\w+/}]},m,c,o],returnEnd:!0},g=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/\)/})});o.contains=[g];const u=n.inherit(l,{keywords:a,className:"name",starts:n.inherit(d,{end:/}}/})}),b=n.inherit(l,{keywords:a,className:"name"}),h=n.inherit(l,{className:"name",keywords:a,starts:n.inherit(d,{end:/}}/})});return{name:"Handlebars",aliases:["hbs","html.hbs","html.handlebars","htmlbars"],case_insensitive:!0,subLanguage:"xml",contains:[{begin:/\\\{\{/,skip:!0},{begin:/\\\\(?=\{\{)/,skip:!0},n.COMMENT(/\{\{!--/,/--\}\}/),n.COMMENT(/\{\{!/,/\}\}/),{className:"template-tag",begin:/\{\{\{\{(?!\/)/,end:/\}\}\}\}/,contains:[u],starts:{end:/\{\{\{\{\//,returnEnd:!0,subLanguage:"xml"}},{className:"template-tag",begin:/\{\{\{\{\//,end:/\}\}\}\}/,contains:[b]},{className:"template-tag",begin:/\{\{#/,end:/\}\}/,contains:[u]},{className:"template-tag",begin:/\{\{(?=else\}\})/,end:/\}\}/,keywords:"else"},{className:"template-tag",begin:/\{\{\//,end:/\}\}/,contains:[b]},{className:"template-variable",begin:/\{\{\{/,end:/\}\}\}/,contains:[h]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:[h]}]}}}()); +hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); +hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); +hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); +hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); +hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/images/BUILD b/images/BUILD new file mode 100644 index 00000000..72632bd2 --- /dev/null +++ b/images/BUILD @@ -0,0 +1,11 @@ +load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_file") + +# Copy the logo to this directory programmatically rather than explicitly so that I don't need another ATTRIBUTION file. +write_source_file( + name = "logo", + in_file = "//logo:ClaroLogoFromArrivalHeptapodOfferWeapon-transparentBackground.png", + out_file = "ClaroLogoFromArrivalHeptapodOfferWeapon-transparentBackground.png", + visibility = ["//mdbook_docs/src:__pkg__"], + suggested_update_target = "//mdbook_docs/src:write_all_docs", +) + diff --git a/images/ClaroLogoFromArrivalHeptapodOfferWeapon-transparentBackground.png b/images/ClaroLogoFromArrivalHeptapodOfferWeapon-transparentBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..a6c39ac83205b6a30e4f7a75e6407b0c98ebb0a6 GIT binary patch literal 29797 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 00000000..047ca762 --- /dev/null +++ b/index.html @@ -0,0 +1,281 @@ + + + + + + Welcome to Claro! - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Welcome to Claro!

    + +

    Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications.

    +

    Dependency Management Done Right

    +
    +

    Claro was designed with modern build tooling in mind:

    +
      +
    • Swap any dependency without changing a single line of source code
    • +
    • Runtime "Dependency Injection" frameworks are a thing of the past
    • +
    • First class Module system
    • +
    +

    Fearless Concurrency

    +
    +

    Developed by a Xoogler taking inspiration from years of hands-on development experience with Google-internal backend web +frameworks, Claro moves well beyond async/await. Claro’s declarative, DAG-based structured concurrency model is the +first of its kind in a programming language - statically guaranteeing that programs are:

    +
      +
    • Non-blocking
    • +
    • Data-race free
    • +
    • Deadlock free
    • +
    • Optimally scheduled
    • +
    • Scaleable by default
    • +
    +

    Data Oriented

    +
    +
      +
    • Strict separation between data and functionality
    • +
    • Mutability tracked at the type system level
    • +
    • Extremely flexible built in algebraic data types
    • +
    • Model arbitrary data structures with zero boilerplate
    • +
    +

    Unapologetically Practical

    +
    +
      +
    • Bi-directional type inference
    • +
    • Robust standard library
    • +
    • Builtin external package manager
    • +
    • Build time metaprogramming
    • +
    +

    Designed to Scale with You

    +
    +
      +
    • Incremental compilation out of the box
    • +
    • Code reuse made simple
    • +
    • Develop codebases of any size without devolving into a spaghetti labyrinth
    • +
    +

    Actively In Development

    +
    +
    +

    Claro is in active development and is not yet ready for production use. While Claro has been in active development +for more than 3 years, its design and implementation has been done entirely by its single maintainer, +Jason Steving - while the foundation has been +laid, contributions are welcome! Anyone with interest is actively encouraged to reach out and get involved!

    +
    +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/lambdas_and_first_class_procedures/BUILD b/lambdas_and_first_class_procedures/BUILD new file mode 100644 index 00000000..a94285e5 --- /dev/null +++ b/lambdas_and_first_class_procedures/BUILD @@ -0,0 +1,19 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "lambdas_and_first_class_procedures", + doc_template = "lambdas_and_first_class_procedures.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + "hidden_cleanup": "ex1-cleanup.claro", + }, + { + "example": "//mdbook_docs/src/type_inference/required_type_annotations:ex3.claro", + "append_output": False, + "hidden_cleanup": "//mdbook_docs/src/type_inference/required_type_annotations:ex2-cleanup.claro", + }, + "ex2.claro", + ], +) diff --git a/lambdas_and_first_class_procedures/ex1-cleanup.claro b/lambdas_and_first_class_procedures/ex1-cleanup.claro new file mode 100644 index 00000000..f8f98257 --- /dev/null +++ b/lambdas_and_first_class_procedures/ex1-cleanup.claro @@ -0,0 +1,3 @@ +_ = f; +_ = c; +_ = p; \ No newline at end of file diff --git a/lambdas_and_first_class_procedures/ex1.claro b/lambdas_and_first_class_procedures/ex1.claro new file mode 100644 index 00000000..5d02dab2 --- /dev/null +++ b/lambdas_and_first_class_procedures/ex1.claro @@ -0,0 +1,3 @@ +var f: function int> = x -> x + 1; +var c: consumer = x -> { print(x); }; +var p: provider = () -> 10; \ No newline at end of file diff --git a/lambdas_and_first_class_procedures/ex2.claro b/lambdas_and_first_class_procedures/ex2.claro new file mode 100644 index 00000000..6c09a4cc --- /dev/null +++ b/lambdas_and_first_class_procedures/ex2.claro @@ -0,0 +1,11 @@ +function add(x: int, y: int) -> int { + return x + y; +} + +var applyBiConsumer = + lambda (x: int, y: int, mapFn: function<|int, int| -> int>) -> { + print(mapFn(x, y)); + }; + +# Pass a reference to the `add()` function as a first class arg. +applyBiConsumer(10, 5, add); #15. \ No newline at end of file diff --git a/lambdas_and_first_class_procedures/lambda_closures/BUILD b/lambdas_and_first_class_procedures/lambda_closures/BUILD new file mode 100644 index 00000000..7f084533 --- /dev/null +++ b/lambdas_and_first_class_procedures/lambda_closures/BUILD @@ -0,0 +1,14 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "lambda_closures", + doc_template = "lambda_closures.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "expect_errors": True, + }, + "ex2.claro", + "ex3.claro", + ], +) diff --git a/lambdas_and_first_class_procedures/lambda_closures/ex1.claro b/lambdas_and_first_class_procedures/lambda_closures/ex1.claro new file mode 100644 index 00000000..0b9b1646 --- /dev/null +++ b/lambdas_and_first_class_procedures/lambda_closures/ex1.claro @@ -0,0 +1,5 @@ +var i = 0; +var f = (x: int) -> int { + i = x + i; # `i` is captured, and illegally updated. + return i; +}; \ No newline at end of file diff --git a/lambdas_and_first_class_procedures/lambda_closures/ex2.claro b/lambdas_and_first_class_procedures/lambda_closures/ex2.claro new file mode 100644 index 00000000..14fcce5f --- /dev/null +++ b/lambdas_and_first_class_procedures/lambda_closures/ex2.claro @@ -0,0 +1,11 @@ +var i = 1; +var f = (x: int) -> int { + # This lambda captures a **copy** of the variable `i`. + return x + i; +}; + +for (x in [0, 1, 5, 5]) { + print("i: {i}"); + print("f({x}): {f(x)}\n"); + i = i * 10; # <-- This update of `i` is not observed by the lambda. +} \ No newline at end of file diff --git a/lambdas_and_first_class_procedures/lambda_closures/ex3.claro b/lambdas_and_first_class_procedures/lambda_closures/ex3.claro new file mode 100644 index 00000000..646d8972 --- /dev/null +++ b/lambdas_and_first_class_procedures/lambda_closures/ex3.claro @@ -0,0 +1,28 @@ +newtype ClosureFn : struct { + state: State, + fn: function Out> +} + +function callClosure(closureFn: ClosureFn) -> Out { + var toApply = unwrap(closureFn).fn; + return toApply(unwrap(closureFn).state); +} + +var mutList = mut [1]; +var getAndIncrClosure: ClosureFn = + ClosureFn({ + state = mutList, + fn = l -> { + var res = l[0]; + l[0] = l[0] + 1; # Update the "captured" state. + return res; + } + }); + +print(mutList); # mut [1] +print(callClosure(getAndIncrClosure)); # 1 +print(callClosure(getAndIncrClosure)); # 2 +print(callClosure(getAndIncrClosure)); # 3 +# "Spooky Action at a Distance" mutating `mutList` on the lines above when +# `mutList` was never directly referenced. +print(mutList); # mut [4] diff --git a/lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html b/lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html new file mode 100644 index 00000000..6e3198e4 --- /dev/null +++ b/lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html @@ -0,0 +1,345 @@ + + + + + + Lambdas are Restricted "Closures" - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Lambdas are Restricted "Closures"

    +

    A "closure" is an anonymous procedure that is able to capture long-lived references to the variables defined outside +the body of the lambda, importantly, keeping that reference even as the lambda itself leaves the scope. This is exactly +how Python or Java lambdas work, for example.

    +

    Unfortunately, this leads to hard-to-understand code as you end up with "spooky action at a distance" where calling a +lambda can cause some faraway data to be changed without necessarily realizing or intending for that to be happening. +This would be fatal for Claro's more advanced "Fearless Concurrency" goal, because it represents hidden mutable +state which would invalidate Claro's goals of guaranteeing that multithreaded code unable to run into data races.

    +

    So, to address these issues, when lambdas reference variables in outer scopes, the variables are captured as a local +copy of the current value referenced by that variable. Claro's Lambdas have no mechanism to mutate anything not +passed in as an explicit argument, and they cannot carry any mutable state.

    +

    Static Validation

    +

    Claro will statically validate that lambdas don't violate the above restrictions:

    +

    Fig 1:

    +
    +
    var i = 0;
    +var f = (x: int) -> int {
    +    i = x + i; # `i` is captured, and illegally updated.
    +    return i;
    +};
    +
    +

    Compilation Errors:

    +
    lambda_closures_EX1_example.claro:3: Illegal Mutation of Lambda Captured Variable: The value of all variables captured within a lambda context are final and may not be changed. This restriction ensures that lambdas do not lead to so-called "spooky action at a distance" and is essential to guaranteeing that Graph Procedures are data-race free by construction.
    +    i = x + i; # `i` is captured, and illegally updated.
    +    ^
    +Warning! The following declared symbols are unused! [f]
    +2 Errors
    +
    +
    +

    Captured Variables "Shadow" Variables in the Outer Scope

    +

    When a lambda captures a variable from the outer scope, the captured variable inside the lambda is effectively +completely independent from the original variable in the outer scope. It simply "shadows" the name of the outer scope +variable. In this way, lambdas are guaranteed to be safe to call in any threading context as thread-related ordering +alone can't affect the value returned by the lambda:

    +

    Fig 2:

    +
    +
    var i = 1;
    +var f = (x: int) -> int {
    +    # This lambda captures a **copy** of the variable `i`.
    +    return x + i;
    +};
    +
    +for (x in [0, 1, 5, 5]) {
    +  print("i:    {i}");
    +  print("f({x}): {f(x)}\n");
    +  i = i * 10;  # <-- This update of `i` is not observed by the lambda.
    +}
    +
    +

    Output:

    +
    i:    1
    +f(0): 1
    +
    +i:    10
    +f(1): 2
    +
    +i:    100
    +f(5): 6
    +
    +i:    1000
    +f(5): 6
    +
    +
    +

    Manually Emulating Traditional "Closures"

    +

    While Claro's design decisions around Lambdas make sense in the name of enabling "Fearless Concurrency", the +restrictions may seem like they prevent certain design patterns that may be completely valid when used carefully in a +single-threaded context. But worry not! You can of course implement "closure" semantics yourself (albeit in a more C++ +style with explicit variable captures).

    +

    Fig 3:

    +
    +
    newtype ClosureFn<State, Out> : struct {
    +  state: State,
    +  fn: function<State -> Out>
    +}
    +
    +function callClosure<State, Out>(closureFn: ClosureFn<State, Out>) -> Out {
    +  var toApply = unwrap(closureFn).fn;
    +  return toApply(unwrap(closureFn).state);
    +}
    +
    +var mutList = mut [1];
    +var getAndIncrClosure: ClosureFn<mut [int], int> =
    +  ClosureFn({
    +    state = mutList,
    +    fn = l -> {
    +      var res = l[0];
    +      l[0] = l[0] + 1; # Update the "captured" state.
    +      return res;
    +    }
    +  });
    +
    +print(mutList);                        # mut [1]
    +print(callClosure(getAndIncrClosure)); # 1
    +print(callClosure(getAndIncrClosure)); # 2
    +print(callClosure(getAndIncrClosure)); # 3
    +# "Spooky Action at a Distance" mutating `mutList` on the lines above when
    +# `mutList` was never directly referenced.
    +print(mutList);                        # mut [4]
    +
    +

    Output:

    +
    mut [1]
    +1
    +2
    +3
    +mut [4]
    +
    +
    +
    +

    Note: The beauty of this design is that even though Claro doesn't prevent you from emulating traditional "closures" +on your own if you so chose, Claro can still statically identify that this ClosureFn<State, Out> type is unsafe for +multithreaded contexts and will be able to prevent you from using this to create a data race!

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html b/lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html new file mode 100644 index 00000000..510bb724 --- /dev/null +++ b/lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html @@ -0,0 +1,275 @@ + + + + + + Lambdas & First Class Procedures - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Lambdas & First Class Procedures

    +

    Claro opens you up to taking full advantage of functional programming techniques by allowing you to assign Procedures to +variables and to pass them around as data, allowing you to hand them off to be called later.

    +

    Defining Lambdas

    +

    Lambdas expressions look something like the examples below.

    +

    Fig 1:

    +
    +
    var f: function<int -> int> = x -> x + 1;
    +var c: consumer<int> = x -> { print(x); };
    +var p: provider<int> = () -> 10;
    +
    +
    +
    +

    Note: lambdas require explicit type annotations +, but Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression:

    +
    +

    Fig 2:

    +
    +
    var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };
    +
    +
    +

    First Class Procedure References

    +

    You may also reference named procedures as first-class data just like lambdas:

    +

    Fig 3:

    +
    +
    function add(x: int, y: int) -> int {
    +  return x + y;
    +}
    +
    +var applyBiConsumer =
    +    lambda (x: int, y: int, mapFn: function<|int, int| -> int>) -> {
    +        print(mapFn(x, y));
    +    };
    +
    +# Pass a reference to the `add()` function as a first class arg.
    +applyBiConsumer(10, 5, add); #15.
    +
    +

    Output:

    +
    15
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/mark.min.js b/mark.min.js new file mode 100644 index 00000000..16362318 --- /dev/null +++ b/mark.min.js @@ -0,0 +1,7 @@ +/*!*************************************************** +* mark.js v8.11.1 +* https://markjs.io/ +* Copyright (c) 2014–2018, Julian Kühnel +* Released under the MIT license https://git.io/vwTVl +*****************************************************/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c { + const darkThemes = ['ayu', 'navy', 'coal']; + const lightThemes = ['light', 'rust']; + + const classList = document.getElementsByTagName('html')[0].classList; + + let lastThemeWasLight = true; + for (const cssClass of classList) { + if (darkThemes.includes(cssClass)) { + lastThemeWasLight = false; + break; + } + } + + const theme = lastThemeWasLight ? 'default' : 'dark'; + mermaid.initialize({ startOnLoad: true, theme }); + + // Simplest way to make mermaid re-render the diagrams in the new theme is via refreshing the page + + for (const darkTheme of darkThemes) { + document.getElementById(darkTheme).addEventListener('click', () => { + if (lastThemeWasLight) { + window.location.reload(); + } + }); + } + + for (const lightTheme of lightThemes) { + document.getElementById(lightTheme).addEventListener('click', () => { + if (!lastThemeWasLight) { + window.location.reload(); + } + }); + } +})(); diff --git a/mermaid@10.6.1.min.js b/mermaid@10.6.1.min.js new file mode 100644 index 00000000..18d0be81 --- /dev/null +++ b/mermaid@10.6.1.min.js @@ -0,0 +1,1648 @@ +/* MIT Licensed. Copyright (c) 2014 - 2022 Knut Sveidqvist */ +/* For license information please see https://github.com/mermaid-js/mermaid/blob/release/10.6.1/LICENSE */ +(function(xA,b0){typeof exports=="object"&&typeof module<"u"?module.exports=b0():typeof define=="function"&&define.amd?define(b0):(xA=typeof globalThis<"u"?globalThis:xA||self,xA.mermaid=b0())})(this,function(){"use strict";function xA(i){for(var a=[],f=1;f=It?nt:""+Array(It+1-Bt.length).join(Ot)+nt},mt={s:bt,z:function(nt){var It=-nt.utcOffset(),Ot=Math.abs(It),Bt=Math.floor(Ot/60),Et=Ot%60;return(It<=0?"+":"-")+bt(Bt,2,"0")+":"+bt(Et,2,"0")},m:function nt(It,Ot){if(It.date()1)return nt(Ct[0])}else{var xt=It.name;ft[xt]=It,Et=xt}return!Bt&&Et&&(yt=Et),Et||!Bt&&yt},X=function(nt,It){if(ut(nt))return nt.clone();var Ot=typeof It=="object"?It:{};return Ot.date=nt,Ot.args=arguments,new U(Ot)},pt=mt;pt.l=vt,pt.i=ut,pt.w=function(nt,It){return X(nt,{locale:It.$L,utc:It.$u,x:It.$x,$offset:It.$offset})};var U=function(){function nt(Ot){this.$L=vt(Ot.locale,null,!0),this.parse(Ot)}var It=nt.prototype;return It.parse=function(Ot){this.$d=function(Bt){var Et=Bt.date,Z=Bt.utc;if(Et===null)return new Date(NaN);if(pt.u(Et))return new Date;if(Et instanceof Date)return new Date(Et);if(typeof Et=="string"&&!/Z$/i.test(Et)){var Ct=Et.match(et);if(Ct){var xt=Ct[2]-1||0,Ht=(Ct[7]||"0").substring(0,3);return Z?new Date(Date.UTC(Ct[1],xt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Ht)):new Date(Ct[1],xt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Ht)}}return new Date(Et)}(Ot),this.$x=Ot.x||{},this.init()},It.init=function(){var Ot=this.$d;this.$y=Ot.getFullYear(),this.$M=Ot.getMonth(),this.$D=Ot.getDate(),this.$W=Ot.getDay(),this.$H=Ot.getHours(),this.$m=Ot.getMinutes(),this.$s=Ot.getSeconds(),this.$ms=Ot.getMilliseconds()},It.$utils=function(){return pt},It.isValid=function(){return this.$d.toString()!==W},It.isSame=function(Ot,Bt){var Et=X(Ot);return this.startOf(Bt)<=Et&&Et<=this.endOf(Bt)},It.isAfter=function(Ot,Bt){return X(Ot){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},Xft=function(i="fatal"){let a=p5.fatal;typeof i=="string"?(i=i.toLowerCase(),i in p5&&(a=p5[i])):typeof i=="number"&&(a=i),Ut.trace=()=>{},Ut.debug=()=>{},Ut.info=()=>{},Ut.warn=()=>{},Ut.error=()=>{},Ut.fatal=()=>{},a<=p5.fatal&&(Ut.fatal=console.error?console.error.bind(console,Q2("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Q2("FATAL"))),a<=p5.error&&(Ut.error=console.error?console.error.bind(console,Q2("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Q2("ERROR"))),a<=p5.warn&&(Ut.warn=console.warn?console.warn.bind(console,Q2("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Q2("WARN"))),a<=p5.info&&(Ut.info=console.info?console.info.bind(console,Q2("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Q2("INFO"))),a<=p5.debug&&(Ut.debug=console.debug?console.debug.bind(console,Q2("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Q2("DEBUG"))),a<=p5.trace&&(Ut.trace=console.debug?console.debug.bind(console,Q2("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Q2("TRACE")))},Q2=i=>`%c${w0().format("ss.SSS")} : ${i} : `;var Qft={};Object.defineProperty(Qft,"__esModule",{value:!0});var ik=Qft.sanitizeUrl=void 0,cxe=/^([^\w]*)(javascript|data|vbscript)/im,uxe=/&#(\w+)(^\w|;)?/g,lxe=/&(newline|tab);/gi,hxe=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,fxe=/^.+(:|:)/gim,dxe=[".","/"];function gxe(i){return dxe.indexOf(i[0])>-1}function pxe(i){return i.replace(uxe,function(a,f){return String.fromCharCode(f)})}function bxe(i){var a=pxe(i||"").replace(lxe,"").replace(hxe,"").trim();if(!a)return"about:blank";if(gxe(a))return a;var f=a.match(fxe);if(!f)return a;var p=f[0];return cxe.test(p)?"about:blank":a}ik=Qft.sanitizeUrl=bxe;function EU(i,a){return i==null||a==null?NaN:ia?1:i>=a?0:NaN}function wxe(i,a){return i==null||a==null?NaN:ai?1:a>=i?0:NaN}function Zft(i){let a,f,p;i.length!==2?(a=EU,f=(E,_)=>EU(i(E),_),p=(E,_)=>i(E)-_):(a=i===EU||i===wxe?i:vxe,f=i,p=i);function w(E,_,A=0,I=E.length){if(A>>1;f(E[B],_)<0?A=B+1:I=B}while(A>>1;f(E[B],_)<=0?A=B+1:I=B}while(AA&&p(E[B-1],_)>-p(E[B],_)?B-1:B}return{left:w,center:b,right:m}}function vxe(){return 0}function mxe(i){return i===null?NaN:+i}const yxe=Zft(EU).right;Zft(mxe).center;const xxe=yxe;class $Lt extends Map{constructor(a,f=Txe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[p,w]of a)this.set(p,w)}get(a){return super.get(zLt(this,a))}has(a){return super.has(zLt(this,a))}set(a,f){return super.set(kxe(this,a),f)}delete(a){return super.delete(Exe(this,a))}}function zLt({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):f}function kxe({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):(i.set(p,f),f)}function Exe({_intern:i,_key:a},f){const p=a(f);return i.has(p)&&(f=i.get(p),i.delete(p)),f}function Txe(i){return i!==null&&typeof i=="object"?i.valueOf():i}const Cxe=Math.sqrt(50),_xe=Math.sqrt(10),Sxe=Math.sqrt(2);function TU(i,a,f){const p=(a-i)/Math.max(0,f),w=Math.floor(Math.log10(p)),m=p/Math.pow(10,w),b=m>=Cxe?10:m>=_xe?5:m>=Sxe?2:1;let E,_,A;return w<0?(A=Math.pow(10,-w)/b,E=Math.round(i*A),_=Math.round(a*A),E/Aa&&--_,A=-A):(A=Math.pow(10,w)*b,E=Math.round(i/A),_=Math.round(a/A),E*Aa&&--_),_0))return[];if(i===a)return[i];const p=a=w))return[];const E=m-w+1,_=new Array(E);if(p)if(b<0)for(let A=0;A=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f=w)&&(f=w)}return f}function Mxe(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function Dxe(i,a,f){i=+i,a=+a,f=(w=arguments.length)<2?(a=i,i=0,1):w<3?1:+f;for(var p=-1,w=Math.max(0,Math.ceil((a-i)/f))|0,m=new Array(w);++p+i(a)}function Nxe(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function Bxe(){return!this.__axis}function HLt(i,a){var f=[],p=null,w=null,m=6,b=6,E=3,_=typeof window<"u"&&window.devicePixelRatio>1?0:.5,A=i===CU||i===_U?-1:1,I=i===_U||i===e1t?"x":"y",B=i===CU||i===n1t?Oxe:Pxe;function N(R){var z=p??(a.ticks?a.ticks.apply(a,f):a.domain()),W=w??(a.tickFormat?a.tickFormat.apply(a,f):Ixe),et=Math.max(m,0)+E,st=a.range(),at=+st[0]+_,bt=+st[st.length-1]+_,mt=(a.bandwidth?Nxe:Fxe)(a.copy(),_),yt=R.selection?R.selection():R,ft=yt.selectAll(".domain").data([null]),ut=yt.selectAll(".tick").data(z,a).order(),vt=ut.exit(),X=ut.enter().append("g").attr("class","tick"),pt=ut.select("line"),U=ut.select("text");ft=ft.merge(ft.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),ut=ut.merge(X),pt=pt.merge(X.append("line").attr("stroke","currentColor").attr(I+"2",A*m)),U=U.merge(X.append("text").attr("fill","currentColor").attr(I,A*et).attr("dy",i===CU?"0em":i===n1t?"0.71em":"0.32em")),R!==yt&&(ft=ft.transition(R),ut=ut.transition(R),pt=pt.transition(R),U=U.transition(R),vt=vt.transition(R).attr("opacity",qLt).attr("transform",function(Tt){return isFinite(Tt=mt(Tt))?B(Tt+_):this.getAttribute("transform")}),X.attr("opacity",qLt).attr("transform",function(Tt){var nt=this.parentNode.__axis;return B((nt&&isFinite(nt=nt(Tt))?nt:mt(Tt))+_)})),vt.remove(),ft.attr("d",i===_U||i===e1t?b?"M"+A*b+","+at+"H"+_+"V"+bt+"H"+A*b:"M"+_+","+at+"V"+bt:b?"M"+at+","+A*b+"V"+_+"H"+bt+"V"+A*b:"M"+at+","+_+"H"+bt),ut.attr("opacity",1).attr("transform",function(Tt){return B(mt(Tt)+_)}),pt.attr(I+"2",A*m),U.attr(I,A*et).text(W),yt.filter(Bxe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===e1t?"start":i===_U?"end":"middle"),yt.each(function(){this.__axis=mt})}return N.scale=function(R){return arguments.length?(a=R,N):a},N.ticks=function(){return f=Array.from(arguments),N},N.tickArguments=function(R){return arguments.length?(f=R==null?[]:Array.from(R),N):f.slice()},N.tickValues=function(R){return arguments.length?(p=R==null?null:Array.from(R),N):p&&p.slice()},N.tickFormat=function(R){return arguments.length?(w=R,N):w},N.tickSize=function(R){return arguments.length?(m=b=+R,N):m},N.tickSizeInner=function(R){return arguments.length?(m=+R,N):m},N.tickSizeOuter=function(R){return arguments.length?(b=+R,N):b},N.tickPadding=function(R){return arguments.length?(E=+R,N):E},N.offset=function(R){return arguments.length?(_=+R,N):_},N}function Rxe(i){return HLt(CU,i)}function jxe(i){return HLt(n1t,i)}var $xe={value:()=>{}};function VLt(){for(var i=0,a=arguments.length,f={},p;i=0&&(p=f.slice(w+1),f=f.slice(0,w)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:p}})}SU.prototype=VLt.prototype={constructor:SU,on:function(i,a){var f=this._,p=zxe(i+"",f),w,m=-1,b=p.length;if(arguments.length<2){for(;++m0)for(var f=new Array(w),p=0,w,m;p=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),ULt.hasOwnProperty(a)?{space:ULt[a],local:i}:i}function Hxe(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===r1t&&a.documentElement.namespaceURI===r1t?a.createElement(i):a.createElementNS(f,i)}}function Vxe(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function WLt(i){var a=AU(i);return(a.local?Vxe:Hxe)(a)}function Gxe(){}function i1t(i){return i==null?Gxe:function(){return this.querySelector(i)}}function Uxe(i){typeof i!="function"&&(i=i1t(i));for(var a=this._groups,f=a.length,p=new Array(f),w=0;w=bt&&(bt=at+1);!(yt=et[bt])&&++bt=0;)(b=p[w])&&(m&&b.compareDocumentPosition(m)^4&&m.parentNode.insertBefore(b,m),m=b);return this}function b6e(i){i||(i=w6e);function a(B,N){return B&&N?i(B.__data__,N.__data__):!B-!N}for(var f=this._groups,p=f.length,w=new Array(p),m=0;ma?1:i>=a?0:NaN}function v6e(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function m6e(){return Array.from(this)}function y6e(){for(var i=this._groups,a=0,f=i.length;a1?this.each((a==null?D6e:typeof a=="function"?O6e:I6e)(i,a,f??"")):kA(this.node(),i)}function kA(i,a){return i.style.getPropertyValue(a)||JLt(i).getComputedStyle(i,null).getPropertyValue(a)}function F6e(i){return function(){delete this[i]}}function N6e(i,a){return function(){this[i]=a}}function B6e(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function R6e(i,a){return arguments.length>1?this.each((a==null?F6e:typeof a=="function"?B6e:N6e)(i,a)):this.node()[i]}function tMt(i){return i.trim().split(/^|\s+/)}function s1t(i){return i.classList||new eMt(i)}function eMt(i){this._node=i,this._names=tMt(i.getAttribute("class")||"")}eMt.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function nMt(i,a){for(var f=s1t(i),p=-1,w=a.length;++p=0&&(f=a.slice(p+1),a=a.slice(0,p)),{type:a,name:f}})}function fke(i){return function(){var a=this.__on;if(a){for(var f=0,p=-1,w=a.length,m;f>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?IU(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?IU(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=xke.exec(i))?new v0(a[1],a[2],a[3],1):(a=kke.exec(i))?new v0(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=Eke.exec(i))?IU(a[1],a[2],a[3],a[4]):(a=Tke.exec(i))?IU(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=Cke.exec(i))?dMt(a[1],a[2]/100,a[3]/100,1):(a=_ke.exec(i))?dMt(a[1],a[2]/100,a[3]/100,a[4]):aMt.hasOwnProperty(i)?uMt(aMt[i]):i==="transparent"?new v0(NaN,NaN,NaN,0):null}function uMt(i){return new v0(i>>16&255,i>>8&255,i&255,1)}function IU(i,a,f,p){return p<=0&&(i=a=f=NaN),new v0(i,a,f,p)}function lMt(i){return i instanceof U7||(i=W7(i)),i?(i=i.rgb(),new v0(i.r,i.g,i.b,i.opacity)):new v0}function o1t(i,a,f,p){return arguments.length===1?lMt(i):new v0(i,a,f,p??1)}function v0(i,a,f,p){this.r=+i,this.g=+a,this.b=+f,this.opacity=+p}_P(v0,o1t,MU(U7,{brighter(i){return i=i==null?DU:Math.pow(DU,i),new v0(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?SP:Math.pow(SP,i),new v0(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new v0(Y7(this.r),Y7(this.g),Y7(this.b),OU(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:hMt,formatHex:hMt,formatHex8:Lke,formatRgb:fMt,toString:fMt}));function hMt(){return`#${K7(this.r)}${K7(this.g)}${K7(this.b)}`}function Lke(){return`#${K7(this.r)}${K7(this.g)}${K7(this.b)}${K7((isNaN(this.opacity)?1:this.opacity)*255)}`}function fMt(){const i=OU(this.opacity);return`${i===1?"rgb(":"rgba("}${Y7(this.r)}, ${Y7(this.g)}, ${Y7(this.b)}${i===1?")":`, ${i})`}`}function OU(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function Y7(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function K7(i){return i=Y7(i),(i<16?"0":"")+i.toString(16)}function dMt(i,a,f,p){return p<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new Xv(i,a,f,p)}function gMt(i){if(i instanceof Xv)return new Xv(i.h,i.s,i.l,i.opacity);if(i instanceof U7||(i=W7(i)),!i)return new Xv;if(i instanceof Xv)return i;i=i.rgb();var a=i.r/255,f=i.g/255,p=i.b/255,w=Math.min(a,f,p),m=Math.max(a,f,p),b=NaN,E=m-w,_=(m+w)/2;return E?(a===m?b=(f-p)/E+(f0&&_<1?0:b,new Xv(b,E,_,i.opacity)}function Mke(i,a,f,p){return arguments.length===1?gMt(i):new Xv(i,a,f,p??1)}function Xv(i,a,f,p){this.h=+i,this.s=+a,this.l=+f,this.opacity=+p}_P(Xv,Mke,MU(U7,{brighter(i){return i=i==null?DU:Math.pow(DU,i),new Xv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?SP:Math.pow(SP,i),new Xv(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,p=f+(f<.5?f:1-f)*a,w=2*f-p;return new v0(c1t(i>=240?i-240:i+120,w,p),c1t(i,w,p),c1t(i<120?i+240:i-120,w,p),this.opacity)},clamp(){return new Xv(pMt(this.h),PU(this.s),PU(this.l),OU(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=OU(this.opacity);return`${i===1?"hsl(":"hsla("}${pMt(this.h)}, ${PU(this.s)*100}%, ${PU(this.l)*100}%${i===1?")":`, ${i})`}`}}));function pMt(i){return i=(i||0)%360,i<0?i+360:i}function PU(i){return Math.max(0,Math.min(1,i||0))}function c1t(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const Dke=Math.PI/180,Ike=180/Math.PI,FU=18,bMt=.96422,wMt=1,vMt=.82521,mMt=4/29,TA=6/29,yMt=3*TA*TA,Oke=TA*TA*TA;function xMt(i){if(i instanceof u3)return new u3(i.l,i.a,i.b,i.opacity);if(i instanceof b5)return kMt(i);i instanceof v0||(i=lMt(i));var a=f1t(i.r),f=f1t(i.g),p=f1t(i.b),w=u1t((.2225045*a+.7168786*f+.0606169*p)/wMt),m,b;return a===f&&f===p?m=b=w:(m=u1t((.4360747*a+.3850649*f+.1430804*p)/bMt),b=u1t((.0139322*a+.0971045*f+.7141733*p)/vMt)),new u3(116*w-16,500*(m-w),200*(w-b),i.opacity)}function Pke(i,a,f,p){return arguments.length===1?xMt(i):new u3(i,a,f,p??1)}function u3(i,a,f,p){this.l=+i,this.a=+a,this.b=+f,this.opacity=+p}_P(u3,Pke,MU(U7,{brighter(i){return new u3(this.l+FU*(i??1),this.a,this.b,this.opacity)},darker(i){return new u3(this.l-FU*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=bMt*l1t(a),i=wMt*l1t(i),f=vMt*l1t(f),new v0(h1t(3.1338561*a-1.6168667*i-.4906146*f),h1t(-.9787684*a+1.9161415*i+.033454*f),h1t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function u1t(i){return i>Oke?Math.pow(i,1/3):i/yMt+mMt}function l1t(i){return i>TA?i*i*i:yMt*(i-mMt)}function h1t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function f1t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function Fke(i){if(i instanceof b5)return new b5(i.h,i.c,i.l,i.opacity);if(i instanceof u3||(i=xMt(i)),i.a===0&&i.b===0)return new b5(NaN,0()=>i;function EMt(i,a){return function(f){return i+f*a}}function Nke(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(p){return Math.pow(i+p*a,f)}}function Bke(i,a){var f=a-i;return f?EMt(i,f>180||f<-180?f-360*Math.round(f/360):f):NU(isNaN(i)?a:i)}function Rke(i){return(i=+i)==1?LP:function(a,f){return f-a?Nke(a,f,i):NU(isNaN(a)?f:a)}}function LP(i,a){var f=a-i;return f?EMt(i,f):NU(isNaN(i)?a:i)}const BU=function i(a){var f=Rke(a);function p(w,m){var b=f((w=o1t(w)).r,(m=o1t(m)).r),E=f(w.g,m.g),_=f(w.b,m.b),A=LP(w.opacity,m.opacity);return function(I){return w.r=b(I),w.g=E(I),w.b=_(I),w.opacity=A(I),w+""}}return p.gamma=i,p}(1);function jke(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,p=a.slice(),w;return function(m){for(w=0;wf&&(m=a.slice(f,m),E[b]?E[b]+=m:E[++b]=m),(p=p[0])===(w=w[0])?E[b]?E[b]+=w:E[++b]=w:(E[++b]=null,_.push({i:b,x:Qv(p,w)})),f=p1t.lastIndex;return f180?I+=360:I-A>180&&(A+=360),N.push({i:B.push(w(B)+"rotate(",null,p)-2,x:Qv(A,I)})):I&&B.push(w(B)+"rotate("+I+p)}function E(A,I,B,N){A!==I?N.push({i:B.push(w(B)+"skewX(",null,p)-2,x:Qv(A,I)}):I&&B.push(w(B)+"skewX("+I+p)}function _(A,I,B,N,R,z){if(A!==B||I!==N){var W=R.push(w(R)+"scale(",null,",",null,")");z.push({i:W-4,x:Qv(A,B)},{i:W-2,x:Qv(I,N)})}else(B!==1||N!==1)&&R.push(w(R)+"scale("+B+","+N+")")}return function(A,I){var B=[],N=[];return A=i(A),I=i(I),m(A.translateX,A.translateY,I.translateX,I.translateY,B,N),b(A.rotate,I.rotate,B,N),E(A.skewX,I.skewX,B,N),_(A.scaleX,A.scaleY,I.scaleX,I.scaleY,B,N),A=I=null,function(R){for(var z=-1,W=N.length,et;++z=0&&i._call.call(void 0,a),i=i._next;--CA}function DMt(){X7=($U=OP.now())+zU,CA=MP=0;try{t8e()}finally{CA=0,n8e(),X7=0}}function e8e(){var i=OP.now(),a=i-$U;a>AMt&&(zU-=a,$U=i)}function n8e(){for(var i,a=jU,f,p=1/0;a;)a._call?(p>a._time&&(p=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:jU=f);IP=i,m1t(p)}function m1t(i){if(!CA){MP&&(MP=clearTimeout(MP));var a=i-X7;a>24?(i<1/0&&(MP=setTimeout(DMt,i-OP.now()-zU)),DP&&(DP=clearInterval(DP))):(DP||($U=OP.now(),DP=setInterval(e8e,AMt)),CA=1,LMt(DMt))}}function IMt(i,a,f){var p=new qU;return a=a==null?0:+a,p.restart(w=>{p.stop(),i(w+a)},a,f),p}var r8e=VLt("start","end","cancel","interrupt"),i8e=[],OMt=0,PMt=1,y1t=2,HU=3,FMt=4,x1t=5,VU=6;function GU(i,a,f,p,w,m){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;s8e(i,f,{name:a,index:p,group:w,on:r8e,tween:i8e,time:m.time,delay:m.delay,duration:m.duration,ease:m.ease,timer:null,state:OMt})}function k1t(i,a){var f=Zv(i,a);if(f.state>OMt)throw new Error("too late; already scheduled");return f}function l3(i,a){var f=Zv(i,a);if(f.state>HU)throw new Error("too late; already running");return f}function Zv(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function s8e(i,a,f){var p=i.__transition,w;p[a]=f,f.timer=MMt(m,0,f.time);function m(A){f.state=PMt,f.timer.restart(b,f.delay,f.time),f.delay<=A&&b(A-f.delay)}function b(A){var I,B,N,R;if(f.state!==PMt)return _();for(I in p)if(R=p[I],R.name===f.name){if(R.state===HU)return IMt(b);R.state===FMt?(R.state=VU,R.timer.stop(),R.on.call("interrupt",i,i.__data__,R.index,R.group),delete p[I]):+Iy1t&&p.state=0&&(a=a.slice(0,f)),!a||a==="start"})}function N8e(i,a,f){var p,w,m=F8e(a)?k1t:l3;return function(){var b=m(this,i),E=b.on;E!==p&&(w=(p=E).copy()).on(a,f),b.on=w}}function B8e(i,a){var f=this._id;return arguments.length<2?Zv(this.node(),f).on.on(i):this.each(N8e(f,i,a))}function R8e(i){return function(){var a=this.parentNode;for(var f in this.__transition)if(+f!==i)return;a&&a.removeChild(this)}}function j8e(){return this.on("end.remove",R8e(this._id))}function $8e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=i1t(i));for(var p=this._groups,w=p.length,m=new Array(w),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(a>15)return jMt;const f=10**a;return function(p){this._+=p[0];for(let w=1,m=p.length;wQ7)if(!(Math.abs(B*_-A*I)>Q7)||!m)this._append`L${this._x1=a},${this._y1=f}`;else{let R=p-b,z=w-E,W=_*_+A*A,et=R*R+z*z,st=Math.sqrt(W),at=Math.sqrt(N),bt=m*Math.tan((T1t-Math.acos((W+N-et)/(2*st*at)))/2),mt=bt/at,yt=bt/st;Math.abs(mt-1)>Q7&&this._append`L${a+mt*I},${f+mt*B}`,this._append`A${m},${m},0,0,${+(B*R>I*z)},${this._x1=a+yt*_},${this._y1=f+yt*A}`}}arc(a,f,p,w,m,b){if(a=+a,f=+f,p=+p,b=!!b,p<0)throw new Error(`negative radius: ${p}`);let E=p*Math.cos(w),_=p*Math.sin(w),A=a+E,I=f+_,B=1^b,N=b?w-m:m-w;this._x1===null?this._append`M${A},${I}`:(Math.abs(this._x1-A)>Q7||Math.abs(this._y1-I)>Q7)&&this._append`L${A},${I}`,p&&(N<0&&(N=N%C1t+C1t),N>hEe?this._append`A${p},${p},0,1,${B},${a-E},${f-_}A${p},${p},0,1,${B},${this._x1=A},${this._y1=I}`:N>Q7&&this._append`A${p},${p},0,${+(N>=T1t)},${B},${this._x1=a+p*Math.cos(m)},${this._y1=f+p*Math.sin(m)}`)}rect(a,f,p,w){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}h${p=+p}v${+w}h${-p}Z`}toString(){return this._}};function gEe(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function pEe(i,a){return fetch(i,a).then(gEe)}function bEe(i){return(a,f)=>pEe(a,f).then(p=>new DOMParser().parseFromString(p,i))}var wEe=bEe("image/svg+xml");function vEe(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function UU(i,a){if((f=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var f,p=i.slice(0,f);return[p.length>1?p[0]+p.slice(2):p,+i.slice(f+1)]}function _A(i){return i=UU(Math.abs(i)),i?i[1]:NaN}function mEe(i,a){return function(f,p){for(var w=f.length,m=[],b=0,E=i[0],_=0;w>0&&E>0&&(_+E+1>p&&(E=Math.max(1,p-_)),m.push(f.substring(w-=E,w+E)),!((_+=E+1)>p));)E=i[b=(b+1)%i.length];return m.reverse().join(a)}}function yEe(i){return function(a){return a.replace(/[0-9]/g,function(f){return i[+f]})}}var xEe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function WU(i){if(!(a=xEe.exec(i)))throw new Error("invalid format: "+i);var a;return new _1t({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}WU.prototype=_1t.prototype;function _1t(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}_1t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function kEe(i){t:for(var a=i.length,f=1,p=-1,w;f0&&(p=0);break}return p>0?i.slice(0,p)+i.slice(w+1):i}var $Mt;function EEe(i,a){var f=UU(i,a);if(!f)return i+"";var p=f[0],w=f[1],m=w-($Mt=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=p.length;return m===b?p:m>b?p+new Array(m-b+1).join("0"):m>0?p.slice(0,m)+"."+p.slice(m):"0."+new Array(1-m).join("0")+UU(i,Math.max(0,a+m-1))[0]}function zMt(i,a){var f=UU(i,a);if(!f)return i+"";var p=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+p:p.length>w+1?p.slice(0,w+1)+"."+p.slice(w+1):p+new Array(w-p.length+2).join("0")}const qMt={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:vEe,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>zMt(i*100,a),r:zMt,s:EEe,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function HMt(i){return i}var VMt=Array.prototype.map,GMt=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function TEe(i){var a=i.grouping===void 0||i.thousands===void 0?HMt:mEe(VMt.call(i.grouping,Number),i.thousands+""),f=i.currency===void 0?"":i.currency[0]+"",p=i.currency===void 0?"":i.currency[1]+"",w=i.decimal===void 0?".":i.decimal+"",m=i.numerals===void 0?HMt:yEe(VMt.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",E=i.minus===void 0?"−":i.minus+"",_=i.nan===void 0?"NaN":i.nan+"";function A(B){B=WU(B);var N=B.fill,R=B.align,z=B.sign,W=B.symbol,et=B.zero,st=B.width,at=B.comma,bt=B.precision,mt=B.trim,yt=B.type;yt==="n"?(at=!0,yt="g"):qMt[yt]||(bt===void 0&&(bt=12),mt=!0,yt="g"),(et||N==="0"&&R==="=")&&(et=!0,N="0",R="=");var ft=W==="$"?f:W==="#"&&/[boxX]/.test(yt)?"0"+yt.toLowerCase():"",ut=W==="$"?p:/[%p]/.test(yt)?b:"",vt=qMt[yt],X=/[defgprs%]/.test(yt);bt=bt===void 0?6:/[gprs]/.test(yt)?Math.max(1,Math.min(21,bt)):Math.max(0,Math.min(20,bt));function pt(U){var Tt=ft,nt=ut,It,Ot,Bt;if(yt==="c")nt=vt(U)+nt,U="";else{U=+U;var Et=U<0||1/U<0;if(U=isNaN(U)?_:vt(Math.abs(U),bt),mt&&(U=kEe(U)),Et&&+U==0&&z!=="+"&&(Et=!1),Tt=(Et?z==="("?z:E:z==="-"||z==="("?"":z)+Tt,nt=(yt==="s"?GMt[8+$Mt/3]:"")+nt+(Et&&z==="("?")":""),X){for(It=-1,Ot=U.length;++ItBt||Bt>57){nt=(Bt===46?w+U.slice(It+1):U.slice(It))+nt,U=U.slice(0,It);break}}}at&&!et&&(U=a(U,1/0));var Z=Tt.length+U.length+nt.length,Ct=Z>1)+Tt+U+nt+Ct.slice(Z);break;default:U=Ct+Tt+U+nt;break}return m(U)}return pt.toString=function(){return B+""},pt}function I(B,N){var R=A((B=WU(B),B.type="f",B)),z=Math.max(-8,Math.min(8,Math.floor(_A(N)/3)))*3,W=Math.pow(10,-z),et=GMt[8+z/3];return function(st){return R(W*st)+et}}return{format:A,formatPrefix:I}}var YU,UMt,WMt;CEe({thousands:",",grouping:[3],currency:["$",""]});function CEe(i){return YU=TEe(i),UMt=YU.format,WMt=YU.formatPrefix,YU}function _Ee(i){return Math.max(0,-_A(Math.abs(i)))}function SEe(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(_A(a)/3)))*3-_A(Math.abs(i)))}function AEe(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,_A(a)-_A(i))+1}function KU(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const YMt=Symbol("implicit");function XU(){var i=new $Lt,a=[],f=[],p=YMt;function w(m){let b=i.get(m);if(b===void 0){if(p!==YMt)return p;i.set(m,b=a.push(m)-1)}return f[b%f.length]}return w.domain=function(m){if(!arguments.length)return a.slice();a=[],i=new $Lt;for(const b of m)i.has(b)||i.set(b,a.push(b)-1);return w},w.range=function(m){return arguments.length?(f=Array.from(m),w):f.slice()},w.unknown=function(m){return arguments.length?(p=m,w):p},w.copy=function(){return XU(a,f).unknown(p)},KU.apply(w,arguments),w}function S1t(){var i=XU().unknown(void 0),a=i.domain,f=i.range,p=0,w=1,m,b,E=!1,_=0,A=0,I=.5;delete i.unknown;function B(){var N=a().length,R=wa&&(f=i,i=a,a=f),function(p){return Math.max(i,Math.min(a,p))}}function IEe(i,a,f){var p=i[0],w=i[1],m=a[0],b=a[1];return w2?OEe:IEe,_=A=null,B}function B(N){return N==null||isNaN(N=+N)?m:(_||(_=E(i.map(p),a,f)))(p(b(N)))}return B.invert=function(N){return b(w((A||(A=E(a,i.map(p),Qv)))(N)))},B.domain=function(N){return arguments.length?(i=Array.from(N,MEe),I()):i.slice()},B.range=function(N){return arguments.length?(a=Array.from(N),I()):a.slice()},B.rangeRound=function(N){return a=Array.from(N),f=Uke,I()},B.clamp=function(N){return arguments.length?(b=N?!0:SA,I()):b!==SA},B.interpolate=function(N){return arguments.length?(f=N,I()):f},B.unknown=function(N){return arguments.length?(m=N,B):m},function(N,R){return p=N,w=R,I()}}function QMt(){return PEe()(SA,SA)}function FEe(i,a,f,p){var w=t1t(i,a,f),m;switch(p=WU(p??",f"),p.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return p.precision==null&&!isNaN(m=SEe(w,b))&&(p.precision=m),WMt(p,b)}case"":case"e":case"g":case"p":case"r":{p.precision==null&&!isNaN(m=AEe(w,Math.max(Math.abs(i),Math.abs(a))))&&(p.precision=m-(p.type==="e"));break}case"f":case"%":{p.precision==null&&!isNaN(m=_Ee(w))&&(p.precision=m-(p.type==="%")*2);break}}return UMt(p)}function NEe(i){var a=i.domain;return i.ticks=function(f){var p=a();return Axe(p[0],p[p.length-1],f??10)},i.tickFormat=function(f,p){var w=a();return FEe(w[0],w[w.length-1],f??10,p)},i.nice=function(f){f==null&&(f=10);var p=a(),w=0,m=p.length-1,b=p[w],E=p[m],_,A,I=10;for(E0;){if(A=Jft(b,E,f),A===_)return p[w]=b,p[m]=E,a(p);if(A>0)b=Math.floor(b/A)*A,E=Math.ceil(E/A)*A;else if(A<0)b=Math.ceil(b*A)/A,E=Math.floor(E*A)/A;else break;_=A}return i},i}function AA(){var i=QMt();return i.copy=function(){return XMt(i,AA())},KU.apply(i,arguments),NEe(i)}function BEe(i,a){i=i.slice();var f=0,p=i.length-1,w=i[f],m=i[p],b;return m(i(m=new Date(+m)),m),w.ceil=m=>(i(m=new Date(m-1)),a(m,1),i(m),m),w.round=m=>{const b=w(m),E=w.ceil(m);return m-b(a(m=new Date(+m),b==null?1:Math.floor(b)),m),w.range=(m,b,E)=>{const _=[];if(m=w.ceil(m),E=E==null?1:Math.floor(E),!(m0))return _;let A;do _.push(A=new Date(+m)),a(m,E),i(m);while(Aa1(b=>{if(b>=b)for(;i(b),!m(b);)b.setTime(b-1)},(b,E)=>{if(b>=b)if(E<0)for(;++E<=0;)for(;a(b,-1),!m(b););else for(;--E>=0;)for(;a(b,1),!m(b););}),f&&(w.count=(m,b)=>(L1t.setTime(+m),M1t.setTime(+b),i(L1t),i(M1t),Math.floor(f(L1t,M1t))),w.every=m=>(m=Math.floor(m),!isFinite(m)||!(m>0)?null:m>1?w.filter(p?b=>p(b)%m===0:b=>w.count(0,b)%m===0):w)),w}const LA=a1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);LA.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a1(a=>{a.setTime(Math.floor(a/i)*i)},(a,f)=>{a.setTime(+a+f*i)},(a,f)=>(f-a)/i):LA),LA.range;const m5=1e3,Z2=m5*60,y5=Z2*60,x5=y5*24,D1t=x5*7,ZMt=x5*30,I1t=x5*365,sk=a1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*m5)},(i,a)=>(a-i)/m5,i=>i.getUTCSeconds());sk.range;const PP=a1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m5)},(i,a)=>{i.setTime(+i+a*Z2)},(i,a)=>(a-i)/Z2,i=>i.getMinutes());PP.range,a1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Z2)},(i,a)=>(a-i)/Z2,i=>i.getUTCMinutes()).range;const FP=a1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m5-i.getMinutes()*Z2)},(i,a)=>{i.setTime(+i+a*y5)},(i,a)=>(a-i)/y5,i=>i.getHours());FP.range,a1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*y5)},(i,a)=>(a-i)/y5,i=>i.getUTCHours()).range;const Z7=a1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Z2)/x5,i=>i.getDate()-1);Z7.range;const O1t=a1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/x5,i=>i.getUTCDate()-1);O1t.range,a1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/x5,i=>Math.floor(i/x5)).range;function J7(i){return a1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,f)=>{a.setDate(a.getDate()+f*7)},(a,f)=>(f-a-(f.getTimezoneOffset()-a.getTimezoneOffset())*Z2)/D1t)}const NP=J7(0),BP=J7(1),JMt=J7(2),tDt=J7(3),tT=J7(4),eDt=J7(5),nDt=J7(6);NP.range,BP.range,JMt.range,tDt.range,tT.range,eDt.range,nDt.range;function eT(i){return a1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCDate(a.getUTCDate()+f*7)},(a,f)=>(f-a)/D1t)}const rDt=eT(0),QU=eT(1),REe=eT(2),jEe=eT(3),MA=eT(4),$Ee=eT(5),zEe=eT(6);rDt.range,QU.range,REe.range,jEe.range,MA.range,$Ee.range,zEe.range;const RP=a1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());RP.range,a1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const k5=a1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());k5.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:a1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,f)=>{a.setFullYear(a.getFullYear()+f*i)}),k5.range;const nT=a1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());nT.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:a1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCFullYear(a.getUTCFullYear()+f*i)}),nT.range;function qEe(i,a,f,p,w,m){const b=[[sk,1,m5],[sk,5,5*m5],[sk,15,15*m5],[sk,30,30*m5],[m,1,Z2],[m,5,5*Z2],[m,15,15*Z2],[m,30,30*Z2],[w,1,y5],[w,3,3*y5],[w,6,6*y5],[w,12,12*y5],[p,1,x5],[p,2,2*x5],[f,1,D1t],[a,1,ZMt],[a,3,3*ZMt],[i,1,I1t]];function E(A,I,B){const N=Iet).right(b,N);if(R===b.length)return i.every(t1t(A/I1t,I/I1t,B));if(R===0)return LA.every(Math.max(t1t(A,I,B),1));const[z,W]=b[N/b[R-1][2]53)return null;"w"in re||(re.w=1),"Z"in re?(Pe=F1t(jP(re.y,0,1)),te=Pe.getUTCDay(),Pe=te>4||te===0?QU.ceil(Pe):QU(Pe),Pe=O1t.offset(Pe,(re.V-1)*7),re.y=Pe.getUTCFullYear(),re.m=Pe.getUTCMonth(),re.d=Pe.getUTCDate()+(re.w+6)%7):(Pe=P1t(jP(re.y,0,1)),te=Pe.getDay(),Pe=te>4||te===0?BP.ceil(Pe):BP(Pe),Pe=Z7.offset(Pe,(re.V-1)*7),re.y=Pe.getFullYear(),re.m=Pe.getMonth(),re.d=Pe.getDate()+(re.w+6)%7)}else("W"in re||"U"in re)&&("w"in re||(re.w="u"in re?re.u%7:"W"in re?1:0),te="Z"in re?F1t(jP(re.y,0,1)).getUTCDay():P1t(jP(re.y,0,1)).getDay(),re.m=0,re.d="W"in re?(re.w+6)%7+re.W*7-(te+5)%7:re.w+re.U*7-(te+6)%7);return"Z"in re?(re.H+=re.Z/100|0,re.M+=re.Z%100,F1t(re)):P1t(re)}}function vt(ce,ke,zt,re){for(var se=0,Pe=ke.length,te=zt.length,Me,de;se=te)return-1;if(Me=ke.charCodeAt(se++),Me===37){if(Me=ke.charAt(se++),de=yt[Me in iDt?ke.charAt(se++):Me],!de||(re=de(ce,zt,re))<0)return-1}else if(Me!=zt.charCodeAt(re++))return-1}return re}function X(ce,ke,zt){var re=A.exec(ke.slice(zt));return re?(ce.p=I.get(re[0].toLowerCase()),zt+re[0].length):-1}function pt(ce,ke,zt){var re=R.exec(ke.slice(zt));return re?(ce.w=z.get(re[0].toLowerCase()),zt+re[0].length):-1}function U(ce,ke,zt){var re=B.exec(ke.slice(zt));return re?(ce.w=N.get(re[0].toLowerCase()),zt+re[0].length):-1}function Tt(ce,ke,zt){var re=st.exec(ke.slice(zt));return re?(ce.m=at.get(re[0].toLowerCase()),zt+re[0].length):-1}function nt(ce,ke,zt){var re=W.exec(ke.slice(zt));return re?(ce.m=et.get(re[0].toLowerCase()),zt+re[0].length):-1}function It(ce,ke,zt){return vt(ce,a,ke,zt)}function Ot(ce,ke,zt){return vt(ce,f,ke,zt)}function Bt(ce,ke,zt){return vt(ce,p,ke,zt)}function Et(ce){return b[ce.getDay()]}function Z(ce){return m[ce.getDay()]}function Ct(ce){return _[ce.getMonth()]}function xt(ce){return E[ce.getMonth()]}function Ht(ce){return w[+(ce.getHours()>=12)]}function Le(ce){return 1+~~(ce.getMonth()/3)}function Ft(ce){return b[ce.getUTCDay()]}function gn(ce){return m[ce.getUTCDay()]}function Se(ce){return _[ce.getUTCMonth()]}function me(ce){return E[ce.getUTCMonth()]}function Ve(ce){return w[+(ce.getUTCHours()>=12)]}function Ye(ce){return 1+~~(ce.getUTCMonth()/3)}return{format:function(ce){var ke=ft(ce+="",bt);return ke.toString=function(){return ce},ke},parse:function(ce){var ke=ut(ce+="",!1);return ke.toString=function(){return ce},ke},utcFormat:function(ce){var ke=ft(ce+="",mt);return ke.toString=function(){return ce},ke},utcParse:function(ce){var ke=ut(ce+="",!0);return ke.toString=function(){return ce},ke}}}var iDt={"-":"",_:" ",0:"0"},X1=/^\s*\d+/,UEe=/^%/,WEe=/[\\^$*+?|[\]().{}]/g;function Ic(i,a,f){var p=i<0?"-":"",w=(p?-i:i)+"",m=w.length;return p+(m[a.toLowerCase(),f]))}function KEe(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.w=+p[0],f+p[0].length):-1}function XEe(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.u=+p[0],f+p[0].length):-1}function QEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.U=+p[0],f+p[0].length):-1}function ZEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.V=+p[0],f+p[0].length):-1}function JEe(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.W=+p[0],f+p[0].length):-1}function sDt(i,a,f){var p=X1.exec(a.slice(f,f+4));return p?(i.y=+p[0],f+p[0].length):-1}function aDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.y=+p[0]+(+p[0]>68?1900:2e3),f+p[0].length):-1}function t7e(i,a,f){var p=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f,f+6));return p?(i.Z=p[1]?0:-(p[2]+(p[3]||"00")),f+p[0].length):-1}function e7e(i,a,f){var p=X1.exec(a.slice(f,f+1));return p?(i.q=p[0]*3-3,f+p[0].length):-1}function n7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.m=p[0]-1,f+p[0].length):-1}function oDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.d=+p[0],f+p[0].length):-1}function r7e(i,a,f){var p=X1.exec(a.slice(f,f+3));return p?(i.m=0,i.d=+p[0],f+p[0].length):-1}function cDt(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.H=+p[0],f+p[0].length):-1}function i7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.M=+p[0],f+p[0].length):-1}function s7e(i,a,f){var p=X1.exec(a.slice(f,f+2));return p?(i.S=+p[0],f+p[0].length):-1}function a7e(i,a,f){var p=X1.exec(a.slice(f,f+3));return p?(i.L=+p[0],f+p[0].length):-1}function o7e(i,a,f){var p=X1.exec(a.slice(f,f+6));return p?(i.L=Math.floor(p[0]/1e3),f+p[0].length):-1}function c7e(i,a,f){var p=UEe.exec(a.slice(f,f+1));return p?f+p[0].length:-1}function u7e(i,a,f){var p=X1.exec(a.slice(f));return p?(i.Q=+p[0],f+p[0].length):-1}function l7e(i,a,f){var p=X1.exec(a.slice(f));return p?(i.s=+p[0],f+p[0].length):-1}function uDt(i,a){return Ic(i.getDate(),a,2)}function h7e(i,a){return Ic(i.getHours(),a,2)}function f7e(i,a){return Ic(i.getHours()%12||12,a,2)}function d7e(i,a){return Ic(1+Z7.count(k5(i),i),a,3)}function lDt(i,a){return Ic(i.getMilliseconds(),a,3)}function g7e(i,a){return lDt(i,a)+"000"}function p7e(i,a){return Ic(i.getMonth()+1,a,2)}function b7e(i,a){return Ic(i.getMinutes(),a,2)}function w7e(i,a){return Ic(i.getSeconds(),a,2)}function v7e(i){var a=i.getDay();return a===0?7:a}function m7e(i,a){return Ic(NP.count(k5(i)-1,i),a,2)}function hDt(i){var a=i.getDay();return a>=4||a===0?tT(i):tT.ceil(i)}function y7e(i,a){return i=hDt(i),Ic(tT.count(k5(i),i)+(k5(i).getDay()===4),a,2)}function x7e(i){return i.getDay()}function k7e(i,a){return Ic(BP.count(k5(i)-1,i),a,2)}function E7e(i,a){return Ic(i.getFullYear()%100,a,2)}function T7e(i,a){return i=hDt(i),Ic(i.getFullYear()%100,a,2)}function C7e(i,a){return Ic(i.getFullYear()%1e4,a,4)}function _7e(i,a){var f=i.getDay();return i=f>=4||f===0?tT(i):tT.ceil(i),Ic(i.getFullYear()%1e4,a,4)}function S7e(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+Ic(a/60|0,"0",2)+Ic(a%60,"0",2)}function fDt(i,a){return Ic(i.getUTCDate(),a,2)}function A7e(i,a){return Ic(i.getUTCHours(),a,2)}function L7e(i,a){return Ic(i.getUTCHours()%12||12,a,2)}function M7e(i,a){return Ic(1+O1t.count(nT(i),i),a,3)}function dDt(i,a){return Ic(i.getUTCMilliseconds(),a,3)}function D7e(i,a){return dDt(i,a)+"000"}function I7e(i,a){return Ic(i.getUTCMonth()+1,a,2)}function O7e(i,a){return Ic(i.getUTCMinutes(),a,2)}function P7e(i,a){return Ic(i.getUTCSeconds(),a,2)}function F7e(i){var a=i.getUTCDay();return a===0?7:a}function N7e(i,a){return Ic(rDt.count(nT(i)-1,i),a,2)}function gDt(i){var a=i.getUTCDay();return a>=4||a===0?MA(i):MA.ceil(i)}function B7e(i,a){return i=gDt(i),Ic(MA.count(nT(i),i)+(nT(i).getUTCDay()===4),a,2)}function R7e(i){return i.getUTCDay()}function j7e(i,a){return Ic(QU.count(nT(i)-1,i),a,2)}function $7e(i,a){return Ic(i.getUTCFullYear()%100,a,2)}function z7e(i,a){return i=gDt(i),Ic(i.getUTCFullYear()%100,a,2)}function q7e(i,a){return Ic(i.getUTCFullYear()%1e4,a,4)}function H7e(i,a){var f=i.getUTCDay();return i=f>=4||f===0?MA(i):MA.ceil(i),Ic(i.getUTCFullYear()%1e4,a,4)}function V7e(){return"+0000"}function pDt(){return"%"}function bDt(i){return+i}function wDt(i){return Math.floor(+i/1e3)}var DA,ZU;G7e({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function G7e(i){return DA=GEe(i),ZU=DA.format,DA.parse,DA.utcFormat,DA.utcParse,DA}function U7e(i){return new Date(i)}function W7e(i){return i instanceof Date?+i:+new Date(+i)}function vDt(i,a,f,p,w,m,b,E,_,A){var I=QMt(),B=I.invert,N=I.domain,R=A(".%L"),z=A(":%S"),W=A("%I:%M"),et=A("%I %p"),st=A("%a %d"),at=A("%b %d"),bt=A("%B"),mt=A("%Y");function yt(ft){return(_(ft)1?0:i<-1?qP:Math.acos(i)}function yDt(i){return i>=1?JU:i<=-1?-JU:Math.asin(i)}function xDt(i){let a=3;return i.digits=function(f){if(!arguments.length)return a;if(f==null)a=null;else{const p=Math.floor(f);if(!(p>=0))throw new RangeError(`invalid digits: ${f}`);a=p}return i},()=>new dEe(a)}function J7e(i){return i.innerRadius}function tTe(i){return i.outerRadius}function eTe(i){return i.startAngle}function nTe(i){return i.endAngle}function rTe(i){return i&&i.padAngle}function iTe(i,a,f,p,w,m,b,E){var _=f-i,A=p-a,I=b-w,B=E-m,N=B*_-I*A;if(!(N*NIt*It+Ot*Ot&&(vt=pt,X=U),{cx:vt,cy:X,x01:-I,y01:-B,x11:vt*(w/yt-1),y11:X*(w/yt-1)}}function OA(){var i=J7e,a=tTe,f=Qh(0),p=null,w=eTe,m=nTe,b=rTe,E=null,_=xDt(A);function A(){var I,B,N=+i.apply(this,arguments),R=+a.apply(this,arguments),z=w.apply(this,arguments)-JU,W=m.apply(this,arguments)-JU,et=mDt(W-z),st=W>z;if(E||(E=I=_()),Ry0))E.moveTo(0,0);else if(et>tW-y0)E.moveTo(R*rT(z),R*h3(z)),E.arc(0,0,R,z,W,!st),N>y0&&(E.moveTo(N*rT(W),N*h3(W)),E.arc(0,0,N,W,z,st));else{var at=z,bt=W,mt=z,yt=W,ft=et,ut=et,vt=b.apply(this,arguments)/2,X=vt>y0&&(p?+p.apply(this,arguments):IA(N*N+R*R)),pt=N1t(mDt(R-N)/2,+f.apply(this,arguments)),U=pt,Tt=pt,nt,It;if(X>y0){var Ot=yDt(X/N*h3(vt)),Bt=yDt(X/R*h3(vt));(ft-=Ot*2)>y0?(Ot*=st?1:-1,mt+=Ot,yt-=Ot):(ft=0,mt=yt=(z+W)/2),(ut-=Bt*2)>y0?(Bt*=st?1:-1,at+=Bt,bt-=Bt):(ut=0,at=bt=(z+W)/2)}var Et=R*rT(at),Z=R*h3(at),Ct=N*rT(yt),xt=N*h3(yt);if(pt>y0){var Ht=R*rT(bt),Le=R*h3(bt),Ft=N*rT(mt),gn=N*h3(mt),Se;if(ety0?Tt>y0?(nt=eW(Ft,gn,Et,Z,R,Tt,st),It=eW(Ht,Le,Ct,xt,R,Tt,st),E.moveTo(nt.cx+nt.x01,nt.cy+nt.y01),Tty0)||!(ft>y0)?E.lineTo(Ct,xt):U>y0?(nt=eW(Ct,xt,Ht,Le,N,-U,st),It=eW(Et,Z,Ft,gn,N,-U,st),E.lineTo(nt.cx+nt.x01,nt.cy+nt.y01),Ui?1:a>=i?0:NaN}function cTe(i){return i}function uTe(){var i=cTe,a=oTe,f=null,p=Qh(0),w=Qh(tW),m=Qh(0);function b(E){var _,A=(E=kDt(E)).length,I,B,N=0,R=new Array(A),z=new Array(A),W=+p.apply(this,arguments),et=Math.min(tW,Math.max(-tW,w.apply(this,arguments)-W)),st,at=Math.min(Math.abs(et)/A,m.apply(this,arguments)),bt=at*(et<0?-1:1),mt;for(_=0;_0&&(N+=mt);for(a!=null?R.sort(function(yt,ft){return a(z[yt],z[ft])}):f!=null&&R.sort(function(yt,ft){return f(E[yt],E[ft])}),_=0,B=N?(et-A*bt)/N:0;_0?mt*B:0)+bt,z[I]={data:E[I],index:_,value:mt,startAngle:W,endAngle:st,padAngle:at};return z}return b.value=function(E){return arguments.length?(i=typeof E=="function"?E:Qh(+E),b):i},b.sortValues=function(E){return arguments.length?(a=E,f=null,b):a},b.sort=function(E){return arguments.length?(f=E,a=null,b):f},b.startAngle=function(E){return arguments.length?(p=typeof E=="function"?E:Qh(+E),b):p},b.endAngle=function(E){return arguments.length?(w=typeof E=="function"?E:Qh(+E),b):w},b.padAngle=function(E){return arguments.length?(m=typeof E=="function"?E:Qh(+E),b):m},b}class TDt{constructor(a,f){this._context=a,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,f){switch(a=+a,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,f):this._context.moveTo(a,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,f,a,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,a,this._y0,a,f);break}}this._x0=a,this._y0=f}}function lTe(i){return new TDt(i,!0)}function hTe(i){return new TDt(i,!1)}function ak(){}function nW(i,a,f){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+f)/6)}function rW(i){this._context=i}rW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:nW(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function HP(i){return new rW(i)}function CDt(i){this._context=i}CDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function fTe(i){return new CDt(i)}function _Dt(i){this._context=i}_Dt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+i)/6,p=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(f,p):this._context.moveTo(f,p);break;case 3:this._point=4;default:nW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function dTe(i){return new _Dt(i)}function SDt(i,a){this._basis=new rW(i),this._beta=a}SDt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,f=i.length-1;if(f>0)for(var p=i[0],w=a[0],m=i[f]-p,b=a[f]-w,E=-1,_;++E<=f;)_=E/f,this._basis.point(this._beta*i[E]+(1-this._beta)*(p+_*m),this._beta*a[E]+(1-this._beta)*(w+_*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const gTe=function i(a){function f(p){return a===1?new rW(p):new SDt(p,a)}return f.beta=function(p){return i(+p)},f}(.85);function iW(i,a,f){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-f),i._x2,i._y2)}function B1t(i,a){this._context=i,this._k=(1-a)/6}B1t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:iW(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const pTe=function i(a){function f(p){return new B1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function R1t(i,a){this._context=i,this._k=(1-a)/6}R1t.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const bTe=function i(a){function f(p){return new R1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function j1t(i,a){this._context=i,this._k=(1-a)/6}j1t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:iW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const wTe=function i(a){function f(p){return new j1t(p,a)}return f.tension=function(p){return i(+p)},f}(0);function $1t(i,a,f){var p=i._x1,w=i._y1,m=i._x2,b=i._y2;if(i._l01_a>y0){var E=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,_=3*i._l01_a*(i._l01_a+i._l12_a);p=(p*E-i._x0*i._l12_2a+i._x2*i._l01_2a)/_,w=(w*E-i._y0*i._l12_2a+i._y2*i._l01_2a)/_}if(i._l23_a>y0){var A=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,I=3*i._l23_a*(i._l23_a+i._l12_a);m=(m*A+i._x1*i._l23_2a-a*i._l12_2a)/I,b=(b*A+i._y1*i._l23_2a-f*i._l12_2a)/I}i._context.bezierCurveTo(p,w,m,b,i._x2,i._y2)}function ADt(i,a){this._context=i,this._alpha=a}ADt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const vTe=function i(a){function f(p){return a?new ADt(p,a):new B1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function LDt(i,a){this._context=i,this._alpha=a}LDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const mTe=function i(a){function f(p){return a?new LDt(p,a):new R1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function MDt(i,a){this._context=i,this._alpha=a}MDt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,p=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+p*p,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:$1t(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const yTe=function i(a){function f(p){return a?new MDt(p,a):new j1t(p,0)}return f.alpha=function(p){return i(+p)},f}(.5);function DDt(i){this._context=i}DDt.prototype={areaStart:ak,areaEnd:ak,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function xTe(i){return new DDt(i)}function IDt(i){return i<0?-1:1}function ODt(i,a,f){var p=i._x1-i._x0,w=a-i._x1,m=(i._y1-i._y0)/(p||w<0&&-0),b=(f-i._y1)/(w||p<0&&-0),E=(m*w+b*p)/(p+w);return(IDt(m)+IDt(b))*Math.min(Math.abs(m),Math.abs(b),.5*Math.abs(E))||0}function PDt(i,a){var f=i._x1-i._x0;return f?(3*(i._y1-i._y0)/f-a)/2:a}function z1t(i,a,f){var p=i._x0,w=i._y0,m=i._x1,b=i._y1,E=(m-p)/3;i._context.bezierCurveTo(p+E,w+E*a,m-E,b-E*f,m,b)}function sW(i){this._context=i}sW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:z1t(this,this._t0,PDt(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var f=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,z1t(this,PDt(this,f=ODt(this,i,a)),f);break;default:z1t(this,this._t0,f=ODt(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=f}}};function FDt(i){this._context=new NDt(i)}(FDt.prototype=Object.create(sW.prototype)).point=function(i,a){sW.prototype.point.call(this,a,i)};function NDt(i){this._context=i}NDt.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,f,p,w,m){this._context.bezierCurveTo(a,i,p,f,m,w)}};function kTe(i){return new sW(i)}function ETe(i){return new FDt(i)}function BDt(i){this._context=i}BDt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,f=i.length;if(f)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),f===2)this._context.lineTo(i[1],a[1]);else for(var p=RDt(i),w=RDt(a),m=0,b=1;b=0;--a)w[a]=(b[a]-w[a+1])/m[a];for(m[f-1]=(i[f]+w[f-1])/2,a=0;a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var f=this._x*(1-this._t)+i*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,a)}break}}this._x=i,this._y=a}};function CTe(i){return new aW(i,.5)}function _Te(i){return new aW(i,0)}function STe(i){return new aW(i,1)}function VP(i,a,f){this.k=i,this.x=a,this.y=f}VP.prototype={constructor:VP,scale:function(i){return i===1?this:new VP(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new VP(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},VP.prototype;/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:jDt,setPrototypeOf:$Dt,isFrozen:ATe,getPrototypeOf:LTe,getOwnPropertyDescriptor:MTe}=Object;let{freeze:ug,seal:Jv,create:DTe}=Object,{apply:q1t,construct:H1t}=typeof Reflect<"u"&&Reflect;q1t||(q1t=function(a,f,p){return a.apply(f,p)}),ug||(ug=function(a){return a}),Jv||(Jv=function(a){return a}),H1t||(H1t=function(a,f){return new a(...f)});const ITe=J2(Array.prototype.forEach),zDt=J2(Array.prototype.pop),GP=J2(Array.prototype.push),oW=J2(String.prototype.toLowerCase),V1t=J2(String.prototype.toString),OTe=J2(String.prototype.match),tm=J2(String.prototype.replace),PTe=J2(String.prototype.indexOf),FTe=J2(String.prototype.trim),Pb=J2(RegExp.prototype.test),UP=NTe(TypeError);function J2(i){return function(a){for(var f=arguments.length,p=new Array(f>1?f-1:0),w=1;w/gm),zTe=Jv(/\${[\w\W]*}/gm),qTe=Jv(/^data-[\-\w.\u00B7-\uFFFF]/),HTe=Jv(/^aria-[\-\w]+$/),UDt=Jv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),VTe=Jv(/^(?:\w+script|data):/i),GTe=Jv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),WDt=Jv(/^html$/i);var YDt=Object.freeze({__proto__:null,MUSTACHE_EXPR:jTe,ERB_EXPR:$Te,TMPLIT_EXPR:zTe,DATA_ATTR:qTe,ARIA_ATTR:HTe,IS_ALLOWED_URI:UDt,IS_SCRIPT_OR_DATA:VTe,ATTR_WHITESPACE:GTe,DOCTYPE_NAME:WDt});const UTe=()=>typeof window>"u"?null:window,WTe=function(a,f){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let p=null;const w="data-tt-policy-suffix";f&&f.hasAttribute(w)&&(p=f.getAttribute(w));const m="dompurify"+(p?"#"+p:"");try{return a.createPolicy(m,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+m+" could not be created."),null}};function KDt(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:UTe();const a=Bi=>KDt(Bi);if(a.version="3.0.5",a.removed=[],!i||!i.document||i.document.nodeType!==9)return a.isSupported=!1,a;const f=i.document,p=f.currentScript;let{document:w}=i;const{DocumentFragment:m,HTMLTemplateElement:b,Node:E,Element:_,NodeFilter:A,NamedNodeMap:I=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:B,DOMParser:N,trustedTypes:R}=i,z=_.prototype,W=cW(z,"cloneNode"),et=cW(z,"nextSibling"),st=cW(z,"childNodes"),at=cW(z,"parentNode");if(typeof b=="function"){const Bi=w.createElement("template");Bi.content&&Bi.content.ownerDocument&&(w=Bi.content.ownerDocument)}let bt,mt="";const{implementation:yt,createNodeIterator:ft,createDocumentFragment:ut,getElementsByTagName:vt}=w,{importNode:X}=f;let pt={};a.isSupported=typeof jDt=="function"&&typeof at=="function"&&yt&&yt.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:U,ERB_EXPR:Tt,TMPLIT_EXPR:nt,DATA_ATTR:It,ARIA_ATTR:Ot,IS_SCRIPT_OR_DATA:Bt,ATTR_WHITESPACE:Et}=YDt;let{IS_ALLOWED_URI:Z}=YDt,Ct=null;const xt=mo({},[...qDt,...G1t,...U1t,...W1t,...HDt]);let Ht=null;const Le=mo({},[...VDt,...Y1t,...GDt,...uW]);let Ft=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),gn=null,Se=null,me=!0,Ve=!0,Ye=!1,ce=!0,ke=!1,zt=!1,re=!1,se=!1,Pe=!1,te=!1,Me=!1,de=!0,on=!1;const ni="user-content-";let Ks=!0,ws=!1,fo={},Xi=null;const Er=mo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Xn=null;const di=mo({},["audio","video","img","source","image","track"]);let Ee=null;const Kn=mo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),He="http://www.w3.org/1998/Math/MathML",Ti="http://www.w3.org/2000/svg",pn="http://www.w3.org/1999/xhtml";let Es=pn,qa=!1,Ma=null;const Gs=mo({},[He,Ti,pn],V1t);let Po;const vs=["application/xhtml+xml","text/html"],ru="text/html";let zs,Du=null;const pm=w.createElement("form"),uw=function(cn){return cn instanceof RegExp||cn instanceof Function},Wu=function(cn){if(!(Du&&Du===cn)){if((!cn||typeof cn!="object")&&(cn={}),cn=PA(cn),Po=vs.indexOf(cn.PARSER_MEDIA_TYPE)===-1?Po=ru:Po=cn.PARSER_MEDIA_TYPE,zs=Po==="application/xhtml+xml"?V1t:oW,Ct="ALLOWED_TAGS"in cn?mo({},cn.ALLOWED_TAGS,zs):xt,Ht="ALLOWED_ATTR"in cn?mo({},cn.ALLOWED_ATTR,zs):Le,Ma="ALLOWED_NAMESPACES"in cn?mo({},cn.ALLOWED_NAMESPACES,V1t):Gs,Ee="ADD_URI_SAFE_ATTR"in cn?mo(PA(Kn),cn.ADD_URI_SAFE_ATTR,zs):Kn,Xn="ADD_DATA_URI_TAGS"in cn?mo(PA(di),cn.ADD_DATA_URI_TAGS,zs):di,Xi="FORBID_CONTENTS"in cn?mo({},cn.FORBID_CONTENTS,zs):Er,gn="FORBID_TAGS"in cn?mo({},cn.FORBID_TAGS,zs):{},Se="FORBID_ATTR"in cn?mo({},cn.FORBID_ATTR,zs):{},fo="USE_PROFILES"in cn?cn.USE_PROFILES:!1,me=cn.ALLOW_ARIA_ATTR!==!1,Ve=cn.ALLOW_DATA_ATTR!==!1,Ye=cn.ALLOW_UNKNOWN_PROTOCOLS||!1,ce=cn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ke=cn.SAFE_FOR_TEMPLATES||!1,zt=cn.WHOLE_DOCUMENT||!1,Pe=cn.RETURN_DOM||!1,te=cn.RETURN_DOM_FRAGMENT||!1,Me=cn.RETURN_TRUSTED_TYPE||!1,se=cn.FORCE_BODY||!1,de=cn.SANITIZE_DOM!==!1,on=cn.SANITIZE_NAMED_PROPS||!1,Ks=cn.KEEP_CONTENT!==!1,ws=cn.IN_PLACE||!1,Z=cn.ALLOWED_URI_REGEXP||UDt,Es=cn.NAMESPACE||pn,Ft=cn.CUSTOM_ELEMENT_HANDLING||{},cn.CUSTOM_ELEMENT_HANDLING&&uw(cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ft.tagNameCheck=cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&uw(cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ft.attributeNameCheck=cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&typeof cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Ft.allowCustomizedBuiltInElements=cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ke&&(Ve=!1),te&&(Pe=!0),fo&&(Ct=mo({},[...HDt]),Ht=[],fo.html===!0&&(mo(Ct,qDt),mo(Ht,VDt)),fo.svg===!0&&(mo(Ct,G1t),mo(Ht,Y1t),mo(Ht,uW)),fo.svgFilters===!0&&(mo(Ct,U1t),mo(Ht,Y1t),mo(Ht,uW)),fo.mathMl===!0&&(mo(Ct,W1t),mo(Ht,GDt),mo(Ht,uW))),cn.ADD_TAGS&&(Ct===xt&&(Ct=PA(Ct)),mo(Ct,cn.ADD_TAGS,zs)),cn.ADD_ATTR&&(Ht===Le&&(Ht=PA(Ht)),mo(Ht,cn.ADD_ATTR,zs)),cn.ADD_URI_SAFE_ATTR&&mo(Ee,cn.ADD_URI_SAFE_ATTR,zs),cn.FORBID_CONTENTS&&(Xi===Er&&(Xi=PA(Xi)),mo(Xi,cn.FORBID_CONTENTS,zs)),Ks&&(Ct["#text"]=!0),zt&&mo(Ct,["html","head","body"]),Ct.table&&(mo(Ct,["tbody"]),delete gn.tbody),cn.TRUSTED_TYPES_POLICY){if(typeof cn.TRUSTED_TYPES_POLICY.createHTML!="function")throw UP('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof cn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw UP('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');bt=cn.TRUSTED_TYPES_POLICY,mt=bt.createHTML("")}else bt===void 0&&(bt=WTe(R,p)),bt!==null&&typeof mt=="string"&&(mt=bt.createHTML(""));ug&&ug(cn),Du=cn}},th=mo({},["mi","mo","mn","ms","mtext"]),Fa=mo({},["foreignobject","desc","title","annotation-xml"]),Ml=mo({},["title","style","font","a","script"]),ha=mo({},G1t);mo(ha,U1t),mo(ha,BTe);const bc=mo({},W1t);mo(bc,RTe);const Cc=function(cn){let kr=at(cn);(!kr||!kr.tagName)&&(kr={namespaceURI:Es,tagName:"template"});const Ei=oW(cn.tagName),Jo=oW(kr.tagName);return Ma[cn.namespaceURI]?cn.namespaceURI===Ti?kr.namespaceURI===pn?Ei==="svg":kr.namespaceURI===He?Ei==="svg"&&(Jo==="annotation-xml"||th[Jo]):!!ha[Ei]:cn.namespaceURI===He?kr.namespaceURI===pn?Ei==="math":kr.namespaceURI===Ti?Ei==="math"&&Fa[Jo]:!!bc[Ei]:cn.namespaceURI===pn?kr.namespaceURI===Ti&&!Fa[Jo]||kr.namespaceURI===He&&!th[Jo]?!1:!bc[Ei]&&(Ml[Ei]||!ha[Ei]):!!(Po==="application/xhtml+xml"&&Ma[cn.namespaceURI]):!1},pa=function(cn){GP(a.removed,{element:cn});try{cn.parentNode.removeChild(cn)}catch{cn.remove()}},Da=function(cn,kr){try{GP(a.removed,{attribute:kr.getAttributeNode(cn),from:kr})}catch{GP(a.removed,{attribute:null,from:kr})}if(kr.removeAttribute(cn),cn==="is"&&!Ht[cn])if(Pe||te)try{pa(kr)}catch{}else try{kr.setAttribute(cn,"")}catch{}},Ha=function(cn){let kr,Ei;if(se)cn=""+cn;else{const rf=OTe(cn,/^[\r\n\t ]+/);Ei=rf&&rf[0]}Po==="application/xhtml+xml"&&Es===pn&&(cn=''+cn+"");const Jo=bt?bt.createHTML(cn):cn;if(Es===pn)try{kr=new N().parseFromString(Jo,Po)}catch{}if(!kr||!kr.documentElement){kr=yt.createDocument(Es,"template",null);try{kr.documentElement.innerHTML=qa?mt:Jo}catch{}}const wc=kr.body||kr.documentElement;return cn&&Ei&&wc.insertBefore(w.createTextNode(Ei),wc.childNodes[0]||null),Es===pn?vt.call(kr,zt?"html":"body")[0]:zt?kr.documentElement:wc},Dl=function(cn){return ft.call(cn.ownerDocument||cn,cn,A.SHOW_ELEMENT|A.SHOW_COMMENT|A.SHOW_TEXT,null,!1)},_c=function(cn){return cn instanceof B&&(typeof cn.nodeName!="string"||typeof cn.textContent!="string"||typeof cn.removeChild!="function"||!(cn.attributes instanceof I)||typeof cn.removeAttribute!="function"||typeof cn.setAttribute!="function"||typeof cn.namespaceURI!="string"||typeof cn.insertBefore!="function"||typeof cn.hasChildNodes!="function")},lw=function(cn){return typeof E=="object"?cn instanceof E:cn&&typeof cn=="object"&&typeof cn.nodeType=="number"&&typeof cn.nodeName=="string"},eh=function(cn,kr,Ei){pt[cn]&&ITe(pt[cn],Jo=>{Jo.call(a,kr,Ei,Du)})},ed=function(cn){let kr;if(eh("beforeSanitizeElements",cn,null),_c(cn))return pa(cn),!0;const Ei=zs(cn.nodeName);if(eh("uponSanitizeElement",cn,{tagName:Ei,allowedTags:Ct}),cn.hasChildNodes()&&!lw(cn.firstElementChild)&&(!lw(cn.content)||!lw(cn.content.firstElementChild))&&Pb(/<[/\w]/g,cn.innerHTML)&&Pb(/<[/\w]/g,cn.textContent))return pa(cn),!0;if(!Ct[Ei]||gn[Ei]){if(!gn[Ei]&&nd(Ei)&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,Ei)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(Ei)))return!1;if(Ks&&!Xi[Ei]){const Jo=at(cn)||cn.parentNode,wc=st(cn)||cn.childNodes;if(wc&&Jo){const rf=wc.length;for(let Oc=rf-1;Oc>=0;--Oc)Jo.insertBefore(W(wc[Oc],!0),et(cn))}}return pa(cn),!0}return cn instanceof _&&!Cc(cn)||(Ei==="noscript"||Ei==="noembed"||Ei==="noframes")&&Pb(/<\/no(script|embed|frames)/i,cn.innerHTML)?(pa(cn),!0):(ke&&cn.nodeType===3&&(kr=cn.textContent,kr=tm(kr,U," "),kr=tm(kr,Tt," "),kr=tm(kr,nt," "),cn.textContent!==kr&&(GP(a.removed,{element:cn.cloneNode()}),cn.textContent=kr)),eh("afterSanitizeElements",cn,null),!1)},jd=function(cn,kr,Ei){if(de&&(kr==="id"||kr==="name")&&(Ei in w||Ei in pm))return!1;if(!(Ve&&!Se[kr]&&Pb(It,kr))){if(!(me&&Pb(Ot,kr))){if(!Ht[kr]||Se[kr]){if(!(nd(cn)&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,cn)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(cn))&&(Ft.attributeNameCheck instanceof RegExp&&Pb(Ft.attributeNameCheck,kr)||Ft.attributeNameCheck instanceof Function&&Ft.attributeNameCheck(kr))||kr==="is"&&Ft.allowCustomizedBuiltInElements&&(Ft.tagNameCheck instanceof RegExp&&Pb(Ft.tagNameCheck,Ei)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(Ei))))return!1}else if(!Ee[kr]){if(!Pb(Z,tm(Ei,Et,""))){if(!((kr==="src"||kr==="xlink:href"||kr==="href")&&cn!=="script"&&PTe(Ei,"data:")===0&&Xn[cn])){if(!(Ye&&!Pb(Bt,tm(Ei,Et,"")))){if(Ei)return!1}}}}}}return!0},nd=function(cn){return cn.indexOf("-")>0},$d=function(cn){let kr,Ei,Jo,wc;eh("beforeSanitizeAttributes",cn,null);const{attributes:rf}=cn;if(!rf)return;const Oc={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ht};for(wc=rf.length;wc--;){kr=rf[wc];const{name:sf,namespaceURI:af}=kr;if(Ei=sf==="value"?kr.value:FTe(kr.value),Jo=zs(sf),Oc.attrName=Jo,Oc.attrValue=Ei,Oc.keepAttr=!0,Oc.forceKeepAttr=void 0,eh("uponSanitizeAttribute",cn,Oc),Ei=Oc.attrValue,Oc.forceKeepAttr||(Da(sf,cn),!Oc.keepAttr))continue;if(!ce&&Pb(/\/>/i,Ei)){Da(sf,cn);continue}ke&&(Ei=tm(Ei,U," "),Ei=tm(Ei,Tt," "),Ei=tm(Ei,nt," "));const Qi=zs(cn.nodeName);if(jd(Qi,Jo,Ei)){if(on&&(Jo==="id"||Jo==="name")&&(Da(sf,cn),Ei=ni+Ei),bt&&typeof R=="object"&&typeof R.getAttributeType=="function"&&!af)switch(R.getAttributeType(Qi,Jo)){case"TrustedHTML":{Ei=bt.createHTML(Ei);break}case"TrustedScriptURL":{Ei=bt.createScriptURL(Ei);break}}try{af?cn.setAttributeNS(af,sf,Ei):cn.setAttribute(sf,Ei),zDt(a.removed)}catch{}}}eh("afterSanitizeAttributes",cn,null)},A0=function Bi(cn){let kr;const Ei=Dl(cn);for(eh("beforeSanitizeShadowDOM",cn,null);kr=Ei.nextNode();)eh("uponSanitizeShadowNode",kr,null),!ed(kr)&&(kr.content instanceof m&&Bi(kr.content),$d(kr));eh("afterSanitizeShadowDOM",cn,null)};return a.sanitize=function(Bi){let cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},kr,Ei,Jo,wc;if(qa=!Bi,qa&&(Bi=""),typeof Bi!="string"&&!lw(Bi))if(typeof Bi.toString=="function"){if(Bi=Bi.toString(),typeof Bi!="string")throw UP("dirty is not a string, aborting")}else throw UP("toString is not a function");if(!a.isSupported)return Bi;if(re||Wu(cn),a.removed=[],typeof Bi=="string"&&(ws=!1),ws){if(Bi.nodeName){const sf=zs(Bi.nodeName);if(!Ct[sf]||gn[sf])throw UP("root node is forbidden and cannot be sanitized in-place")}}else if(Bi instanceof E)kr=Ha(""),Ei=kr.ownerDocument.importNode(Bi,!0),Ei.nodeType===1&&Ei.nodeName==="BODY"||Ei.nodeName==="HTML"?kr=Ei:kr.appendChild(Ei);else{if(!Pe&&!ke&&!zt&&Bi.indexOf("<")===-1)return bt&&Me?bt.createHTML(Bi):Bi;if(kr=Ha(Bi),!kr)return Pe?null:Me?mt:""}kr&&se&&pa(kr.firstChild);const rf=Dl(ws?Bi:kr);for(;Jo=rf.nextNode();)ed(Jo)||(Jo.content instanceof m&&A0(Jo.content),$d(Jo));if(ws)return Bi;if(Pe){if(te)for(wc=ut.call(kr.ownerDocument);kr.firstChild;)wc.appendChild(kr.firstChild);else wc=kr;return(Ht.shadowroot||Ht.shadowrootmode)&&(wc=X.call(f,wc,!0)),wc}let Oc=zt?kr.outerHTML:kr.innerHTML;return zt&&Ct["!doctype"]&&kr.ownerDocument&&kr.ownerDocument.doctype&&kr.ownerDocument.doctype.name&&Pb(WDt,kr.ownerDocument.doctype.name)&&(Oc=" +`+Oc),ke&&(Oc=tm(Oc,U," "),Oc=tm(Oc,Tt," "),Oc=tm(Oc,nt," ")),bt&&Me?bt.createHTML(Oc):Oc},a.setConfig=function(Bi){Wu(Bi),re=!0},a.clearConfig=function(){Du=null,re=!1},a.isValidAttribute=function(Bi,cn,kr){Du||Wu({});const Ei=zs(Bi),Jo=zs(cn);return jd(Ei,Jo,kr)},a.addHook=function(Bi,cn){typeof cn=="function"&&(pt[Bi]=pt[Bi]||[],GP(pt[Bi],cn))},a.removeHook=function(Bi){if(pt[Bi])return zDt(pt[Bi])},a.removeHooks=function(Bi){pt[Bi]&&(pt[Bi]=[])},a.removeAllHooks=function(){pt={}},a}var lW=KDt();const WP=//gi,YTe=i=>i?ZDt(i).replace(/\\n/g,"#br#").split("#br#"):[""],XDt=i=>lW.sanitize(i),QDt=(i,a)=>{var f;if(((f=a.flowchart)==null?void 0:f.htmlLabels)!==!1){const p=a.securityLevel;p==="antiscript"||p==="strict"?i=XDt(i):p!=="loose"&&(i=ZDt(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=ZTe(i))}return i},Q1=(i,a)=>i&&(a.dompurifyConfig?i=lW.sanitize(QDt(i,a),a.dompurifyConfig).toString():i=lW.sanitize(QDt(i,a),{FORBID_TAGS:["style"]}).toString(),i),KTe=(i,a)=>typeof i=="string"?Q1(i,a):i.flat().map(f=>Q1(f,a)),XTe=i=>WP.test(i),QTe=i=>i.split(WP),ZTe=i=>i.replace(/#br#/g,"
    "),ZDt=i=>i.replace(WP,"#br#"),JTe=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},o1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),tCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.max(...a)},eCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.min(...a)},YP=function(i){const a=i.split(/(,)/),f=[];for(let p=0;p0&&p+1Math.max(0,i.split(a).length-1),nCe=(i,a)=>{const f=K1t(i,"~"),p=K1t(a,"~");return f===1&&p===1},rCe=i=>{const a=K1t(i,"~");let f=!1;if(a<=1)return i;a%2!==0&&i.startsWith("~")&&(i=i.substring(1),f=!0);const p=[...i];let w=p.indexOf("~"),m=p.lastIndexOf("~");for(;w!==-1&&m!==-1&&w!==m;)p[w]="<",p[m]=">",w=p.indexOf("~"),m=p.lastIndexOf("~");return f&&p.unshift("~"),p.join("")},Kr={getRows:YTe,sanitizeText:Q1,sanitizeTextOrArray:KTe,hasBreaks:XTe,splitBreaks:QTe,lineBreakRegex:WP,removeScript:XDt,getUrl:JTe,evaluate:o1,getMax:tCe,getMin:eCe},hW={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const a=i/255;return i>.03928?Math.pow((a+.055)/1.055,2.4):a/12.92},hue2rgb:(i,a,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<1/6?i+(a-i)*6*f:f<1/2?a:f<2/3?i+(a-i)*(2/3-f)*6:i),hsl2rgb:({h:i,s:a,l:f},p)=>{if(!a)return f*2.55;i/=360,a/=100,f/=100;const w=f<.5?f*(1+a):f+a-f*a,m=2*f-w;switch(p){case"r":return hW.hue2rgb(m,w,i+1/3)*255;case"g":return hW.hue2rgb(m,w,i)*255;case"b":return hW.hue2rgb(m,w,i-1/3)*255}},rgb2hsl:({r:i,g:a,b:f},p)=>{i/=255,a/=255,f/=255;const w=Math.max(i,a,f),m=Math.min(i,a,f),b=(w+m)/2;if(p==="l")return b*100;if(w===m)return 0;const E=w-m,_=b>.5?E/(2-w-m):E/(w+m);if(p==="s")return _*100;switch(w){case i:return((a-f)/E+(aa>f?Math.min(a,Math.max(f,i)):Math.min(f,Math.max(a,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const a=Math.round(i).toString(16);return a.length>1?a:`0${a}`}}},ok={};for(let i=0;i<=255;i++)ok[i]=ga.unit.dec2hex(i);const x0={ALL:0,RGB:1,HSL:2};class iCe{constructor(){this.type=x0.ALL}get(){return this.type}set(a){if(this.type&&this.type!==a)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=a}reset(){this.type=x0.ALL}is(a){return this.type===a}}const sCe=iCe;class aCe{constructor(a,f){this.color=f,this.changed=!1,this.data=a,this.type=new sCe}set(a,f){return this.color=f,this.changed=!1,this.data=a,this.type.type=x0.ALL,this}_ensureHSL(){const a=this.data,{h:f,s:p,l:w}=a;f===void 0&&(a.h=ga.channel.rgb2hsl(a,"h")),p===void 0&&(a.s=ga.channel.rgb2hsl(a,"s")),w===void 0&&(a.l=ga.channel.rgb2hsl(a,"l"))}_ensureRGB(){const a=this.data,{r:f,g:p,b:w}=a;f===void 0&&(a.r=ga.channel.hsl2rgb(a,"r")),p===void 0&&(a.g=ga.channel.hsl2rgb(a,"g")),w===void 0&&(a.b=ga.channel.hsl2rgb(a,"b"))}get r(){const a=this.data,f=a.r;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"r"))}get g(){const a=this.data,f=a.g;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"g"))}get b(){const a=this.data,f=a.b;return!this.type.is(x0.HSL)&&f!==void 0?f:(this._ensureHSL(),ga.channel.hsl2rgb(a,"b"))}get h(){const a=this.data,f=a.h;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"h"))}get s(){const a=this.data,f=a.s;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"s"))}get l(){const a=this.data,f=a.l;return!this.type.is(x0.RGB)&&f!==void 0?f:(this._ensureRGB(),ga.channel.rgb2hsl(a,"l"))}get a(){return this.data.a}set r(a){this.type.set(x0.RGB),this.changed=!0,this.data.r=a}set g(a){this.type.set(x0.RGB),this.changed=!0,this.data.g=a}set b(a){this.type.set(x0.RGB),this.changed=!0,this.data.b=a}set h(a){this.type.set(x0.HSL),this.changed=!0,this.data.h=a}set s(a){this.type.set(x0.HSL),this.changed=!0,this.data.s=a}set l(a){this.type.set(x0.HSL),this.changed=!0,this.data.l=a}set a(a){this.changed=!0,this.data.a=a}}const oCe=aCe,fW=new oCe({r:0,g:0,b:0,a:0},"transparent"),JDt={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const a=i.match(JDt.re);if(!a)return;const f=a[1],p=parseInt(f,16),w=f.length,m=w%4===0,b=w>4,E=b?1:17,_=b?8:4,A=m?0:-1,I=b?255:15;return fW.set({r:(p>>_*(A+3)&I)*E,g:(p>>_*(A+2)&I)*E,b:(p>>_*(A+1)&I)*E,a:m?(p&I)*E/255:1},i)},stringify:i=>{const{r:a,g:f,b:p,a:w}=i;return w<1?`#${ok[Math.round(a)]}${ok[Math.round(f)]}${ok[Math.round(p)]}${ok[Math.round(w*255)]}`:`#${ok[Math.round(a)]}${ok[Math.round(f)]}${ok[Math.round(p)]}`}},KP=JDt,dW={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:i=>{const a=i.match(dW.hueRe);if(a){const[,f,p]=a;switch(p){case"grad":return ga.channel.clamp.h(parseFloat(f)*.9);case"rad":return ga.channel.clamp.h(parseFloat(f)*180/Math.PI);case"turn":return ga.channel.clamp.h(parseFloat(f)*360)}}return ga.channel.clamp.h(parseFloat(i))},parse:i=>{const a=i.charCodeAt(0);if(a!==104&&a!==72)return;const f=i.match(dW.re);if(!f)return;const[,p,w,m,b,E]=f;return fW.set({h:dW._hue2deg(p),s:ga.channel.clamp.s(parseFloat(w)),l:ga.channel.clamp.l(parseFloat(m)),a:b?ga.channel.clamp.a(E?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:a,s:f,l:p,a:w}=i;return w<1?`hsla(${ga.lang.round(a)}, ${ga.lang.round(f)}%, ${ga.lang.round(p)}%, ${w})`:`hsl(${ga.lang.round(a)}, ${ga.lang.round(f)}%, ${ga.lang.round(p)}%)`}},gW=dW,pW={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:i=>{i=i.toLowerCase();const a=pW.colors[i];if(a)return KP.parse(a)},stringify:i=>{const a=KP.stringify(i);for(const f in pW.colors)if(pW.colors[f]===a)return f}},tIt=pW,eIt={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:i=>{const a=i.charCodeAt(0);if(a!==114&&a!==82)return;const f=i.match(eIt.re);if(!f)return;const[,p,w,m,b,E,_,A,I]=f;return fW.set({r:ga.channel.clamp.r(w?parseFloat(p)*2.55:parseFloat(p)),g:ga.channel.clamp.g(b?parseFloat(m)*2.55:parseFloat(m)),b:ga.channel.clamp.b(_?parseFloat(E)*2.55:parseFloat(E)),a:A?ga.channel.clamp.a(I?parseFloat(A)/100:parseFloat(A)):1},i)},stringify:i=>{const{r:a,g:f,b:p,a:w}=i;return w<1?`rgba(${ga.lang.round(a)}, ${ga.lang.round(f)}, ${ga.lang.round(p)}, ${ga.lang.round(w)})`:`rgb(${ga.lang.round(a)}, ${ga.lang.round(f)}, ${ga.lang.round(p)})`}},bW=eIt,em={format:{keyword:tIt,hex:KP,rgb:bW,rgba:bW,hsl:gW,hsla:gW},parse:i=>{if(typeof i!="string")return i;const a=KP.parse(i)||bW.parse(i)||gW.parse(i)||tIt.parse(i);if(a)return a;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(x0.HSL)||i.data.r===void 0?gW.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?bW.stringify(i):KP.stringify(i)},nIt=(i,a)=>{const f=em.parse(i);for(const p in a)f[p]=ga.channel.clamp[p](a[p]);return em.stringify(f)},FA=(i,a,f=0,p=1)=>{if(typeof i!="number")return nIt(i,{a});const w=fW.set({r:ga.channel.clamp.r(i),g:ga.channel.clamp.g(a),b:ga.channel.clamp.b(f),a:ga.channel.clamp.a(p)});return em.stringify(w)},cCe=(i,a)=>ga.lang.round(em.parse(i)[a]),uCe=i=>{const{r:a,g:f,b:p}=em.parse(i),w=.2126*ga.channel.toLinear(a)+.7152*ga.channel.toLinear(f)+.0722*ga.channel.toLinear(p);return ga.lang.round(w)},lCe=i=>uCe(i)>=.5,iT=i=>!lCe(i),rIt=(i,a,f)=>{const p=em.parse(i),w=p[a],m=ga.channel.clamp[a](w+f);return w!==m&&(p[a]=m),em.stringify(p)},bs=(i,a)=>rIt(i,"l",a),$s=(i,a)=>rIt(i,"l",-a),xn=(i,a)=>{const f=em.parse(i),p={};for(const w in a)a[w]&&(p[w]=f[w]+a[w]);return nIt(i,p)},hCe=(i,a,f=50)=>{const{r:p,g:w,b:m,a:b}=em.parse(i),{r:E,g:_,b:A,a:I}=em.parse(a),B=f/100,N=B*2-1,R=b-I,W=((N*R===-1?N:(N+R)/(1+N*R))+1)/2,et=1-W,st=p*W+E*et,at=w*W+_*et,bt=m*W+A*et,mt=b*B+I*(1-B);return FA(st,at,bt,mt)},Di=(i,a=100)=>{const f=em.parse(i);return f.r=255-f.r,f.g=255-f.g,f.b=255-f.b,hCe(f,i,a)},lg=(i,a)=>a?xn(i,{s:-40,l:10}):xn(i,{s:-40,l:-10}),wW="#ffffff",vW="#f2f2f2";let fCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var f,p,w,m,b,E,_,A,I,B,N;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||xn(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||xn(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||lg(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||lg(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Di(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Di(this.tertiaryColor),this.lineColor=this.lineColor||Di(this.background),this.arrowheadColor=this.arrowheadColor||Di(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?$s(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||$s(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Di(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||bs(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this.darkMode)for(let R=0;R{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const dCe=i=>{const a=new fCe;return a.calculate(i),a};let gCe=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=bs(this.primaryColor,16),this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=Di(this.background),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=bs(Di("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=FA(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=$s("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=$s(this.sectionBkgColor,10),this.taskBorderColor=FA(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=FA(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.secondBkg=bs(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=bs(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=bs(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=xn(this.primaryColor,{h:64}),this.fillType3=xn(this.secondaryColor,{h:64}),this.fillType4=xn(this.primaryColor,{h:-64}),this.fillType5=xn(this.secondaryColor,{h:-64}),this.fillType6=xn(this.primaryColor,{h:128}),this.fillType7=xn(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330});for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const pCe=i=>{const a=new gCe;return a.calculate(i),a};let bCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=xn(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=FA(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||$s(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||$s(this.tertiaryColor,40);for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const X1t=i=>{const a=new bCe;return a.calculate(i),a};let wCe=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=bs("#cde498",10),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.primaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.actorBorder=$s(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||xn(this.primaryColor,{h:30}),this.cScale4=this.cScale4||xn(this.primaryColor,{h:60}),this.cScale5=this.cScale5||xn(this.primaryColor,{h:90}),this.cScale6=this.cScale6||xn(this.primaryColor,{h:120}),this.cScale7=this.cScale7||xn(this.primaryColor,{h:150}),this.cScale8=this.cScale8||xn(this.primaryColor,{h:210}),this.cScale9=this.cScale9||xn(this.primaryColor,{h:270}),this.cScale10=this.cScale10||xn(this.primaryColor,{h:300}),this.cScale11=this.cScale11||xn(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||$s(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||$s(this.tertiaryColor,40);for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}};const vCe=i=>{const a=new wCe;return a.calculate(i),a};class mCe{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=bs(this.contrast,55),this.background="#ffffff",this.tertiaryColor=xn(this.primaryColor,{h:-160}),this.primaryBorderColor=lg(this.primaryColor,this.darkMode),this.secondaryBorderColor=lg(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=lg(this.tertiaryColor,this.darkMode),this.primaryTextColor=Di(this.primaryColor),this.secondaryTextColor=Di(this.secondaryColor),this.tertiaryTextColor=Di(this.tertiaryColor),this.lineColor=Di(this.background),this.textColor=Di(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var a,f,p,w,m,b,E,_,A,I,B;this.secondBkg=bs(this.contrast,55),this.border2=this.contrast,this.actorBorder=bs(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let N=0;N{this[p]=a[p]}),this.updateColors(),f.forEach(p=>{this[p]=a[p]})}}const T5={base:{getThemeVariables:dCe},dark:{getThemeVariables:pCe},default:{getThemeVariables:X1t},forest:{getThemeVariables:vCe},neutral:{getThemeVariables:i=>{const a=new mCe;return a.calculate(i),a}}},C5={flowchart:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},theme:"default",maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,fontSize:16},iIt={...C5,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:T5.default.getThemeVariables(),sequence:{...C5.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...C5.gantt,tickInterval:void 0,useWidth:void 0},c4:{...C5.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...C5.pie,useWidth:984},xyChart:{...C5.xyChart,useWidth:void 0},requirement:{...C5.requirement,useWidth:void 0},gitGraph:{...C5.gitGraph,useMaxWidth:!1},sankey:{...C5.sankey,useMaxWidth:!1}},sIt=(i,a="")=>Object.keys(i).reduce((f,p)=>Array.isArray(i[p])?f:typeof i[p]=="object"&&i[p]!==null?[...f,a+p,...sIt(i[p],"")]:[...f,a+p],[]),yCe=new Set(sIt(iIt,"")),Zh=iIt,mW=i=>{if(Ut.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(a=>mW(a));return}for(const a of Object.keys(i)){if(Ut.debug("Checking key",a),a.startsWith("__")||a.includes("proto")||a.includes("constr")||!yCe.has(a)||i[a]==null){Ut.debug("sanitize deleting key: ",a),delete i[a];continue}if(typeof i[a]=="object"){Ut.debug("sanitizing object",a),mW(i[a]);continue}const f=["themeCSS","fontFamily","altFontFamily"];for(const p of f)a.includes(p)&&(Ut.debug("sanitizing css option",a),i[a]=xCe(i[a]))}if(i.themeVariables)for(const a of Object.keys(i.themeVariables)){const f=i.themeVariables[a];f!=null&&f.match&&!f.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[a]="")}Ut.debug("After sanitization",i)}},xCe=i=>{let a=0,f=0;for(const p of i){if(a{for(const{id:a,detector:f,loader:p}of i)uIt(a,f,p)},uIt=(i,a,f)=>{NA[i]?Ut.error(`Detector with key ${i} already exists`):NA[i]={detector:a,loader:f},Ut.debug(`Detector with key ${i} added${f?" with loader":""}`)},ECe=i=>NA[i].loader,Q1t=(i,a,{depth:f=2,clobber:p=!1}={})=>{const w={depth:f,clobber:p};return Array.isArray(a)&&!Array.isArray(i)?(a.forEach(m=>Q1t(i,m,w)),i):Array.isArray(a)&&Array.isArray(i)?(a.forEach(m=>{i.includes(m)||i.push(m)}),i):i===void 0||f<=0?i!=null&&typeof i=="object"&&typeof a=="object"?Object.assign(i,a):a:(a!==void 0&&typeof i=="object"&&typeof a=="object"&&Object.keys(a).forEach(m=>{typeof a[m]=="object"&&(i[m]===void 0||typeof i[m]=="object")?(i[m]===void 0&&(i[m]=Array.isArray(a[m])?[]:{}),i[m]=Q1t(i[m],a[m],{depth:f-1,clobber:p})):(p||typeof i[m]!="object"&&typeof a[m]!="object")&&(i[m]=a[m])}),i)},Z1=Q1t;var TCe=typeof global=="object"&&global&&global.Object===Object&&global;const lIt=TCe;var CCe=typeof self=="object"&&self&&self.Object===Object&&self,_Ce=lIt||CCe||Function("return this")();const nm=_Ce;var SCe=nm.Symbol;const tw=SCe;var hIt=Object.prototype,ACe=hIt.hasOwnProperty,LCe=hIt.toString,QP=tw?tw.toStringTag:void 0;function MCe(i){var a=ACe.call(i,QP),f=i[QP];try{i[QP]=void 0;var p=!0}catch{}var w=LCe.call(i);return p&&(a?i[QP]=f:delete i[QP]),w}var DCe=Object.prototype,ICe=DCe.toString;function OCe(i){return ICe.call(i)}var PCe="[object Null]",FCe="[object Undefined]",fIt=tw?tw.toStringTag:void 0;function sT(i){return i==null?i===void 0?FCe:PCe:fIt&&fIt in Object(i)?MCe(i):OCe(i)}function Fb(i){var a=typeof i;return i!=null&&(a=="object"||a=="function")}var NCe="[object AsyncFunction]",BCe="[object Function]",RCe="[object GeneratorFunction]",jCe="[object Proxy]";function BA(i){if(!Fb(i))return!1;var a=sT(i);return a==BCe||a==RCe||a==NCe||a==jCe}var $Ce=nm["__core-js_shared__"];const Z1t=$Ce;var dIt=function(){var i=/[^.]+$/.exec(Z1t&&Z1t.keys&&Z1t.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function zCe(i){return!!dIt&&dIt in i}var qCe=Function.prototype,HCe=qCe.toString;function aT(i){if(i!=null){try{return HCe.call(i)}catch{}try{return i+""}catch{}}return""}var VCe=/[\\^$.*+?()[\]{}|]/g,GCe=/^\[object .+?Constructor\]$/,UCe=Function.prototype,WCe=Object.prototype,YCe=UCe.toString,KCe=WCe.hasOwnProperty,XCe=RegExp("^"+YCe.call(KCe).replace(VCe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function QCe(i){if(!Fb(i)||zCe(i))return!1;var a=BA(i)?XCe:GCe;return a.test(aT(i))}function ZCe(i,a){return i==null?void 0:i[a]}function oT(i,a){var f=ZCe(i,a);return QCe(f)?f:void 0}var JCe=oT(Object,"create");const ZP=JCe;function t9e(){this.__data__=ZP?ZP(null):{},this.size=0}function e9e(i){var a=this.has(i)&&delete this.__data__[i];return this.size-=a?1:0,a}var n9e="__lodash_hash_undefined__",r9e=Object.prototype,i9e=r9e.hasOwnProperty;function s9e(i){var a=this.__data__;if(ZP){var f=a[i];return f===n9e?void 0:f}return i9e.call(a,i)?a[i]:void 0}var a9e=Object.prototype,o9e=a9e.hasOwnProperty;function c9e(i){var a=this.__data__;return ZP?a[i]!==void 0:o9e.call(a,i)}var u9e="__lodash_hash_undefined__";function l9e(i,a){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=ZP&&a===void 0?u9e:a,this}function cT(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1}function w9e(i,a){var f=this.__data__,p=xW(f,i);return p<0?(++this.size,f.push([i,a])):f[p][1]=a,this}function _5(i){var a=-1,f=i==null?0:i.length;for(this.clear();++a-1&&i%1==0&&i<=U9e}function ck(i){return i!=null&&rdt(i.length)&&!BA(i)}function _It(i){return f3(i)&&ck(i)}function W9e(){return!1}var SIt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,AIt=SIt&&typeof module=="object"&&module&&!module.nodeType&&module,Y9e=AIt&&AIt.exports===SIt,LIt=Y9e?nm.Buffer:void 0,K9e=LIt?LIt.isBuffer:void 0,X9e=K9e||W9e;const zA=X9e;var Q9e="[object Object]",Z9e=Function.prototype,J9e=Object.prototype,MIt=Z9e.toString,t_e=J9e.hasOwnProperty,e_e=MIt.call(Object);function DIt(i){if(!f3(i)||sT(i)!=Q9e)return!1;var a=ndt(i);if(a===null)return!0;var f=t_e.call(a,"constructor")&&a.constructor;return typeof f=="function"&&f instanceof f&&MIt.call(f)==e_e}var n_e="[object Arguments]",r_e="[object Array]",i_e="[object Boolean]",s_e="[object Date]",a_e="[object Error]",o_e="[object Function]",c_e="[object Map]",u_e="[object Number]",l_e="[object Object]",h_e="[object RegExp]",f_e="[object Set]",d_e="[object String]",g_e="[object WeakMap]",p_e="[object ArrayBuffer]",b_e="[object DataView]",w_e="[object Float32Array]",v_e="[object Float64Array]",m_e="[object Int8Array]",y_e="[object Int16Array]",x_e="[object Int32Array]",k_e="[object Uint8Array]",E_e="[object Uint8ClampedArray]",T_e="[object Uint16Array]",C_e="[object Uint32Array]",bl={};bl[w_e]=bl[v_e]=bl[m_e]=bl[y_e]=bl[x_e]=bl[k_e]=bl[E_e]=bl[T_e]=bl[C_e]=!0,bl[n_e]=bl[r_e]=bl[p_e]=bl[i_e]=bl[b_e]=bl[s_e]=bl[a_e]=bl[o_e]=bl[c_e]=bl[u_e]=bl[l_e]=bl[h_e]=bl[f_e]=bl[d_e]=bl[g_e]=!1;function __e(i){return f3(i)&&rdt(i.length)&&!!bl[sT(i)]}function SW(i){return function(a){return i(a)}}var IIt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tF=IIt&&typeof module=="object"&&module&&!module.nodeType&&module,S_e=tF&&tF.exports===IIt,idt=S_e&&lIt.process,A_e=function(){try{var i=tF&&tF.require&&tF.require("util").types;return i||idt&&idt.binding&&idt.binding("util")}catch{}}();const qA=A_e;var OIt=qA&&qA.isTypedArray,L_e=OIt?SW(OIt):__e;const AW=L_e;function sdt(i,a){if(!(a==="constructor"&&typeof i[a]=="function")&&a!="__proto__")return i[a]}var M_e=Object.prototype,D_e=M_e.hasOwnProperty;function LW(i,a,f){var p=i[a];(!(D_e.call(i,a)&&RA(p,f))||f===void 0&&!(a in i))&&TW(i,a,f)}function eF(i,a,f,p){var w=!f;f||(f={});for(var m=-1,b=a.length;++m-1&&i%1==0&&i0){if(++a>=U_e)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}var X_e=K_e(G_e);const RIt=X_e;function DW(i,a){return RIt(BIt(i,a,lT),i+"")}function nF(i,a,f){if(!Fb(f))return!1;var p=typeof a;return(p=="number"?ck(f)&&MW(a,f.length):p=="string"&&a in f)?RA(f[a],i):!1}function Q_e(i){return DW(function(a,f){var p=-1,w=f.length,m=w>1?f[w-1]:void 0,b=w>2?f[2]:void 0;for(m=i.length>3&&typeof m=="function"?(w--,m):void 0,b&&nF(f[0],f[1],b)&&(m=w<3?void 0:m,w=1),a=Object(a);++pE.args);mW(b),p=Z1(p,[...b])}else p=f.args;if(!p)return;let w=yW(i,a);const m="config";return p[m]!==void 0&&(w==="flowchart-v2"&&(w="flowchart"),p[w]=p[m],delete p[m]),p},$It=function(i,a=null){try{const f=new RegExp(`[%]{2}(?![{]${tSe.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(f,"").replace(/'/gm,'"'),Ut.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let p;const w=[];for(;(p=XP.exec(i))!==null;)if(p.index===XP.lastIndex&&XP.lastIndex++,p&&!a||a&&p[1]&&p[1].match(a)||a&&p[2]&&p[2].match(a)){const m=p[1]?p[1]:p[2],b=p[3]?p[3].trim():p[4]?JSON.parse(p[4].trim()):null;w.push({type:m,args:b})}return w.length===0?{type:i,args:null}:w.length===1?w[0]:w}catch(f){return Ut.error(`ERROR: ${f.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},nSe=function(i){return i.replace(XP,"")},rSe=function(i,a){for(const[f,p]of a.entries())if(p.match(i))return f;return-1};function ew(i,a){if(!i)return a;const f=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return J_e[f]??a}function iSe(i,a){const f=i.trim();if(f)return a.securityLevel!=="loose"?ik(f):f}const sSe=(i,...a)=>{const f=i.split("."),p=f.length-1,w=f[p];let m=window;for(let b=0;b{f+=zIt(w,a),a=w});const p=f/2;return adt(i,p)}function oSe(i){return i.length===1?i[0]:aSe(i)}const qIt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},adt=(i,a)=>{let f,p=a;for(const w of i){if(f){const m=zIt(w,f);if(m=1)return{x:w.x,y:w.y};if(b>0&&b<1)return{x:qIt((1-b)*f.x+b*w.x,5),y:qIt((1-b)*f.y+b*w.y,5)}}}f=w}throw new Error("Could not find a suitable point for the given distance")},cSe=(i,a,f)=>{Ut.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const w=adt(a,25),m=i?10:5,b=Math.atan2(a[0].y-w.y,a[0].x-w.x),E={x:0,y:0};return E.x=Math.sin(b)*m+(a[0].x+w.x)/2,E.y=-Math.cos(b)*m+(a[0].y+w.y)/2,E};function uSe(i,a,f){const p=structuredClone(f);Ut.info("our points",p),a!=="start_left"&&a!=="start_right"&&p.reverse();const w=25+i,m=adt(p,w),b=10+i*.5,E=Math.atan2(p[0].y-m.y,p[0].x-m.x),_={x:0,y:0};return a==="start_left"?(_.x=Math.sin(E+Math.PI)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E+Math.PI)*b+(p[0].y+m.y)/2):a==="end_right"?(_.x=Math.sin(E-Math.PI)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E-Math.PI)*b+(p[0].y+m.y)/2-5):a==="end_left"?(_.x=Math.sin(E)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2-5):(_.x=Math.sin(E)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2),_}function im(i){let a="",f="";for(const p of i)p!==void 0&&(p.startsWith("color:")||p.startsWith("text-align:")?f=f+p+";":a=a+p+";");return{style:a,labelStyle:f}}let HIt=0;const VIt=()=>(HIt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+HIt);function lSe(i){let a="";const f="0123456789abcdef",p=f.length;for(let w=0;wlSe(i.length),hSe=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},fSe=function(i,a){const f=a.text.replace(Kr.lineBreakRegex," "),[,p]=VA(a.fontSize),w=i.append("text");w.attr("x",a.x),w.attr("y",a.y),w.style("text-anchor",a.anchor),w.style("font-family",a.fontFamily),w.style("font-size",p),w.style("font-weight",a.fontWeight),w.attr("fill",a.fill),a.class!==void 0&&w.attr("class",a.class);const m=w.append("tspan");return m.attr("x",a.x+a.textMargin*2),m.attr("fill",a.fill),m.text(f),w},UIt=jA((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},f),Kr.lineBreakRegex.test(i)))return i;const p=i.split(" "),w=[];let m="";return p.forEach((b,E)=>{const _=d3(`${b} `,f),A=d3(m,f);if(_>a){const{hyphenatedStrings:N,remainingWord:R}=dSe(b,a,"-",f);w.push(m,...N),m=R}else A+_>=a?(w.push(m),m=b):m=[m,b].filter(Boolean).join(" ");E+1===p.length&&w.push(m)}),w.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),dSe=jA((i,a,f="-",p)=>{p=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},p);const w=[...i],m=[];let b="";return w.forEach((E,_)=>{const A=`${b}${E}`;if(d3(A,p)>=a){const B=_+1,N=w.length===B,R=`${A}${f}`;m.push(N?A:R),b=""}else b=A}),{hyphenatedStrings:m,remainingWord:b}},(i,a,f="-",p)=>`${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`);function odt(i,a){return cdt(i,a).height}function d3(i,a){return cdt(i,a).width}const cdt=jA((i,a)=>{const{fontSize:f=12,fontFamily:p="Arial",fontWeight:w=400}=a;if(!i)return{width:0,height:0};const[,m]=VA(f),b=["sans-serif",p],E=i.split(Kr.lineBreakRegex),_=[],A=yr("body");if(!A.remove)return{width:0,height:0,lineHeight:0};const I=A.append("svg");for(const N of b){let R=0;const z={width:0,height:0,lineHeight:0};for(const W of E){const et=hSe();et.text=W||jIt;const st=fSe(I,et).style("font-size",m).style("font-weight",w).style("font-family",N),at=(st._groups||st)[0][0].getBBox();if(at.width===0&&at.height===0)throw new Error("svg element not in render tree");z.width=Math.round(Math.max(z.width,at.width)),R=Math.round(at.height),z.height+=R,z.lineHeight=Math.round(Math.max(z.lineHeight,R))}_.push(z)}I.remove();const B=isNaN(_[1].height)||isNaN(_[1].width)||isNaN(_[1].lineHeight)||_[0].height>_[1].height&&_[0].width>_[1].width&&_[0].lineHeight>_[1].lineHeight?0:1;return _[B]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class gSe{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let OW;const pSe=function(i){return OW=OW||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),OW.innerHTML=i,unescape(OW.textContent)};function WIt(i){return"str"in i}const bSe=(i,a,f,p)=>{var m;if(!p)return;const w=(m=i.node())==null?void 0:m.getBBox();w&&i.append("text").text(p).attr("x",w.x+w.width/2).attr("y",-f).attr("class",a)},VA=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function rF(i,a){return IW({},i,a)}const $a={assignWithDepth:Z1,wrapLabel:UIt,calculateTextHeight:odt,calculateTextWidth:d3,calculateTextDimensions:cdt,cleanAndMerge:rF,detectInit:eSe,detectDirective:$It,isSubstringInArray:rSe,interpolateToCurve:ew,calcLabelPosition:oSe,calcCardinalityPosition:cSe,calcTerminalLabelPosition:uSe,formatUrl:iSe,getStylesFromArray:im,generateId:VIt,random:GIt,runFunc:sSe,entityDecode:pSe,insertTitle:bSe,parseFontSize:VA,InitIDGenerator:gSe};var YIt="comm",KIt="rule",XIt="decl",wSe="@import",vSe="@keyframes",mSe=Math.abs,udt=String.fromCharCode;function QIt(i){return i.trim()}function ldt(i,a,f){return i.replace(a,f)}function ySe(i,a){return i.indexOf(a)}function iF(i,a){return i.charCodeAt(a)|0}function sF(i,a,f){return i.slice(a,f)}function uk(i){return i.length}function ZIt(i){return i.length}function PW(i,a){return a.push(i),i}var FW=1,GA=1,JIt=0,nw=0,Of=0,UA="";function hdt(i,a,f,p,w,m,b){return{value:i,root:a,parent:f,type:p,props:w,children:m,line:FW,column:GA,length:b,return:""}}function xSe(){return Of}function kSe(){return Of=nw>0?iF(UA,--nw):0,GA--,Of===10&&(GA=1,FW--),Of}function sm(){return Of=nw2||fdt(Of)>3?"":" "}function _Se(i,a){for(;--a&&sm()&&!(Of<48||Of>102||Of>57&&Of<65||Of>70&&Of<97););return BW(i,NW()+(a<6&&hT()==32&&sm()==32))}function gdt(i){for(;sm();)switch(Of){case i:return nw;case 34:case 39:i!==34&&i!==39&&gdt(Of);break;case 40:i===41&&gdt(i);break;case 92:sm();break}return nw}function SSe(i,a){for(;sm()&&i+Of!==47+10;)if(i+Of===42+42&&hT()===47)break;return"/*"+BW(a,nw-1)+"*"+udt(i===47?i:sm())}function ASe(i){for(;!fdt(hT());)sm();return BW(i,nw)}function LSe(i){return TSe(RW("",null,null,null,[""],i=ESe(i),0,[0],i))}function RW(i,a,f,p,w,m,b,E,_){for(var A=0,I=0,B=b,N=0,R=0,z=0,W=1,et=1,st=1,at=0,bt="",mt=w,yt=m,ft=p,ut=bt;et;)switch(z=at,at=sm()){case 40:if(z!=108&&iF(ut,B-1)==58){ySe(ut+=ldt(ddt(at),"&","&\f"),"&\f")!=-1&&(st=-1);break}case 34:case 39:case 91:ut+=ddt(at);break;case 9:case 10:case 13:case 32:ut+=CSe(z);break;case 92:ut+=_Se(NW()-1,7);continue;case 47:switch(hT()){case 42:case 47:PW(MSe(SSe(sm(),NW()),a,f),_);break;default:ut+="/"}break;case 123*W:E[A++]=uk(ut)*st;case 125*W:case 59:case 0:switch(at){case 0:case 125:et=0;case 59+I:R>0&&uk(ut)-B&&PW(R>32?eOt(ut+";",p,f,B-1):eOt(ldt(ut," ","")+";",p,f,B-2),_);break;case 59:ut+=";";default:if(PW(ft=tOt(ut,a,f,A,I,w,E,bt,mt=[],yt=[],B),m),at===123)if(I===0)RW(ut,a,ft,ft,mt,m,B,E,yt);else switch(N===99&&iF(ut,3)===110?100:N){case 100:case 109:case 115:RW(i,ft,ft,p&&PW(tOt(i,ft,ft,0,0,w,E,bt,w,mt=[],B),yt),w,yt,B,E,p?mt:yt);break;default:RW(ut,ft,ft,ft,[""],yt,0,E,yt)}}A=I=R=0,W=st=1,bt=ut="",B=b;break;case 58:B=1+uk(ut),R=z;default:if(W<1){if(at==123)--W;else if(at==125&&W++==0&&kSe()==125)continue}switch(ut+=udt(at),at*W){case 38:st=I>0?1:(ut+="\f",-1);break;case 44:E[A++]=(uk(ut)-1)*st,st=1;break;case 64:hT()===45&&(ut+=ddt(sm())),N=hT(),I=B=uk(bt=ut+=ASe(NW())),at++;break;case 45:z===45&&uk(ut)==2&&(W=0)}}return m}function tOt(i,a,f,p,w,m,b,E,_,A,I){for(var B=w-1,N=w===0?m:[""],R=ZIt(N),z=0,W=0,et=0;z0?N[st]+" "+at:ldt(at,/&\f/g,N[st])))&&(_[et++]=bt);return hdt(i,a,f,w===0?KIt:E,_,A,I)}function MSe(i,a,f){return hdt(i,a,f,YIt,udt(xSe()),sF(i,2,-2),0)}function eOt(i,a,f,p){return hdt(i,a,f,XIt,sF(i,0,p),sF(i,p+1,-1),p)}function pdt(i,a){for(var f="",p=ZIt(i),w=0;w{let f=Z1({},i),p={};for(const w of a)aOt(w),p=Z1(p,w);if(f=Z1(f,p),p.theme&&p.theme in T5){const w=Z1({},rOt),m=Z1(w.themeVariables||{},p.themeVariables);f.theme&&f.theme in T5&&(f.themeVariables=T5[f.theme].getThemeVariables(m))}return aF=f,cOt(aF),aF},ISe=i=>(fp=Z1({},WA),fp=Z1(fp,i),i.theme&&T5[i.theme]&&(fp.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables)),jW(fp,YA),fp),OSe=i=>{rOt=Z1({},i)},PSe=i=>(fp=Z1(fp,i),jW(fp,YA),fp),iOt=()=>Z1({},fp),sOt=i=>(cOt(i),Z1(aF,i),Fd()),Fd=()=>Z1({},aF),aOt=i=>{i&&(["secure",...fp.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Ut.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&aOt(i[a])}))},FSe=i=>{mW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),YA.push(i),jW(fp,YA)},$W=(i=fp)=>{YA=[],jW(i,YA)},NSe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},oOt={},BSe=i=>{oOt[i]||(Ut.warn(NSe[i]),oOt[i]=!0)},cOt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&BSe("LAZY_LOAD_DEPRECATED")},uOt="c4",RSe={id:uOt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>nIe);return{id:uOt,diagram:i}}},lOt="flowchart",jSe={id:lOt,detector:(i,a)=>{var f,p;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>cze);return{id:lOt,diagram:i}}},hOt="flowchart-v2",$Se={id:hOt,detector:(i,a)=>{var f,p,w;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((w=a==null?void 0:a.flowchart)==null?void 0:w.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uze);return{id:hOt,diagram:i}}},fOt="er",zSe={id:fOt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Fze);return{id:fOt,diagram:i}}},dOt="gitGraph",qSe={id:dOt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aqe);return{id:dOt,diagram:i}}},gOt="gantt",HSe={id:gOt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Kqe);return{id:gOt,diagram:i}}},pOt="info",VSe={id:pOt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Qqe);return{id:pOt,diagram:i}}},bOt="pie",GSe={id:bOt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>rHe);return{id:bOt,diagram:i}}},wOt="quadrantChart",USe={id:wOt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mHe);return{id:wOt,diagram:i}}},vOt="xychart",WSe={id:vOt,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>HHe);return{id:vOt,diagram:i}}},mOt="requirement",YSe={id:mOt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>JHe);return{id:mOt,diagram:i}}},yOt="sequence",KSe={id:yOt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>iGe);return{id:yOt,diagram:i}}},xOt="class",XSe={id:xOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>AGe);return{id:xOt,diagram:i}}},kOt="classDiagram",QSe={id:kOt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>PGe);return{id:kOt,diagram:i}}},EOt="state",ZSe={id:EOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xUe);return{id:EOt,diagram:i}}},TOt="stateDiagram",JSe={id:TOt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$Ue);return{id:TOt,diagram:i}}},COt="journey",tAe={id:COt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sWe);return{id:COt,diagram:i}}},eAe=function(i,a){for(let f of a)i.attr(f[0],f[1])},nAe=function(i,a,f){let p=new Map;return f?(p.set("width","100%"),p.set("style",`max-width: ${a}px;`)):(p.set("height",i),p.set("width",a)),p},k0=function(i,a,f,p){const w=nAe(a,f,p);eAe(i,w)},fT=function(i,a,f,p){const w=a.node().getBBox(),m=w.width,b=w.height;Ut.info(`SVG bounds: ${m}x${b}`,w);let E=0,_=0;Ut.info(`Graph bounds: ${E}x${_}`,i),E=m+f*2,_=b+f*2,Ut.info(`Calculated bounds: ${E}x${_}`),k0(a,_,E,p);const A=`${w.x-f} ${w.y-f} ${w.width+2*f} ${w.height+2*f}`;a.attr("viewBox",A)},zW={},rAe=(i,a,f)=>{let p="";return i in zW&&zW[i]?p=zW[i](f):Ut.warn(`No theme found for ${i}`),` & { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + fill: ${f.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${f.errorBkgColor}; + } + & .error-text { + fill: ${f.errorTextColor}; + stroke: ${f.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${f.lineColor}; + stroke: ${f.lineColor}; + } + & .marker.cross { + stroke: ${f.lineColor}; + } + + & svg { + font-family: ${f.fontFamily}; + font-size: ${f.fontSize}; + } + + ${p} + + ${a} +`},iAe=(i,a)=>{a!==void 0&&(zW[i]=a)},sAe=rAe;let bdt="",wdt="",vdt="";const mdt=i=>Q1(i,Fd()),hg=()=>{bdt="",vdt="",wdt=""},E0=i=>{bdt=mdt(i).replace(/^\s+/g,"")},fg=()=>bdt,dg=i=>{vdt=mdt(i).replace(/\n\s+/g,` +`)},gg=()=>vdt,Nb=i=>{wdt=mdt(i)},pg=()=>wdt,_Ot=Object.freeze(Object.defineProperty({__proto__:null,clear:hg,getAccDescription:gg,getAccTitle:fg,getDiagramTitle:pg,setAccDescription:dg,setAccTitle:E0,setDiagramTitle:Nb},Symbol.toStringTag,{value:"Module"})),aAe=Ut,oAe=Xft,Oe=Fd,cAe=sOt,SOt=WA,uAe=i=>Q1(i,Oe()),AOt=fT,lAe=()=>_Ot,qW={},HW=(i,a,f)=>{var p;if(qW[i])throw new Error(`Diagram ${i} already registered.`);qW[i]=a,f&&uIt(i,f),iAe(i,a.styles),(p=a.injectUtils)==null||p.call(a,aAe,oAe,Oe,uAe,AOt,lAe(),()=>{})},ydt=i=>{if(i in qW)return qW[i];throw new hAe(i)};class hAe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const VW=i=>{var w;const{securityLevel:a}=Oe();let f=yr("body");if(a==="sandbox"){const b=((w=yr(`#i${i}`).node())==null?void 0:w.contentDocument)??document;f=yr(b.body)}return f.select(`#${i}`)},LOt={draw:(i,a,f)=>{Ut.debug(`renering svg for syntax error +`);const p=VW(a);p.attr("viewBox","0 0 2412 512"),k0(p,100,512,!0);const w=p.append("g");w.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),w.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),w.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),w.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),w.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),w.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),w.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),w.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${f}`)}},fAe=LOt,dAe={db:{},renderer:LOt,parser:{parser:{yy:{}},parse:()=>{}}},MOt="flowchart-elk",gAe={id:MOt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xWe);return{id:MOt,diagram:i}}},DOt="timeline",pAe={id:DOt,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$We);return{id:DOt,diagram:i}}},IOt="mindmap",bAe={id:IOt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>bYe);return{id:IOt,diagram:i}}},OOt="sankey",wAe={id:OOt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>UYe);return{id:OOt,diagram:i}}};let POt=!1;const xdt=()=>{POt||(POt=!0,HW("error",dAe,i=>i.toLowerCase().trim()==="error"),HW("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),cIt(RSe,QSe,XSe,zSe,HSe,VSe,GSe,YSe,KSe,gAe,$Se,jSe,bAe,pAe,qSe,JSe,ZSe,tAe,USe,wAe,WSe))};class FOt{constructor(a,f={}){this.text=a,this.metadata=f,this.type="graph",this.text+=` +`;const p=Fd();try{this.type=yW(a,p)}catch(m){this.type="error",this.detectError=m}const w=ydt(this.type);Ut.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,p,w,m,b;if(this.detectError)throw this.detectError;(p=(f=this.db).clear)==null||p.call(f);const a=Fd();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(m=this.db).setDiagramTitle)==null||b.call(m,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const kdt=async(i,a={})=>{const f=yW(i,Fd());try{ydt(f)}catch{const w=ECe(f);if(!w)throw new oIt(`Diagram ${f} not found.`);const{id:m,diagram:b}=await w();HW(m,b)}return new FOt(i,a)};let Edt=[];const vAe=i=>{Edt.push(i)},mAe=()=>{Edt.forEach(i=>{i()}),Edt=[]};var yAe=kIt(Object.keys,Object);const xAe=yAe;var kAe=Object.prototype,EAe=kAe.hasOwnProperty;function NOt(i){if(!_W(i))return xAe(i);var a=[];for(var f in Object(i))EAe.call(i,f)&&f!="constructor"&&a.push(f);return a}var TAe=oT(nm,"DataView");const Tdt=TAe;var CAe=oT(nm,"Promise");const Cdt=CAe;var _Ae=oT(nm,"Set");const KA=_Ae;var SAe=oT(nm,"WeakMap");const _dt=SAe;var BOt="[object Map]",AAe="[object Object]",ROt="[object Promise]",jOt="[object Set]",$Ot="[object WeakMap]",zOt="[object DataView]",LAe=aT(Tdt),MAe=aT(JP),DAe=aT(Cdt),IAe=aT(KA),OAe=aT(_dt),dT=sT;(Tdt&&dT(new Tdt(new ArrayBuffer(1)))!=zOt||JP&&dT(new JP)!=BOt||Cdt&&dT(Cdt.resolve())!=ROt||KA&&dT(new KA)!=jOt||_dt&&dT(new _dt)!=$Ot)&&(dT=function(i){var a=sT(i),f=a==AAe?i.constructor:void 0,p=f?aT(f):"";if(p)switch(p){case LAe:return zOt;case MAe:return BOt;case DAe:return ROt;case IAe:return jOt;case OAe:return $Ot}return a});const XA=dT;var PAe="[object Map]",FAe="[object Set]",NAe=Object.prototype,BAe=NAe.hasOwnProperty;function oF(i){if(i==null)return!0;if(ck(i)&&(If(i)||typeof i=="string"||typeof i.splice=="function"||zA(i)||AW(i)||$A(i)))return!i.length;var a=XA(i);if(a==PAe||a==FAe)return!i.size;if(_W(i))return!NOt(i).length;for(var f in i)if(BAe.call(i,f))return!1;return!0}const RAe="graphics-document document";function jAe(i,a){i.attr("role",RAe),a!==""&&i.attr("aria-roledescription",a)}function $Ae(i,a,f,p){if(i.insert!==void 0){if(f){const w=`chart-desc-${p}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${p}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const zAe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function qOt(i){return typeof i>"u"||i===null}function qAe(i){return typeof i=="object"&&i!==null}function HAe(i){return Array.isArray(i)?i:qOt(i)?[]:[i]}function VAe(i,a){var f,p,w,m;if(a)for(m=Object.keys(a),f=0,p=m.length;fE&&(m=" ... ",a=p-E+m.length),f-p>E&&(b=" ...",f=p+E-b.length),{str:m+i.slice(a,f).replace(/\t/g,"→")+b,pos:p-a+m.length}}function Adt(i,a){return bg.repeat(" ",a-i.length)+i}function JAe(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);for(var f=/\r?\n|\r|\0/g,p=[0],w=[],m,b=-1;m=f.exec(i.buffer);)w.push(m.index),p.push(m.index+m[0].length),i.position<=m.index&&b<0&&(b=p.length-2);b<0&&(b=p.length-1);var E="",_,A,I=Math.min(i.line+a.linesAfter,w.length).toString().length,B=a.maxLength-(a.indent+I+3);for(_=1;_<=a.linesBefore&&!(b-_<0);_++)A=Sdt(i.buffer,p[b-_],w[b-_],i.position-(p[b]-p[b-_]),B),E=bg.repeat(" ",a.indent)+Adt((i.line-_+1).toString(),I)+" | "+A.str+` +`+E;for(A=Sdt(i.buffer,p[b],w[b],i.position,B),E+=bg.repeat(" ",a.indent)+Adt((i.line+1).toString(),I)+" | "+A.str+` +`,E+=bg.repeat("-",a.indent+I+3+A.pos)+`^ +`,_=1;_<=a.linesAfter&&!(b+_>=w.length);_++)A=Sdt(i.buffer,p[b+_],w[b+_],i.position-(p[b]-p[b+_]),B),E+=bg.repeat(" ",a.indent)+Adt((i.line+_+1).toString(),I)+" | "+A.str+` +`;return E.replace(/\n$/,"")}var tLe=JAe,eLe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],nLe=["scalar","sequence","mapping"];function rLe(i){var a={};return i!==null&&Object.keys(i).forEach(function(f){i[f].forEach(function(p){a[String(p)]=f})}),a}function iLe(i,a){if(a=a||{},Object.keys(a).forEach(function(f){if(eLe.indexOf(f)===-1)throw new A5('Unknown option "'+f+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(f){return f},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=rLe(a.styleAliases||null),nLe.indexOf(this.kind)===-1)throw new A5('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var T0=iLe;function VOt(i,a){var f=[];return i[a].forEach(function(p){var w=f.length;f.forEach(function(m,b){m.tag===p.tag&&m.kind===p.kind&&m.multi===p.multi&&(w=b)}),f[w]=p}),f}function sLe(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},a,f;function p(w){w.multi?(i.multi[w.kind].push(w),i.multi.fallback.push(w)):i[w.kind][w.tag]=i.fallback[w.tag]=w}for(a=0,f=arguments.length;a=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),_Le=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function SLe(i){return!(i===null||!_Le.test(i)||i[i.length-1]==="_")}function ALe(i){var a,f;return a=i.replace(/_/g,"").toLowerCase(),f=a[0]==="-"?-1:1,"+-".indexOf(a[0])>=0&&(a=a.slice(1)),a===".inf"?f===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:a===".nan"?NaN:f*parseFloat(a,10)}var LLe=/^[-+]?[0-9]+e/;function MLe(i,a){var f;if(isNaN(i))switch(a){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(a){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(a){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(bg.isNegativeZero(i))return"-0.0";return f=i.toString(10),LLe.test(f)?f.replace("e",".e"):f}function DLe(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||bg.isNegativeZero(i))}var ILe=new T0("tag:yaml.org,2002:float",{kind:"scalar",resolve:SLe,construct:ALe,predicate:DLe,represent:MLe,defaultStyle:"lowercase"}),GOt=lLe.extend({implicit:[gLe,vLe,CLe,ILe]}),OLe=GOt,UOt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),WOt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function PLe(i){return i===null?!1:UOt.exec(i)!==null||WOt.exec(i)!==null}function FLe(i){var a,f,p,w,m,b,E,_=0,A=null,I,B,N;if(a=UOt.exec(i),a===null&&(a=WOt.exec(i)),a===null)throw new Error("Date resolve error");if(f=+a[1],p=+a[2]-1,w=+a[3],!a[4])return new Date(Date.UTC(f,p,w));if(m=+a[4],b=+a[5],E=+a[6],a[7]){for(_=a[7].slice(0,3);_.length<3;)_+="0";_=+_}return a[9]&&(I=+a[10],B=+(a[11]||0),A=(I*60+B)*6e4,a[9]==="-"&&(A=-A)),N=new Date(Date.UTC(f,p,w,m,b,E,_)),A&&N.setTime(N.getTime()-A),N}function NLe(i){return i.toISOString()}var BLe=new T0("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:PLe,construct:FLe,instanceOf:Date,represent:NLe});function RLe(i){return i==="<<"||i===null}var jLe=new T0("tag:yaml.org,2002:merge",{kind:"scalar",resolve:RLe}),Mdt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function $Le(i){if(i===null)return!1;var a,f,p=0,w=i.length,m=Mdt;for(f=0;f64)){if(a<0)return!1;p+=6}return p%8===0}function zLe(i){var a,f,p=i.replace(/[\r\n=]/g,""),w=p.length,m=Mdt,b=0,E=[];for(a=0;a>16&255),E.push(b>>8&255),E.push(b&255)),b=b<<6|m.indexOf(p.charAt(a));return f=w%4*6,f===0?(E.push(b>>16&255),E.push(b>>8&255),E.push(b&255)):f===18?(E.push(b>>10&255),E.push(b>>2&255)):f===12&&E.push(b>>4&255),new Uint8Array(E)}function qLe(i){var a="",f=0,p,w,m=i.length,b=Mdt;for(p=0;p>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]),f=(f<<8)+i[p];return w=m%3,w===0?(a+=b[f>>18&63],a+=b[f>>12&63],a+=b[f>>6&63],a+=b[f&63]):w===2?(a+=b[f>>10&63],a+=b[f>>4&63],a+=b[f<<2&63],a+=b[64]):w===1&&(a+=b[f>>2&63],a+=b[f<<4&63],a+=b[64],a+=b[64]),a}function HLe(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var VLe=new T0("tag:yaml.org,2002:binary",{kind:"scalar",resolve:$Le,construct:zLe,predicate:HLe,represent:qLe}),GLe=Object.prototype.hasOwnProperty,ULe=Object.prototype.toString;function WLe(i){if(i===null)return!0;var a=[],f,p,w,m,b,E=i;for(f=0,p=E.length;f>10)+55296,(i-65536&1023)+56320)}for(var ePt=new Array(256),nPt=new Array(256),ZA=0;ZA<256;ZA++)ePt[ZA]=tPt(ZA)?1:0,nPt[ZA]=tPt(ZA);function dMe(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||iMe,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function rPt(i,a){var f={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return f.snippet=tLe(f),new A5(a,f)}function Ss(i,a){throw rPt(i,a)}function WW(i,a){i.onWarning&&i.onWarning.call(null,rPt(i,a))}var iPt={YAML:function(a,f,p){var w,m,b;a.version!==null&&Ss(a,"duplication of %YAML directive"),p.length!==1&&Ss(a,"YAML directive accepts exactly one argument"),w=/^([0-9]+)\.([0-9]+)$/.exec(p[0]),w===null&&Ss(a,"ill-formed argument of the YAML directive"),m=parseInt(w[1],10),b=parseInt(w[2],10),m!==1&&Ss(a,"unacceptable YAML version of the document"),a.version=p[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&WW(a,"unsupported YAML version of the document")},TAG:function(a,f,p){var w,m;p.length!==2&&Ss(a,"TAG directive accepts exactly two arguments"),w=p[0],m=p[1],QOt.test(w)||Ss(a,"ill-formed tag handle (first argument) of the TAG directive"),lk.call(a.tagMap,w)&&Ss(a,'there is a previously declared suffix for "'+w+'" tag handle'),ZOt.test(m)||Ss(a,"ill-formed tag prefix (second argument) of the TAG directive");try{m=decodeURIComponent(m)}catch{Ss(a,"tag prefix is malformed: "+m)}a.tagMap[w]=m}};function hk(i,a,f,p){var w,m,b,E;if(a1&&(i.result+=bg.repeat(` +`,a-1))}function gMe(i,a,f){var p,w,m,b,E,_,A,I,B=i.kind,N=i.result,R;if(R=i.input.charCodeAt(i.position),dp(R)||QA(R)||R===35||R===38||R===42||R===33||R===124||R===62||R===39||R===34||R===37||R===64||R===96||(R===63||R===45)&&(w=i.input.charCodeAt(i.position+1),dp(w)||f&&QA(w)))return!1;for(i.kind="scalar",i.result="",m=b=i.position,E=!1;R!==0;){if(R===58){if(w=i.input.charCodeAt(i.position+1),dp(w)||f&&QA(w))break}else if(R===35){if(p=i.input.charCodeAt(i.position-1),dp(p))break}else{if(i.position===i.lineStart&&YW(i)||f&&QA(R))break;if(g3(R))if(_=i.line,A=i.lineStart,I=i.lineIndent,Pf(i,!1,-1),i.lineIndent>=a){E=!0,R=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=_,i.lineStart=A,i.lineIndent=I;break}}E&&(hk(i,m,b,!1),Odt(i,i.line-_),m=b=i.position,E=!1),gT(R)||(b=i.position+1),R=i.input.charCodeAt(++i.position)}return hk(i,m,b,!1),i.result?!0:(i.kind=B,i.result=N,!1)}function pMe(i,a){var f,p,w;if(f=i.input.charCodeAt(i.position),f!==39)return!1;for(i.kind="scalar",i.result="",i.position++,p=w=i.position;(f=i.input.charCodeAt(i.position))!==0;)if(f===39)if(hk(i,p,i.position,!0),f=i.input.charCodeAt(++i.position),f===39)p=i.position,i.position++,w=i.position;else return!0;else g3(f)?(hk(i,p,w,!0),Odt(i,Pf(i,!1,a)),p=w=i.position):i.position===i.lineStart&&YW(i)?Ss(i,"unexpected end of the document within a single quoted scalar"):(i.position++,w=i.position);Ss(i,"unexpected end of the stream within a single quoted scalar")}function bMe(i,a){var f,p,w,m,b,E;if(E=i.input.charCodeAt(i.position),E!==34)return!1;for(i.kind="scalar",i.result="",i.position++,f=p=i.position;(E=i.input.charCodeAt(i.position))!==0;){if(E===34)return hk(i,f,i.position,!0),i.position++,!0;if(E===92){if(hk(i,f,i.position,!0),E=i.input.charCodeAt(++i.position),g3(E))Pf(i,!1,a);else if(E<256&&ePt[E])i.result+=nPt[E],i.position++;else if((b=lMe(E))>0){for(w=b,m=0;w>0;w--)E=i.input.charCodeAt(++i.position),(b=uMe(E))>=0?m=(m<<4)+b:Ss(i,"expected hexadecimal character");i.result+=fMe(m),i.position++}else Ss(i,"unknown escape sequence");f=p=i.position}else g3(E)?(hk(i,f,p,!0),Odt(i,Pf(i,!1,a)),f=p=i.position):i.position===i.lineStart&&YW(i)?Ss(i,"unexpected end of the document within a double quoted scalar"):(i.position++,p=i.position)}Ss(i,"unexpected end of the stream within a double quoted scalar")}function wMe(i,a){var f=!0,p,w,m,b=i.tag,E,_=i.anchor,A,I,B,N,R,z=Object.create(null),W,et,st,at;if(at=i.input.charCodeAt(i.position),at===91)I=93,R=!1,E=[];else if(at===123)I=125,R=!0,E={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=E),at=i.input.charCodeAt(++i.position);at!==0;){if(Pf(i,!0,a),at=i.input.charCodeAt(i.position),at===I)return i.position++,i.tag=b,i.anchor=_,i.kind=R?"mapping":"sequence",i.result=E,!0;f?at===44&&Ss(i,"expected the node content, but found ','"):Ss(i,"missed comma between flow collection entries"),et=W=st=null,B=N=!1,at===63&&(A=i.input.charCodeAt(i.position+1),dp(A)&&(B=N=!0,i.position++,Pf(i,!0,a))),p=i.line,w=i.lineStart,m=i.position,tL(i,a,GW,!1,!0),et=i.tag,W=i.result,Pf(i,!0,a),at=i.input.charCodeAt(i.position),(N||i.line===p)&&at===58&&(B=!0,at=i.input.charCodeAt(++i.position),Pf(i,!0,a),tL(i,a,GW,!1,!0),st=i.result),R?JA(i,E,z,et,W,st,p,w,m):B?E.push(JA(i,null,z,et,W,st,p,w,m)):E.push(W),Pf(i,!0,a),at=i.input.charCodeAt(i.position),at===44?(f=!0,at=i.input.charCodeAt(++i.position)):f=!1}Ss(i,"unexpected end of the stream within a flow collection")}function vMe(i,a){var f,p,w=Ddt,m=!1,b=!1,E=a,_=0,A=!1,I,B;if(B=i.input.charCodeAt(i.position),B===124)p=!1;else if(B===62)p=!0;else return!1;for(i.kind="scalar",i.result="";B!==0;)if(B=i.input.charCodeAt(++i.position),B===43||B===45)Ddt===w?w=B===43?XOt:sMe:Ss(i,"repeat of a chomping mode identifier");else if((I=hMe(B))>=0)I===0?Ss(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?Ss(i,"repeat of an indentation width identifier"):(E=a+I-1,b=!0);else break;if(gT(B)){do B=i.input.charCodeAt(++i.position);while(gT(B));if(B===35)do B=i.input.charCodeAt(++i.position);while(!g3(B)&&B!==0)}for(;B!==0;){for(Idt(i),i.lineIndent=0,B=i.input.charCodeAt(i.position);(!b||i.lineIndentE&&(E=i.lineIndent),g3(B)){_++;continue}if(i.lineIndenta)&&_!==0)Ss(i,"bad indentation of a sequence entry");else if(i.lineIndenta)&&(et&&(b=i.line,E=i.lineStart,_=i.position),tL(i,a,UW,!0,w)&&(et?z=i.result:W=i.result),et||(JA(i,B,N,R,z,W,b,E,_),R=z=W=null),Pf(i,!0,-1),at=i.input.charCodeAt(i.position)),(i.line===m||i.lineIndent>a)&&at!==0)Ss(i,"bad indentation of a mapping entry");else if(i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndenta?_=1:i.lineIndent===a?_=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),B=0,N=i.implicitTypes.length;B"),i.result!==null&&z.kind!==i.kind&&Ss(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+z.kind+'", not "'+i.kind+'"'),z.resolve(i.result,i.tag)?(i.result=z.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):Ss(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||I}function EMe(i){var a=i.position,f,p,w,m=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(Pf(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(m=!0,b=i.input.charCodeAt(++i.position),f=i.position;b!==0&&!dp(b);)b=i.input.charCodeAt(++i.position);for(p=i.input.slice(f,i.position),w=[],p.length<1&&Ss(i,"directive name must not be less than one character in length");b!==0;){for(;gT(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!g3(b));break}if(g3(b))break;for(f=i.position;b!==0&&!dp(b);)b=i.input.charCodeAt(++i.position);w.push(i.input.slice(f,i.position))}b!==0&&Idt(i),lk.call(iPt,p)?iPt[p](i,p,w):WW(i,'unknown document directive "'+p+'"')}if(Pf(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,Pf(i,!0,-1)):m&&Ss(i,"directives end mark is expected"),tL(i,i.lineIndent-1,UW,!1,!0),Pf(i,!0,-1),i.checkLineBreaks&&oMe.test(i.input.slice(a,i.position))&&WW(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&YW(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,Pf(i,!0,-1));return}if(i.position"u"&&(f=a,a=null);var p=oPt(i,f);if(typeof a!="function")return p;for(var w=0,m=p.length;wi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(a,f,p)=>"<"+f+p.replace(/="([^"]*)"/g,"='$1'")+">"),OMe=i=>{const{text:a,metadata:f}=DMe(i),{displayMode:p,title:w,config:m={}}=f;return p&&(m.gantt||(m.gantt={}),m.gantt.displayMode=p),{title:w,config:m,text:a}},PMe=i=>{const a=$a.detectInit(i)??{},f=$a.detectDirective(i,"wrap");return Array.isArray(f)?a.wrap=f.some(({type:p})=>{}):(f==null?void 0:f.type)==="wrap"&&(a.wrap=!0),{text:nSe(i),directive:a}};function FMe(i){const a=IMe(i),f=OMe(a),p=PMe(f.text),w=rF(f.config,p.directive);return i=zAe(p.text),{code:i,title:f.title,config:w}}const NMe=5e4,BMe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",RMe="sandbox",jMe="loose",$Me="http://www.w3.org/2000/svg",zMe="http://www.w3.org/1999/xlink",qMe="http://www.w3.org/1999/xhtml",HMe="100%",VMe="100%",GMe="border:0;margin:0;",UMe="margin:0",WMe="allow-top-navigation-by-user-activation allow-popups",YMe='The "iframe" tag is not supported by your browser.',KMe=["foreignobject"],XMe=["dominant-baseline"];function cPt(i){const a=FMe(i);return $W(),FSe(a.config??{}),a}async function QMe(i,a){xdt(),i=cPt(i).code;try{await kdt(i)}catch(f){if(a!=null&&a.suppressErrors)return!1;throw f}return!0}const ZMe=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(f){return f.substring(0,f.length-1)}),a=a.replace(/#\w+;/g,function(f){const p=f.substring(1,f.length-1);return/^\+?\d+$/.test(p)?"fl°°"+p+"¶ß":"fl°"+p+"¶ß"}),a},uF=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},uPt=(i,a,f=[])=>` +.${i} ${a} { ${f.join(" !important; ")} !important; }`,JMe=(i,a={})=>{var p;let f="";if(i.themeCSS!==void 0&&(f+=` +${i.themeCSS}`),i.fontFamily!==void 0&&(f+=` +:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(f+=` +:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!oF(a)){const E=i.htmlLabels||((p=i.flowchart)==null?void 0:p.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const _ in a){const A=a[_];oF(A.styles)||E.forEach(I=>{f+=uPt(A.id,I,A.styles)}),oF(A.textStyles)||(f+=uPt(A.id,"tspan",A.textStyles))}}return f},tDe=(i,a,f,p)=>{const w=JMe(i,f),m=sAe(a,w,i.themeVariables);return pdt(LSe(`${p}{${m}}`),DSe)},eDe=(i="",a,f)=>{let p=i;return!f&&!a&&(p=p.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),p=uF(p),p=p.replace(/
    /g,"
    "),p},nDe=(i="",a)=>{var w,m;const f=(m=(w=a==null?void 0:a.viewBox)==null?void 0:w.baseVal)!=null&&m.height?a.viewBox.baseVal.height+"px":VMe,p=btoa(''+i+"");return``},lPt=(i,a,f,p,w)=>{const m=i.append("div");m.attr("id",f),p&&m.attr("style",p);const b=m.append("svg").attr("id",a).attr("width","100%").attr("xmlns",$Me);return w&&b.attr("xmlns:xlink",w),b.append("g"),i};function hPt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const rDe=(i,a,f,p)=>{var w,m,b;(w=i.getElementById(a))==null||w.remove(),(m=i.getElementById(f))==null||m.remove(),(b=i.getElementById(p))==null||b.remove()},iDe=async function(i,a,f){var nt,It,Ot,Bt,Et,Z;xdt();const p=cPt(a);a=p.code;const w=Fd();Ut.debug(w),a.length>((w==null?void 0:w.maxTextSize)??NMe)&&(a=BMe);const m="#"+i,b="i"+i,E="#"+b,_="d"+i,A="#"+_;let I=yr("body");const B=w.securityLevel===RMe,N=w.securityLevel===jMe,R=w.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),B){const Ct=hPt(yr(f),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr(f);lPt(I,i,_,`font-family: ${R}`,zMe)}else{if(rDe(document,i,_,b),B){const Ct=hPt(yr("body"),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr("body");lPt(I,i,_)}a=ZMe(a);let z,W;try{z=await kdt(a,{title:p.title})}catch(Ct){z=new FOt("error"),W=Ct}const et=I.select(A).node(),st=z.type,at=et.firstChild,bt=at.firstChild,mt=(It=(nt=z.renderer).getClasses)==null?void 0:It.call(nt,a,z),yt=tDe(w,st,mt,m),ft=document.createElement("style");ft.innerHTML=yt,at.insertBefore(ft,bt);try{await z.renderer.draw(a,i,nOt,z)}catch(Ct){throw fAe.draw(a,i,nOt),Ct}const ut=I.select(`${A} svg`),vt=(Bt=(Ot=z.db).getAccTitle)==null?void 0:Bt.call(Ot),X=(Z=(Et=z.db).getAccDescription)==null?void 0:Z.call(Et);aDe(st,ut,vt,X),I.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",qMe);let pt=I.select(A).node().innerHTML;if(Ut.debug("config.arrowMarkerAbsolute",w.arrowMarkerAbsolute),pt=eDe(pt,B,o1(w.arrowMarkerAbsolute)),B){const Ct=I.select(A+" svg").node();pt=nDe(pt,Ct)}else N||(pt=lW.sanitize(pt,{ADD_TAGS:KMe,ADD_ATTR:XMe}));if(mAe(),W)throw W;const Tt=yr(B?E:A).node();return Tt&&"remove"in Tt&&Tt.remove(),{svg:pt,bindFunctions:z.db.bindFunctions}};function sDe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),OSe(i),i!=null&&i.theme&&i.theme in T5?i.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=T5.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?ISe(i):iOt();Xft(a.logLevel),xdt()}function aDe(i,a,f,p){jAe(a,i),$Ae(a,f,p,a.attr("id"))}const pT=Object.freeze({render:iDe,parse:QMe,getDiagramFromText:kdt,initialize:sDe,getConfig:Fd,setConfig:sOt,getSiteConfig:iOt,updateSiteConfig:PSe,reset:()=>{$W()},globalReset:()=>{$W(WA)},defaultConfig:WA});Xft(Fd().logLevel),$W(Fd());const oDe=async()=>{Ut.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(NA).map(async([f,{detector:p,loader:w}])=>{if(w)try{ydt(f)}catch{try{const{diagram:b,id:E}=await w();HW(E,b,p)}catch(b){throw Ut.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete NA[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Ut.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Ut.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},cDe=(i,a,f)=>{Ut.warn(i),WIt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},fPt=async function(i={querySelector:".mermaid"}){try{await uDe(i)}catch(a){if(WIt(a)&&Ut.error(a.str),Bb.parseError&&Bb.parseError(a),!i.suppressErrors)throw Ut.error("Use the suppressErrors option to suppress these errors"),a}},uDe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const p=pT.getConfig();Ut.debug(`${i?"":"No "}Callback function found`);let w;if(f)w=f;else if(a)w=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Ut.debug(`Found ${w.length} diagrams`),(p==null?void 0:p.startOnLoad)!==void 0&&(Ut.debug("Start On Load: "+(p==null?void 0:p.startOnLoad)),pT.updateSiteConfig({startOnLoad:p==null?void 0:p.startOnLoad}));const m=new $a.InitIDGenerator(p.deterministicIds,p.deterministicIDSeed);let b;const E=[];for(const _ of Array.from(w)){Ut.info("Rendering diagram: "+_.id);/*! Check if previously processed */if(_.getAttribute("data-processed"))continue;_.setAttribute("data-processed","true");const A=`mermaid-${m.next()}`;b=_.innerHTML,b=xA($a.entityDecode(b)).trim().replace(//gi,"
    ");const I=$a.detectInit(b);I&&Ut.debug("Detected early reinit: ",I);try{const{svg:B,bindFunctions:N}=await bPt(A,b,_);_.innerHTML=B,i&&await i(A),N&&N(_)}catch(B){cDe(B,E,Bb.parseError)}}if(E.length>0)throw E[0]},dPt=function(i){pT.initialize(i)},lDe=async function(i,a,f){Ut.warn("mermaid.init is deprecated. Please use run instead."),i&&dPt(i);const p={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?p.querySelector=a:a&&(a instanceof HTMLElement?p.nodes=[a]:p.nodes=a),await fPt(p)},hDe=async(i,{lazyLoad:a=!0}={})=>{cIt(...i),a===!1&&await oDe()},gPt=function(){if(Bb.startOnLoad){const{startOnLoad:i}=pT.getConfig();i&&Bb.run().catch(a=>Ut.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",gPt,!1)}const fDe=function(i){Bb.parseError=i},KW=[];let Pdt=!1;const pPt=async()=>{if(!Pdt){for(Pdt=!0;KW.length>0;){const i=KW.shift();if(i)try{await i()}catch(a){Ut.error("Error executing queue",a)}}Pdt=!1}},dDe=async(i,a)=>new Promise((f,p)=>{const w=()=>new Promise((m,b)=>{pT.parse(i,a).then(E=>{m(E),f(E)},E=>{var _;Ut.error("Error parsing",E),(_=Bb.parseError)==null||_.call(Bb,E),b(E),p(E)})});KW.push(w),pPt().catch(p)}),bPt=(i,a,f)=>new Promise((p,w)=>{const m=()=>new Promise((b,E)=>{pT.render(i,a,f).then(_=>{b(_),p(_)},_=>{var A;Ut.error("Error parsing",_),(A=Bb.parseError)==null||A.call(Bb,_),E(_),w(_)})});KW.push(m),pPt().catch(w)}),Bb={startOnLoad:!0,mermaidAPI:pT,parse:dDe,render:bPt,init:lDe,run:fPt,registerExternalDiagrams:hDe,initialize:dPt,parseError:void 0,contentLoaded:gPt,setParseErrorHandler:fDe,detectType:yW};var XW=function(){var i=function(Xi,Er,Xn,di){for(Xn=Xn||{},di=Xi.length;di--;Xn[Xi[di]]=Er);return Xn},a=[1,24],f=[1,25],p=[1,26],w=[1,27],m=[1,28],b=[1,63],E=[1,64],_=[1,65],A=[1,66],I=[1,67],B=[1,68],N=[1,69],R=[1,29],z=[1,30],W=[1,31],et=[1,32],st=[1,33],at=[1,34],bt=[1,35],mt=[1,36],yt=[1,37],ft=[1,38],ut=[1,39],vt=[1,40],X=[1,41],pt=[1,42],U=[1,43],Tt=[1,44],nt=[1,45],It=[1,46],Ot=[1,47],Bt=[1,48],Et=[1,50],Z=[1,51],Ct=[1,52],xt=[1,53],Ht=[1,54],Le=[1,55],Ft=[1,56],gn=[1,57],Se=[1,58],me=[1,59],Ve=[1,60],Ye=[14,42],ce=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ke=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],zt=[1,82],re=[1,83],se=[1,84],Pe=[1,85],te=[12,14,42],Me=[12,14,33,42],de=[12,14,33,42,76,77,79,80],on=[12,33],ni=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ks={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(Er,Xn,di,Ee,Kn,He,Ti){var pn=He.length-1;switch(Kn){case 3:Ee.setDirection("TB");break;case 4:Ee.setDirection("BT");break;case 5:Ee.setDirection("RL");break;case 6:Ee.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ee.setC4Type(He[pn-3]);break;case 19:Ee.setTitle(He[pn].substring(6)),this.$=He[pn].substring(6);break;case 20:Ee.setAccDescription(He[pn].substring(15)),this.$=He[pn].substring(15);break;case 21:this.$=He[pn].trim(),Ee.setTitle(this.$);break;case 22:case 23:this.$=He[pn].trim(),Ee.setAccDescription(this.$);break;case 28:case 29:He[pn].splice(2,0,"ENTERPRISE"),Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 30:Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 31:He[pn].splice(2,0,"CONTAINER"),Ee.addContainerBoundary(...He[pn]),this.$=He[pn];break;case 32:Ee.addDeploymentNode("node",...He[pn]),this.$=He[pn];break;case 33:Ee.addDeploymentNode("nodeL",...He[pn]),this.$=He[pn];break;case 34:Ee.addDeploymentNode("nodeR",...He[pn]),this.$=He[pn];break;case 35:Ee.popBoundaryParseStack();break;case 39:Ee.addPersonOrSystem("person",...He[pn]),this.$=He[pn];break;case 40:Ee.addPersonOrSystem("external_person",...He[pn]),this.$=He[pn];break;case 41:Ee.addPersonOrSystem("system",...He[pn]),this.$=He[pn];break;case 42:Ee.addPersonOrSystem("system_db",...He[pn]),this.$=He[pn];break;case 43:Ee.addPersonOrSystem("system_queue",...He[pn]),this.$=He[pn];break;case 44:Ee.addPersonOrSystem("external_system",...He[pn]),this.$=He[pn];break;case 45:Ee.addPersonOrSystem("external_system_db",...He[pn]),this.$=He[pn];break;case 46:Ee.addPersonOrSystem("external_system_queue",...He[pn]),this.$=He[pn];break;case 47:Ee.addContainer("container",...He[pn]),this.$=He[pn];break;case 48:Ee.addContainer("container_db",...He[pn]),this.$=He[pn];break;case 49:Ee.addContainer("container_queue",...He[pn]),this.$=He[pn];break;case 50:Ee.addContainer("external_container",...He[pn]),this.$=He[pn];break;case 51:Ee.addContainer("external_container_db",...He[pn]),this.$=He[pn];break;case 52:Ee.addContainer("external_container_queue",...He[pn]),this.$=He[pn];break;case 53:Ee.addComponent("component",...He[pn]),this.$=He[pn];break;case 54:Ee.addComponent("component_db",...He[pn]),this.$=He[pn];break;case 55:Ee.addComponent("component_queue",...He[pn]),this.$=He[pn];break;case 56:Ee.addComponent("external_component",...He[pn]),this.$=He[pn];break;case 57:Ee.addComponent("external_component_db",...He[pn]),this.$=He[pn];break;case 58:Ee.addComponent("external_component_queue",...He[pn]),this.$=He[pn];break;case 60:Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 61:Ee.addRel("birel",...He[pn]),this.$=He[pn];break;case 62:Ee.addRel("rel_u",...He[pn]),this.$=He[pn];break;case 63:Ee.addRel("rel_d",...He[pn]),this.$=He[pn];break;case 64:Ee.addRel("rel_l",...He[pn]),this.$=He[pn];break;case 65:Ee.addRel("rel_r",...He[pn]),this.$=He[pn];break;case 66:Ee.addRel("rel_b",...He[pn]),this.$=He[pn];break;case 67:He[pn].splice(0,1),Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 68:Ee.updateElStyle("update_el_style",...He[pn]),this.$=He[pn];break;case 69:Ee.updateRelStyle("update_rel_style",...He[pn]),this.$=He[pn];break;case 70:Ee.updateLayoutConfig("update_layout_config",...He[pn]),this.$=He[pn];break;case 71:this.$=[He[pn]];break;case 72:He[pn].unshift(He[pn-1]),this.$=He[pn];break;case 73:case 75:this.$=He[pn].trim();break;case 74:let Es={};Es[He[pn-1].trim()]=He[pn].trim(),this.$=Es;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:70,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:71,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:72,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:73,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{14:[1,74]},i(Ye,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(Ye,[2,14]),i(ce,[2,16],{12:[1,76]}),i(Ye,[2,36],{12:[1,77]}),i(ke,[2,19]),i(ke,[2,20]),{25:[1,78]},{27:[1,79]},i(ke,[2,23]),{35:80,75:81,76:zt,77:re,79:se,80:Pe},{35:86,75:81,76:zt,77:re,79:se,80:Pe},{35:87,75:81,76:zt,77:re,79:se,80:Pe},{35:88,75:81,76:zt,77:re,79:se,80:Pe},{35:89,75:81,76:zt,77:re,79:se,80:Pe},{35:90,75:81,76:zt,77:re,79:se,80:Pe},{35:91,75:81,76:zt,77:re,79:se,80:Pe},{35:92,75:81,76:zt,77:re,79:se,80:Pe},{35:93,75:81,76:zt,77:re,79:se,80:Pe},{35:94,75:81,76:zt,77:re,79:se,80:Pe},{35:95,75:81,76:zt,77:re,79:se,80:Pe},{35:96,75:81,76:zt,77:re,79:se,80:Pe},{35:97,75:81,76:zt,77:re,79:se,80:Pe},{35:98,75:81,76:zt,77:re,79:se,80:Pe},{35:99,75:81,76:zt,77:re,79:se,80:Pe},{35:100,75:81,76:zt,77:re,79:se,80:Pe},{35:101,75:81,76:zt,77:re,79:se,80:Pe},{35:102,75:81,76:zt,77:re,79:se,80:Pe},{35:103,75:81,76:zt,77:re,79:se,80:Pe},{35:104,75:81,76:zt,77:re,79:se,80:Pe},i(te,[2,59]),{35:105,75:81,76:zt,77:re,79:se,80:Pe},{35:106,75:81,76:zt,77:re,79:se,80:Pe},{35:107,75:81,76:zt,77:re,79:se,80:Pe},{35:108,75:81,76:zt,77:re,79:se,80:Pe},{35:109,75:81,76:zt,77:re,79:se,80:Pe},{35:110,75:81,76:zt,77:re,79:se,80:Pe},{35:111,75:81,76:zt,77:re,79:se,80:Pe},{35:112,75:81,76:zt,77:re,79:se,80:Pe},{35:113,75:81,76:zt,77:re,79:se,80:Pe},{35:114,75:81,76:zt,77:re,79:se,80:Pe},{35:115,75:81,76:zt,77:re,79:se,80:Pe},{20:116,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{12:[1,118],33:[1,117]},{35:119,75:81,76:zt,77:re,79:se,80:Pe},{35:120,75:81,76:zt,77:re,79:se,80:Pe},{35:121,75:81,76:zt,77:re,79:se,80:Pe},{35:122,75:81,76:zt,77:re,79:se,80:Pe},{35:123,75:81,76:zt,77:re,79:se,80:Pe},{35:124,75:81,76:zt,77:re,79:se,80:Pe},{35:125,75:81,76:zt,77:re,79:se,80:Pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(Ye,[2,15]),i(ce,[2,17],{21:22,19:130,22:a,23:f,24:p,26:w,28:m}),i(Ye,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:f,24:p,26:w,28:m,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(ke,[2,21]),i(ke,[2,22]),i(te,[2,39]),i(Me,[2,71],{75:81,35:132,76:zt,77:re,79:se,80:Pe}),i(de,[2,73]),{78:[1,133]},i(de,[2,75]),i(de,[2,76]),i(te,[2,40]),i(te,[2,41]),i(te,[2,42]),i(te,[2,43]),i(te,[2,44]),i(te,[2,45]),i(te,[2,46]),i(te,[2,47]),i(te,[2,48]),i(te,[2,49]),i(te,[2,50]),i(te,[2,51]),i(te,[2,52]),i(te,[2,53]),i(te,[2,54]),i(te,[2,55]),i(te,[2,56]),i(te,[2,57]),i(te,[2,58]),i(te,[2,60]),i(te,[2,61]),i(te,[2,62]),i(te,[2,63]),i(te,[2,64]),i(te,[2,65]),i(te,[2,66]),i(te,[2,67]),i(te,[2,68]),i(te,[2,69]),i(te,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(on,[2,28]),i(on,[2,29]),i(on,[2,30]),i(on,[2,31]),i(on,[2,32]),i(on,[2,33]),i(on,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(ce,[2,18]),i(Ye,[2,38]),i(Me,[2,72]),i(de,[2,74]),i(te,[2,24]),i(te,[2,35]),i(ni,[2,25]),i(ni,[2,26],{12:[1,138]}),i(ni,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(Er,Xn){if(Xn.recoverable)this.trace(Er);else{var di=new Error(Er);throw di.hash=Xn,di}},parse:function(Er){var Xn=this,di=[0],Ee=[],Kn=[null],He=[],Ti=this.table,pn="",Es=0,qa=0,Ma=2,Gs=1,Po=He.slice.call(arguments,1),vs=Object.create(this.lexer),ru={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(ru.yy[zs]=this.yy[zs]);vs.setInput(Er,ru.yy),ru.yy.lexer=vs,ru.yy.parser=this,typeof vs.yylloc>"u"&&(vs.yylloc={});var Du=vs.yylloc;He.push(Du);var pm=vs.options&&vs.options.ranges;typeof ru.yy.parseError=="function"?this.parseError=ru.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function uw(){var Dl;return Dl=Ee.pop()||vs.lex()||Gs,typeof Dl!="number"&&(Dl instanceof Array&&(Ee=Dl,Dl=Ee.pop()),Dl=Xn.symbols_[Dl]||Dl),Dl}for(var Wu,th,Fa,Ml,ha={},bc,Cc,pa,Da;;){if(th=di[di.length-1],this.defaultActions[th]?Fa=this.defaultActions[th]:((Wu===null||typeof Wu>"u")&&(Wu=uw()),Fa=Ti[th]&&Ti[th][Wu]),typeof Fa>"u"||!Fa.length||!Fa[0]){var Ha="";Da=[];for(bc in Ti[th])this.terminals_[bc]&&bc>Ma&&Da.push("'"+this.terminals_[bc]+"'");vs.showPosition?Ha="Parse error on line "+(Es+1)+`: +`+vs.showPosition()+` +Expecting `+Da.join(", ")+", got '"+(this.terminals_[Wu]||Wu)+"'":Ha="Parse error on line "+(Es+1)+": Unexpected "+(Wu==Gs?"end of input":"'"+(this.terminals_[Wu]||Wu)+"'"),this.parseError(Ha,{text:vs.match,token:this.terminals_[Wu]||Wu,line:vs.yylineno,loc:Du,expected:Da})}if(Fa[0]instanceof Array&&Fa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+th+", token: "+Wu);switch(Fa[0]){case 1:di.push(Wu),Kn.push(vs.yytext),He.push(vs.yylloc),di.push(Fa[1]),Wu=null,qa=vs.yyleng,pn=vs.yytext,Es=vs.yylineno,Du=vs.yylloc;break;case 2:if(Cc=this.productions_[Fa[1]][1],ha.$=Kn[Kn.length-Cc],ha._$={first_line:He[He.length-(Cc||1)].first_line,last_line:He[He.length-1].last_line,first_column:He[He.length-(Cc||1)].first_column,last_column:He[He.length-1].last_column},pm&&(ha._$.range=[He[He.length-(Cc||1)].range[0],He[He.length-1].range[1]]),Ml=this.performAction.apply(ha,[pn,qa,Es,ru.yy,Fa[1],Kn,He].concat(Po)),typeof Ml<"u")return Ml;Cc&&(di=di.slice(0,-1*Cc*2),Kn=Kn.slice(0,-1*Cc),He=He.slice(0,-1*Cc)),di.push(this.productions_[Fa[1]][0]),Kn.push(ha.$),He.push(ha._$),pa=Ti[di[di.length-2]][di[di.length-1]],di.push(pa);break;case 3:return!0}}return!0}},ws=function(){var Xi={EOF:1,parseError:function(Xn,di){if(this.yy.parser)this.yy.parser.parseError(Xn,di);else throw new Error(Xn)},setInput:function(Er,Xn){return this.yy=Xn||this.yy||{},this._input=Er,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Er=this._input[0];this.yytext+=Er,this.yyleng++,this.offset++,this.match+=Er,this.matched+=Er;var Xn=Er.match(/(?:\r\n?|\n).*/g);return Xn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Er},unput:function(Er){var Xn=Er.length,di=Er.split(/(?:\r\n?|\n)/g);this._input=Er+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Xn),this.offset-=Xn;var Ee=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),di.length-1&&(this.yylineno-=di.length-1);var Kn=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:di?(di.length===Ee.length?this.yylloc.first_column:0)+Ee[Ee.length-di.length].length-di[0].length:this.yylloc.first_column-Xn},this.options.ranges&&(this.yylloc.range=[Kn[0],Kn[0]+this.yyleng-Xn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Er){this.unput(this.match.slice(Er))},pastInput:function(){var Er=this.matched.substr(0,this.matched.length-this.match.length);return(Er.length>20?"...":"")+Er.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Er=this.match;return Er.length<20&&(Er+=this._input.substr(0,20-Er.length)),(Er.substr(0,20)+(Er.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Er=this.pastInput(),Xn=new Array(Er.length+1).join("-");return Er+this.upcomingInput()+` +`+Xn+"^"},test_match:function(Er,Xn){var di,Ee,Kn;if(this.options.backtrack_lexer&&(Kn={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Kn.yylloc.range=this.yylloc.range.slice(0))),Ee=Er[0].match(/(?:\r\n?|\n).*/g),Ee&&(this.yylineno+=Ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ee?Ee[Ee.length-1].length-Ee[Ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Er[0].length},this.yytext+=Er[0],this.match+=Er[0],this.matches=Er,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Er[0].length),this.matched+=Er[0],di=this.performAction.call(this,this.yy,this,Xn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),di)return di;if(this._backtrack){for(var He in Kn)this[He]=Kn[He];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Er,Xn,di,Ee;this._more||(this.yytext="",this.match="");for(var Kn=this._currentRules(),He=0;HeXn[0].length)){if(Xn=di,Ee=He,this.options.backtrack_lexer){if(Er=this.test_match(di,Kn[He]),Er!==!1)return Er;if(this._backtrack){Xn=!1;continue}else return!1}else if(!this.options.flex)break}return Xn?(Er=this.test_match(Xn,Kn[Ee]),Er!==!1?Er:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Xn=this.next();return Xn||this.lex()},begin:function(Xn){this.conditionStack.push(Xn)},popState:function(){var Xn=this.conditionStack.length-1;return Xn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Xn){return Xn=this.conditionStack.length-1-Math.abs(Xn||0),Xn>=0?this.conditionStack[Xn]:"INITIAL"},pushState:function(Xn){this.begin(Xn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Xn,di,Ee,Kn){switch(Ee){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Xi}();Ks.lexer=ws;function fo(){this.yy={}}return fo.prototype=Ks,Ks.Parser=fo,new fo}();XW.parser=XW;const gDe=XW;let am=[],fk=[""],wg="global",om="",p3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],lF=[],Fdt="",Ndt=!1,QW=4,ZW=2;var wPt;const pDe=function(){return wPt},bDe=function(i){wPt=Q1(i,Oe())},wDe=function(i,a,f,p,w,m,b,E,_){if(i==null||a===void 0||a===null||f===void 0||f===null||p===void 0||p===null)return;let A={};const I=lF.find(B=>B.from===a&&B.to===f);if(I?A=I:lF.push(A),A.type=i,A.from=a,A.to=f,A.label={text:p},w==null)A.techn={text:""};else if(typeof w=="object"){let[B,N]=Object.entries(w)[0];A[B]={text:N}}else A.techn={text:w};if(m==null)A.descr={text:""};else if(typeof m=="object"){let[B,N]=Object.entries(m)[0];A[B]={text:N}}else A.descr={text:m};if(typeof b=="object"){let[B,N]=Object.entries(b)[0];A[B]=N}else A.sprite=b;if(typeof E=="object"){let[B,N]=Object.entries(E)[0];A[B]=N}else A.tags=E;if(typeof _=="object"){let[B,N]=Object.entries(_)[0];A[B]=N}else A.link=_;A.wrap=dk()},vDe=function(i,a,f,p,w,m,b){if(a===null||f===null)return;let E={};const _=am.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,am.push(E)),f==null?E.label={text:""}:E.label={text:f},p==null)E.descr={text:""};else if(typeof p=="object"){let[A,I]=Object.entries(p)[0];E[A]={text:I}}else E.descr={text:p};if(typeof w=="object"){let[A,I]=Object.entries(w)[0];E[A]=I}else E.sprite=w;if(typeof m=="object"){let[A,I]=Object.entries(m)[0];E[A]=I}else E.tags=m;if(typeof b=="object"){let[A,I]=Object.entries(b)[0];E[A]=I}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=wg,E.wrap=dk()},mDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=am.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,am.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.techn={text:""};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.techn={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof m=="object"){let[I,B]=Object.entries(m)[0];_[I]=B}else _.sprite=m;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=dk(),_.typeC4Shape={text:i},_.parentBoundary=wg},yDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=am.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,am.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.techn={text:""};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.techn={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof m=="object"){let[I,B]=Object.entries(m)[0];_[I]=B}else _.sprite=m;if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.wrap=dk(),_.typeC4Shape={text:i},_.parentBoundary=wg},xDe=function(i,a,f,p,w){if(i===null||a===null)return;let m={};const b=p3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,p3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"system"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];m[E]={text:_}}else m.type={text:f};if(typeof p=="object"){let[E,_]=Object.entries(p)[0];m[E]=_}else m.tags=p;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];m[E]=_}else m.link=w;m.parentBoundary=wg,m.wrap=dk(),om=wg,wg=i,fk.push(om)},kDe=function(i,a,f,p,w){if(i===null||a===null)return;let m={};const b=p3.find(E=>E.alias===i);if(b&&i===b.alias?m=b:(m.alias=i,p3.push(m)),a==null?m.label={text:""}:m.label={text:a},f==null)m.type={text:"container"};else if(typeof f=="object"){let[E,_]=Object.entries(f)[0];m[E]={text:_}}else m.type={text:f};if(typeof p=="object"){let[E,_]=Object.entries(p)[0];m[E]=_}else m.tags=p;if(typeof w=="object"){let[E,_]=Object.entries(w)[0];m[E]=_}else m.link=w;m.parentBoundary=wg,m.wrap=dk(),om=wg,wg=i,fk.push(om)},EDe=function(i,a,f,p,w,m,b,E){if(a===null||f===null)return;let _={};const A=p3.find(I=>I.alias===a);if(A&&a===A.alias?_=A:(_.alias=a,p3.push(_)),f==null?_.label={text:""}:_.label={text:f},p==null)_.type={text:"node"};else if(typeof p=="object"){let[I,B]=Object.entries(p)[0];_[I]={text:B}}else _.type={text:p};if(w==null)_.descr={text:""};else if(typeof w=="object"){let[I,B]=Object.entries(w)[0];_[I]={text:B}}else _.descr={text:w};if(typeof b=="object"){let[I,B]=Object.entries(b)[0];_[I]=B}else _.tags=b;if(typeof E=="object"){let[I,B]=Object.entries(E)[0];_[I]=B}else _.link=E;_.nodeType=i,_.parentBoundary=wg,_.wrap=dk(),om=wg,wg=a,fk.push(om)},TDe=function(){wg=om,fk.pop(),om=fk.pop(),fk.push(om)},CDe=function(i,a,f,p,w,m,b,E,_,A,I){let B=am.find(N=>N.alias===a);if(!(B===void 0&&(B=p3.find(N=>N.alias===a),B===void 0))){if(f!=null)if(typeof f=="object"){let[N,R]=Object.entries(f)[0];B[N]=R}else B.bgColor=f;if(p!=null)if(typeof p=="object"){let[N,R]=Object.entries(p)[0];B[N]=R}else B.fontColor=p;if(w!=null)if(typeof w=="object"){let[N,R]=Object.entries(w)[0];B[N]=R}else B.borderColor=w;if(m!=null)if(typeof m=="object"){let[N,R]=Object.entries(m)[0];B[N]=R}else B.shadowing=m;if(b!=null)if(typeof b=="object"){let[N,R]=Object.entries(b)[0];B[N]=R}else B.shape=b;if(E!=null)if(typeof E=="object"){let[N,R]=Object.entries(E)[0];B[N]=R}else B.sprite=E;if(_!=null)if(typeof _=="object"){let[N,R]=Object.entries(_)[0];B[N]=R}else B.techn=_;if(A!=null)if(typeof A=="object"){let[N,R]=Object.entries(A)[0];B[N]=R}else B.legendText=A;if(I!=null)if(typeof I=="object"){let[N,R]=Object.entries(I)[0];B[N]=R}else B.legendSprite=I}},_De=function(i,a,f,p,w,m,b){const E=lF.find(_=>_.from===a&&_.to===f);if(E!==void 0){if(p!=null)if(typeof p=="object"){let[_,A]=Object.entries(p)[0];E[_]=A}else E.textColor=p;if(w!=null)if(typeof w=="object"){let[_,A]=Object.entries(w)[0];E[_]=A}else E.lineColor=w;if(m!=null)if(typeof m=="object"){let[_,A]=Object.entries(m)[0];E[_]=parseInt(A)}else E.offsetX=parseInt(m);if(b!=null)if(typeof b=="object"){let[_,A]=Object.entries(b)[0];E[_]=parseInt(A)}else E.offsetY=parseInt(b)}},SDe=function(i,a,f){let p=QW,w=ZW;if(typeof a=="object"){const m=Object.values(a)[0];p=parseInt(m)}else p=parseInt(a);if(typeof f=="object"){const m=Object.values(f)[0];w=parseInt(m)}else w=parseInt(f);p>=1&&(QW=p),w>=1&&(ZW=w)},ADe=function(){return QW},LDe=function(){return ZW},MDe=function(){return wg},DDe=function(){return om},vPt=function(i){return i==null?am:am.filter(a=>a.parentBoundary===i)},IDe=function(i){return am.find(a=>a.alias===i)},ODe=function(i){return Object.keys(vPt(i))},PDe=function(i){return i==null?p3:p3.filter(a=>a.parentBoundary===i)},FDe=function(){return lF},NDe=function(){return Fdt},BDe=function(i){Ndt=i},dk=function(){return Ndt},Bdt={addPersonOrSystem:vDe,addPersonOrSystemBoundary:xDe,addContainer:mDe,addContainerBoundary:kDe,addComponent:yDe,addDeploymentNode:EDe,popBoundaryParseStack:TDe,addRel:wDe,updateElStyle:CDe,updateRelStyle:_De,updateLayoutConfig:SDe,autoWrap:dk,setWrap:BDe,getC4ShapeArray:vPt,getC4Shape:IDe,getC4ShapeKeys:ODe,getBoundarys:PDe,getCurrentBoundaryParse:MDe,getParentBoundaryParse:DDe,getRels:FDe,getTitle:NDe,getC4Type:pDe,getC4ShapeInRow:ADe,getC4BoundaryInRow:LDe,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,getConfig:()=>Oe().c4,clear:function(){am=[],p3=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],om="",wg="global",fk=[""],lF=[],fk=[""],Fdt="",Ndt=!1,QW=4,ZW=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Fdt=Q1(i,Oe())},setC4Type:bDe},JW=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const p in a.attrs)f.attr(p,a.attrs[p]);return a.class!==void 0&&f.attr("class",a.class),f},mPt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};JW(i,f).lower()},RDe=(i,a)=>{const f=a.text.replace(WP," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const w=p.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),p},jDe=(i,a,f,p)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const m=ik(p);w.attr("xlink:href",m)},$De=(i,a,f,p)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const m=ik(p);w.attr("xlink:href",`#${m}`)},bT=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),Rdt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),jdt=function(i,a){return JW(i,a)},yPt=function(i,a,f,p,w,m){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",p),b.attr("y",w);let E=m.startsWith("data:image/png;base64")?m:ik(m);b.attr("xlink:href",E)},zDe=(i,a,f)=>{const p=i.append("g");let w=0;for(let m of a){let b=m.textColor?m.textColor:"#444444",E=m.lineColor?m.lineColor:"#444444",_=m.offsetX?parseInt(m.offsetX):0,A=m.offsetY?parseInt(m.offsetY):0,I="";if(w===0){let N=p.append("line");N.attr("x1",m.startPoint.x),N.attr("y1",m.startPoint.y),N.attr("x2",m.endPoint.x),N.attr("y2",m.endPoint.y),N.attr("stroke-width","1"),N.attr("stroke",E),N.style("fill","none"),m.type!=="rel_b"&&N.attr("marker-end","url("+I+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&N.attr("marker-start","url("+I+"#arrowend)"),w=-1}else{let N=p.append("path");N.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",m.startPoint.x).replaceAll("starty",m.startPoint.y).replaceAll("controlx",m.startPoint.x+(m.endPoint.x-m.startPoint.x)/2-(m.endPoint.x-m.startPoint.x)/4).replaceAll("controly",m.startPoint.y+(m.endPoint.y-m.startPoint.y)/2).replaceAll("stopx",m.endPoint.x).replaceAll("stopy",m.endPoint.y)),m.type!=="rel_b"&&N.attr("marker-end","url("+I+"#arrowhead)"),(m.type==="birel"||m.type==="rel_b")&&N.attr("marker-start","url("+I+"#arrowend)")}let B=f.messageFont();L5(f)(m.label.text,p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+_,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+A,m.label.width,m.label.height,{fill:b},B),m.techn&&m.techn.text!==""&&(B=f.messageFont(),L5(f)("["+m.techn.text+"]",p,Math.min(m.startPoint.x,m.endPoint.x)+Math.abs(m.endPoint.x-m.startPoint.x)/2+_,Math.min(m.startPoint.y,m.endPoint.y)+Math.abs(m.endPoint.y-m.startPoint.y)/2+f.messageFontSize+5+A,Math.max(m.label.width,m.techn.width),m.techn.height,{fill:b,"font-style":"italic"},B))}},qDe=function(i,a,f){const p=i.append("g");let w=a.bgColor?a.bgColor:"none",m=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let _={x:a.x,y:a.y,fill:w,stroke:m,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};jdt(p,_);let A=f.boundaryFont();A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=b,L5(f)(a.label.text,p,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},A),a.type&&a.type.text!==""&&(A=f.boundaryFont(),A.fontColor=b,L5(f)(a.type.text,p,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},A)),a.descr&&a.descr.text!==""&&(A=f.boundaryFont(),A.fontSize=A.fontSize-2,A.fontColor=b,L5(f)(a.descr.text,p,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},A))},HDe=function(i,a,f){var B;let p=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],m=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const _=bT();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":_.x=a.x,_.y=a.y,_.fill=p,_.width=a.width,_.height=a.height,_.stroke=w,_.rx=2.5,_.ry=2.5,_.attrs={"stroke-width":.5},jdt(E,_);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",p).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let A=ZDe(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",m).attr("font-family",A.fontFamily).attr("font-size",A.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":yPt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let I=f[a.typeC4Shape.text+"Font"]();return I.fontWeight="bold",I.fontSize=I.fontSize+2,I.fontColor=m,L5(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:m},I),I=f[a.typeC4Shape.text+"Font"](),I.fontColor=m,a.techn&&((B=a.techn)==null?void 0:B.text)!==""?L5(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:m,"font-style":"italic"},I):a.type&&a.type.text!==""&&L5(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:m,"font-style":"italic"},I),a.descr&&a.descr.text!==""&&(I=f.personFont(),I.fontColor=m,L5(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:m},I)),a.height},VDe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},GDe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},UDe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},WDe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},YDe=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},KDe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},XDe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},QDe=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},ZDe=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),L5=function(){function i(w,m,b,E,_,A,I){const B=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(w);p(B,I)}function a(w,m,b,E,_,A,I,B){const{fontSize:N,fontFamily:R,fontWeight:z}=B,W=w.split(Kr.lineBreakRegex);for(let et=0;et=this.data.widthLimit||p>=this.data.widthLimit||this.nextData.cnt>xPt)&&(f=this.nextData.startx+a.margin+ds.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=p=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=m=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",p,Math.max),this.updateVal(this.data,"stopy",m,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",p,Math.max),this.updateVal(this.nextData,"stopy",m,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},zdt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const zdt=function(i){Z1(ds,i),i.fontFamily&&(ds.personFontFamily=ds.systemFontFamily=ds.messageFontFamily=i.fontFamily),i.fontSize&&(ds.personFontSize=ds.systemFontSize=ds.messageFontSize=i.fontSize),i.fontWeight&&(ds.personFontWeight=ds.systemFontWeight=ds.messageFontWeight=i.fontWeight)},hF=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),nY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),JDe=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function cm(i,a,f,p,w){if(!a[i].width)if(f)a[i].text=UIt(a[i].text,w,p),a[i].textLines=a[i].text.split(Kr.lineBreakRegex).length,a[i].width=w,a[i].height=odt(a[i].text,p);else{let m=a[i].text.split(Kr.lineBreakRegex);a[i].textLines=m.length;let b=0;a[i].height=0,a[i].width=0;for(const E of m)a[i].width=Math.max(d3(E,p),a[i].width),b=odt(E,p),a[i].height=a[i].height+b}}const EPt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=ds.c4ShapeMargin-35;let p=a.wrap&&ds.wrap,w=nY(ds);w.fontSize=w.fontSize+2,w.fontWeight="bold";let m=d3(a.label.text,w);cm("label",a,p,w,m),b3.drawBoundary(i,a,ds)},TPt=function(i,a,f,p){let w=0;for(const m of p){w=0;const b=f[m];let E=hF(ds,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=d3("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=ds.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let _=b.wrap&&ds.wrap,A=ds.width-ds.c4ShapePadding*2,I=hF(ds,b.typeC4Shape.text);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",cm("label",b,_,I,A),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let R=hF(ds,b.typeC4Shape.text);cm("type",b,_,R,A),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let R=hF(ds,b.techn.text);cm("techn",b,_,R,A),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let B=w,N=b.label.width;if(b.descr&&b.descr.text!==""){let R=hF(ds,b.typeC4Shape.text);cm("descr",b,_,R,A),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,N=Math.max(b.label.width,b.descr.width),B=w-b.descr.textLines*5}N=N+ds.c4ShapePadding,b.width=Math.max(b.width||ds.width,N,ds.width),b.height=Math.max(b.height||ds.height,B,ds.height),b.margin=b.margin||ds.c4ShapeMargin,i.insert(b),b3.drawC4Shape(a,b,ds)}i.bumpLastMargin(ds.c4ShapeMargin)};let rw=class{constructor(a,f){this.x=a,this.y=f}},CPt=function(i,a){let f=i.x,p=i.y,w=a.x,m=a.y,b=f+i.width/2,E=p+i.height/2,_=Math.abs(f-w),A=Math.abs(p-m),I=A/_,B=i.height/i.width,N=null;return p==m&&fw?N=new rw(f,E):f==w&&pm&&(N=new rw(b,p)),f>w&&p=I?N=new rw(f,E+I*i.width/2):N=new rw(b-_/A*i.height/2,p+i.height):f=I?N=new rw(f+i.width,E+I*i.width/2):N=new rw(b+_/A*i.height/2,p+i.height):fm?B>=I?N=new rw(f+i.width,E-I*i.width/2):N=new rw(b+i.height/2*_/A,p):f>w&&p>m&&(B>=I?N=new rw(f,E-i.width/2*I):N=new rw(b-i.height/2*_/A,p)),N},tIe=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let p=CPt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=CPt(a,f);return{startPoint:p,endPoint:w}};const eIe=function(i,a,f,p){let w=0;for(let m of a){w=w+1;let b=m.wrap&&ds.wrap,E=JDe(ds);p.db.getC4Type()==="C4Dynamic"&&(m.label.text=w+": "+m.label.text);let A=d3(m.label.text,E);cm("label",m,b,E,A),m.techn&&m.techn.text!==""&&(A=d3(m.techn.text,E),cm("techn",m,b,E,A)),m.descr&&m.descr.text!==""&&(A=d3(m.descr.text,E),cm("descr",m,b,E,A));let I=f(m.from),B=f(m.to),N=tIe(I,B);m.startPoint=N.startPoint,m.endPoint=N.endPoint}b3.drawRels(i,a,ds)};function _Pt(i,a,f,p,w){let m=new kPt(w);m.data.widthLimit=f.data.widthLimit/Math.min($dt,p.length);for(let[b,E]of p.entries()){let _=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=_,_=E.image.Y+E.image.height);let A=E.wrap&&ds.wrap,I=nY(ds);if(I.fontSize=I.fontSize+2,I.fontWeight="bold",cm("label",E,A,I,m.data.widthLimit),E.label.Y=_+8,_=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let z=nY(ds);cm("type",E,A,z,m.data.widthLimit),E.type.Y=_+5,_=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let z=nY(ds);z.fontSize=z.fontSize-2,cm("descr",E,A,z,m.data.widthLimit),E.descr.Y=_+20,_=E.descr.Y+E.descr.height}if(b==0||b%$dt===0){let z=f.data.startx+ds.diagramMarginX,W=f.data.stopy+ds.diagramMarginY+_;m.setData(z,z,W,W)}else{let z=m.data.stopx!==m.data.startx?m.data.stopx+ds.diagramMarginX:m.data.startx,W=m.data.starty;m.setData(z,z,W,W)}m.name=E.alias;let B=w.db.getC4ShapeArray(E.alias),N=w.db.getC4ShapeKeys(E.alias);N.length>0&&TPt(m,i,B,N),a=E.alias;let R=w.db.getBoundarys(a);R.length>0&&_Pt(i,a,m,R,w),E.alias!=="global"&&EPt(i,E,m),f.data.stopy=Math.max(m.data.stopy+ds.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(m.data.stopx+ds.c4ShapeMargin,f.data.stopx),tY=Math.max(tY,f.data.stopx),eY=Math.max(eY,f.data.stopy)}}const SPt={drawPersonOrSystemArray:TPt,drawBoundary:EPt,setConf:zdt,draw:function(i,a,f,p){ds=Oe().c4;const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const b=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body");let E=p.db;p.db.setWrap(ds.wrap),xPt=E.getC4ShapeInRow(),$dt=E.getC4BoundaryInRow(),Ut.debug(`C:${JSON.stringify(ds,null,2)}`);const _=w==="sandbox"?b.select(`[id="${a}"]`):yr(`[id="${a}"]`);b3.insertComputerIcon(_),b3.insertDatabaseIcon(_),b3.insertClockIcon(_);let A=new kPt(p);A.setData(ds.diagramMarginX,ds.diagramMarginX,ds.diagramMarginY,ds.diagramMarginY),A.data.widthLimit=screen.availWidth,tY=ds.diagramMarginX,eY=ds.diagramMarginY;const I=p.db.getTitle();let B=p.db.getBoundarys("");_Pt(_,"",A,B,p),b3.insertArrowHead(_),b3.insertArrowEnd(_),b3.insertArrowCrossHead(_),b3.insertArrowFilledHead(_),eIe(_,p.db.getRels(),p.db.getC4Shape,p),A.data.stopx=tY,A.data.stopy=eY;const N=A.data;let z=N.stopy-N.starty+2*ds.diagramMarginY;const et=N.stopx-N.startx+2*ds.diagramMarginX;I&&_.append("text").text(I).attr("x",(N.stopx-N.startx)/2-4*ds.diagramMarginX).attr("y",N.starty+ds.diagramMarginY),k0(_,z,et,ds.useMaxWidth);const st=I?60:0;_.attr("viewBox",N.startx-ds.diagramMarginX+" -"+(ds.diagramMarginY+st)+" "+et+" "+(z+st)),Ut.debug("models:",N)}},nIe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:gDe,db:Bdt,renderer:SPt,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:a})=>{SPt.setConf(i),Bdt.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var qdt=function(){var i=function(af,Qi,Ts,ka){for(Ts=Ts||{},ka=af.length;ka--;Ts[af[ka]]=Qi);return Ts},a=[1,4],f=[1,3],p=[1,5],w=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],m=[2,2],b=[1,13],E=[1,14],_=[1,15],A=[1,16],I=[1,23],B=[1,25],N=[1,26],R=[1,27],z=[1,49],W=[1,48],et=[1,29],st=[1,30],at=[1,31],bt=[1,32],mt=[1,33],yt=[1,44],ft=[1,46],ut=[1,42],vt=[1,47],X=[1,43],pt=[1,50],U=[1,45],Tt=[1,51],nt=[1,52],It=[1,34],Ot=[1,35],Bt=[1,36],Et=[1,37],Z=[1,57],Ct=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],xt=[1,61],Ht=[1,60],Le=[1,62],Ft=[8,9,11,73,75],gn=[1,88],Se=[1,93],me=[1,92],Ve=[1,89],Ye=[1,85],ce=[1,91],ke=[1,87],zt=[1,94],re=[1,90],se=[1,95],Pe=[1,86],te=[8,9,10,11,73,75],Me=[8,9,10,11,44,73,75],de=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],on=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],ni=[42,58,86,99,102,103,106,108,111,112,113],Ks=[1,121],ws=[1,120],fo=[1,128],Xi=[1,142],Er=[1,143],Xn=[1,144],di=[1,145],Ee=[1,130],Kn=[1,132],He=[1,136],Ti=[1,137],pn=[1,138],Es=[1,139],qa=[1,140],Ma=[1,141],Gs=[1,146],Po=[1,147],vs=[1,126],ru=[1,127],zs=[1,134],Du=[1,129],pm=[1,133],uw=[1,131],Wu=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],th=[1,149],Fa=[8,9,11],Ml=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ha=[1,169],bc=[1,165],Cc=[1,166],pa=[1,170],Da=[1,167],Ha=[1,168],Dl=[75,113,116],_c=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],lw=[10,103],eh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],ed=[1,235],jd=[1,233],nd=[1,237],$d=[1,231],A0=[1,232],Bi=[1,234],cn=[1,236],kr=[1,238],Ei=[1,255],Jo=[8,9,11,103],wc=[8,9,10,11,58,81,102,103,106,107,108,109],rf={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Qi,Ts,ka,xi,Yc,Ce,vp){var Be=Ce.length-1;switch(Yc){case 2:this.$=[];break;case 3:(!Array.isArray(Ce[Be])||Ce[Be].length>0)&&Ce[Be-1].push(Ce[Be]),this.$=Ce[Be-1];break;case 4:case 176:this.$=Ce[Be];break;case 11:xi.setDirection("TB"),this.$="TB";break;case 12:xi.setDirection(Ce[Be-1]),this.$=Ce[Be-1];break;case 27:this.$=Ce[Be-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=xi.addSubGraph(Ce[Be-6],Ce[Be-1],Ce[Be-4]);break;case 34:this.$=xi.addSubGraph(Ce[Be-3],Ce[Be-1],Ce[Be-3]);break;case 35:this.$=xi.addSubGraph(void 0,Ce[Be-1],void 0);break;case 37:this.$=Ce[Be].trim(),xi.setAccTitle(this.$);break;case 38:case 39:this.$=Ce[Be].trim(),xi.setAccDescription(this.$);break;case 43:xi.addLink(Ce[Be-2].stmt,Ce[Be],Ce[Be-1]),this.$={stmt:Ce[Be],nodes:Ce[Be].concat(Ce[Be-2].nodes)};break;case 44:xi.addLink(Ce[Be-3].stmt,Ce[Be-1],Ce[Be-2]),this.$={stmt:Ce[Be-1],nodes:Ce[Be-1].concat(Ce[Be-3].nodes)};break;case 45:this.$={stmt:Ce[Be-1],nodes:Ce[Be-1]};break;case 46:this.$={stmt:Ce[Be],nodes:Ce[Be]};break;case 47:this.$=[Ce[Be]];break;case 48:this.$=Ce[Be-4].concat(Ce[Be]);break;case 49:this.$=Ce[Be];break;case 50:this.$=Ce[Be-2],xi.setClass(Ce[Be-2],Ce[Be]);break;case 51:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"square");break;case 52:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"doublecircle");break;case 53:this.$=Ce[Be-5],xi.addVertex(Ce[Be-5],Ce[Be-2],"circle");break;case 54:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"ellipse");break;case 55:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"stadium");break;case 56:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"subroutine");break;case 57:this.$=Ce[Be-7],xi.addVertex(Ce[Be-7],Ce[Be-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ce[Be-5],Ce[Be-3]]]));break;case 58:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"cylinder");break;case 59:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"round");break;case 60:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"diamond");break;case 61:this.$=Ce[Be-5],xi.addVertex(Ce[Be-5],Ce[Be-2],"hexagon");break;case 62:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"odd");break;case 63:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"trapezoid");break;case 64:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"inv_trapezoid");break;case 65:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"lean_right");break;case 66:this.$=Ce[Be-3],xi.addVertex(Ce[Be-3],Ce[Be-1],"lean_left");break;case 67:this.$=Ce[Be],xi.addVertex(Ce[Be]);break;case 68:Ce[Be-1].text=Ce[Be],this.$=Ce[Be-1];break;case 69:case 70:Ce[Be-2].text=Ce[Be-1],this.$=Ce[Be-2];break;case 71:this.$=Ce[Be];break;case 72:var Bf=xi.destructLink(Ce[Be],Ce[Be-2]);this.$={type:Bf.type,stroke:Bf.stroke,length:Bf.length,text:Ce[Be-1]};break;case 73:this.$={text:Ce[Be],type:"text"};break;case 74:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 75:this.$={text:Ce[Be],type:"string"};break;case 76:this.$={text:Ce[Be],type:"markdown"};break;case 77:var Bf=xi.destructLink(Ce[Be]);this.$={type:Bf.type,stroke:Bf.stroke,length:Bf.length};break;case 78:this.$=Ce[Be-1];break;case 79:this.$={text:Ce[Be],type:"text"};break;case 80:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 81:this.$={text:Ce[Be],type:"string"};break;case 82:case 97:this.$={text:Ce[Be],type:"markdown"};break;case 94:this.$={text:Ce[Be],type:"text"};break;case 95:this.$={text:Ce[Be-1].text+""+Ce[Be],type:Ce[Be-1].type};break;case 96:this.$={text:Ce[Be],type:"text"};break;case 98:this.$=Ce[Be-4],xi.addClass(Ce[Be-2],Ce[Be]);break;case 99:this.$=Ce[Be-4],xi.setClass(Ce[Be-2],Ce[Be]);break;case 100:case 108:this.$=Ce[Be-1],xi.setClickEvent(Ce[Be-1],Ce[Be]);break;case 101:case 109:this.$=Ce[Be-3],xi.setClickEvent(Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-3],Ce[Be]);break;case 102:this.$=Ce[Be-2],xi.setClickEvent(Ce[Be-2],Ce[Be-1],Ce[Be]);break;case 103:this.$=Ce[Be-4],xi.setClickEvent(Ce[Be-4],Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-4],Ce[Be]);break;case 104:this.$=Ce[Be-2],xi.setLink(Ce[Be-2],Ce[Be]);break;case 105:this.$=Ce[Be-4],xi.setLink(Ce[Be-4],Ce[Be-2]),xi.setTooltip(Ce[Be-4],Ce[Be]);break;case 106:this.$=Ce[Be-4],xi.setLink(Ce[Be-4],Ce[Be-2],Ce[Be]);break;case 107:this.$=Ce[Be-6],xi.setLink(Ce[Be-6],Ce[Be-4],Ce[Be]),xi.setTooltip(Ce[Be-6],Ce[Be-2]);break;case 110:this.$=Ce[Be-1],xi.setLink(Ce[Be-1],Ce[Be]);break;case 111:this.$=Ce[Be-3],xi.setLink(Ce[Be-3],Ce[Be-2]),xi.setTooltip(Ce[Be-3],Ce[Be]);break;case 112:this.$=Ce[Be-3],xi.setLink(Ce[Be-3],Ce[Be-2],Ce[Be]);break;case 113:this.$=Ce[Be-5],xi.setLink(Ce[Be-5],Ce[Be-4],Ce[Be]),xi.setTooltip(Ce[Be-5],Ce[Be-2]);break;case 114:this.$=Ce[Be-4],xi.addVertex(Ce[Be-2],void 0,void 0,Ce[Be]);break;case 115:this.$=Ce[Be-4],xi.updateLink([Ce[Be-2]],Ce[Be]);break;case 116:this.$=Ce[Be-4],xi.updateLink(Ce[Be-2],Ce[Be]);break;case 117:this.$=Ce[Be-8],xi.updateLinkInterpolate([Ce[Be-6]],Ce[Be-2]),xi.updateLink([Ce[Be-6]],Ce[Be]);break;case 118:this.$=Ce[Be-8],xi.updateLinkInterpolate(Ce[Be-6],Ce[Be-2]),xi.updateLink(Ce[Be-6],Ce[Be]);break;case 119:this.$=Ce[Be-6],xi.updateLinkInterpolate([Ce[Be-4]],Ce[Be]);break;case 120:this.$=Ce[Be-6],xi.updateLinkInterpolate(Ce[Be-4],Ce[Be]);break;case 121:case 123:this.$=[Ce[Be]];break;case 122:case 124:Ce[Be-2].push(Ce[Be]),this.$=Ce[Be-2];break;case 126:this.$=Ce[Be-1]+Ce[Be];break;case 174:this.$=Ce[Be];break;case 175:this.$=Ce[Be-1]+""+Ce[Be];break;case 177:this.$=Ce[Be-1]+""+Ce[Be];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:a,10:f,12:p},{1:[3]},i(w,m,{5:6}),{4:7,9:a,10:f,12:p},{4:8,9:a,10:f,12:p},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},i(w,[2,9]),i(w,[2,10]),i(w,[2,11]),{8:[1,54],9:[1,55],10:Z,15:53,18:56},i(Ct,[2,3]),i(Ct,[2,4]),i(Ct,[2,5]),i(Ct,[2,6]),i(Ct,[2,7]),i(Ct,[2,8]),{8:xt,9:Ht,11:Le,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:xt,9:Ht,11:Le,21:66},{8:xt,9:Ht,11:Le,21:67},{8:xt,9:Ht,11:Le,21:68},{8:xt,9:Ht,11:Le,21:69},{8:xt,9:Ht,11:Le,21:70},{8:xt,9:Ht,10:[1,71],11:Le,21:72},i(Ct,[2,36]),{35:[1,73]},{37:[1,74]},i(Ct,[2,39]),i(Ft,[2,46],{18:75,10:Z}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:gn,42:Se,58:me,77:[1,83],86:Ve,92:[1,80],94:[1,81],98:82,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},i(Ct,[2,178]),i(Ct,[2,179]),i(Ct,[2,180]),i(Ct,[2,181]),i(te,[2,47]),i(te,[2,49],{44:[1,96]}),i(Me,[2,67],{110:109,29:[1,97],42:z,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:W,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),i(de,[2,174]),i(de,[2,135]),i(de,[2,136]),i(de,[2,137]),i(de,[2,138]),i(de,[2,139]),i(de,[2,140]),i(de,[2,141]),i(de,[2,142]),i(de,[2,143]),i(de,[2,144]),i(de,[2,145]),i(w,[2,12]),i(w,[2,18]),i(w,[2,19]),{9:[1,110]},i(on,[2,26],{18:111,10:Z}),i(Ct,[2,27]),{40:112,41:38,42:z,43:39,45:40,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Ct,[2,40]),i(Ct,[2,41]),i(Ct,[2,42]),i(ni,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Ks,116:ws},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ct,[2,28]),i(Ct,[2,29]),i(Ct,[2,30]),i(Ct,[2,31]),i(Ct,[2,32]),{10:fo,12:Xi,14:Er,27:Xn,28:122,32:di,42:Ee,58:Kn,73:He,77:[1,124],78:[1,125],80:135,81:Ti,82:pn,83:Es,84:qa,85:Ma,86:Gs,87:Po,88:123,102:vs,106:ru,108:zs,111:Du,112:pm,113:uw},i(Wu,m,{5:148}),i(Ct,[2,37]),i(Ct,[2,38]),i(Ft,[2,45],{42:th}),{42:z,45:150,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{99:[1,151],100:152,102:[1,153]},{42:z,45:154,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{42:z,45:155,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Fa,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Fa,[2,108],{117:160,10:[1,159],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,110],{10:[1,161]}),i(Ml,[2,176]),i(Ml,[2,163]),i(Ml,[2,164]),i(Ml,[2,165]),i(Ml,[2,166]),i(Ml,[2,167]),i(Ml,[2,168]),i(Ml,[2,169]),i(Ml,[2,170]),i(Ml,[2,171]),i(Ml,[2,172]),i(Ml,[2,173]),{42:z,45:162,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{30:163,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:171,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:173,48:[1,172],65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:174,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:175,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:176,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{106:[1,177]},{30:178,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:179,63:[1,180],65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:181,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:182,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{30:183,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(de,[2,175]),i(w,[2,20]),i(on,[2,25]),i(Ft,[2,43],{18:184,10:Z}),i(ni,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{75:[1,188],76:189,113:Ks,116:ws},i(Dl,[2,73]),i(Dl,[2,75]),i(Dl,[2,76]),i(Dl,[2,161]),i(Dl,[2,162]),{8:xt,9:Ht,10:fo,11:Le,12:Xi,14:Er,21:191,27:Xn,29:[1,190],32:di,42:Ee,58:Kn,73:He,80:135,81:Ti,82:pn,83:Es,84:qa,85:Ma,86:Gs,87:Po,88:192,102:vs,106:ru,108:zs,111:Du,112:pm,113:uw},i(_c,[2,94]),i(_c,[2,96]),i(_c,[2,97]),i(_c,[2,150]),i(_c,[2,151]),i(_c,[2,152]),i(_c,[2,153]),i(_c,[2,154]),i(_c,[2,155]),i(_c,[2,156]),i(_c,[2,157]),i(_c,[2,158]),i(_c,[2,159]),i(_c,[2,160]),i(_c,[2,83]),i(_c,[2,84]),i(_c,[2,85]),i(_c,[2,86]),i(_c,[2,87]),i(_c,[2,88]),i(_c,[2,89]),i(_c,[2,90]),i(_c,[2,91]),i(_c,[2,92]),i(_c,[2,93]),{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,193],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},{10:Z,18:194},{10:[1,195],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{10:[1,196]},{10:[1,197],103:[1,198]},i(lw,[2,121]),{10:[1,199],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{10:[1,200],42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:109,111:U,112:Tt,113:nt},{77:[1,201]},i(Fa,[2,102],{10:[1,202]}),i(Fa,[2,104],{10:[1,203]}),{77:[1,204]},i(Ml,[2,177]),{77:[1,205],95:[1,206]},i(te,[2,50],{110:109,42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),{31:[1,207],65:ha,79:208,113:pa,114:Da,115:Ha},i(eh,[2,79]),i(eh,[2,81]),i(eh,[2,82]),i(eh,[2,146]),i(eh,[2,147]),i(eh,[2,148]),i(eh,[2,149]),{47:[1,209],65:ha,79:208,113:pa,114:Da,115:Ha},{30:210,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{49:[1,211],65:ha,79:208,113:pa,114:Da,115:Ha},{51:[1,212],65:ha,79:208,113:pa,114:Da,115:Ha},{53:[1,213],65:ha,79:208,113:pa,114:Da,115:Ha},{55:[1,214],65:ha,79:208,113:pa,114:Da,115:Ha},{58:[1,215]},{62:[1,216],65:ha,79:208,113:pa,114:Da,115:Ha},{64:[1,217],65:ha,79:208,113:pa,114:Da,115:Ha},{30:218,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},{31:[1,219],65:ha,79:208,113:pa,114:Da,115:Ha},{65:ha,67:[1,220],69:[1,221],79:208,113:pa,114:Da,115:Ha},{65:ha,67:[1,223],69:[1,222],79:208,113:pa,114:Da,115:Ha},i(Ft,[2,44],{42:th}),i(ni,[2,70]),i(ni,[2,69]),{60:[1,224],65:ha,79:208,113:pa,114:Da,115:Ha},i(ni,[2,72]),i(Dl,[2,74]),{30:225,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(Wu,m,{5:226}),i(_c,[2,95]),i(Ct,[2,35]),{41:227,42:z,43:39,45:40,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},{10:ed,58:jd,81:nd,89:228,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:239,101:[1,240],102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:241,101:[1,242],102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{102:[1,243]},{10:ed,58:jd,81:nd,89:244,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{42:z,45:245,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt},i(Fa,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Fa,[2,109]),i(Fa,[2,111],{10:[1,249]}),i(Fa,[2,112]),i(Me,[2,51]),i(eh,[2,80]),i(Me,[2,52]),{49:[1,250],65:ha,79:208,113:pa,114:Da,115:Ha},i(Me,[2,59]),i(Me,[2,54]),i(Me,[2,55]),i(Me,[2,56]),{106:[1,251]},i(Me,[2,58]),i(Me,[2,60]),{64:[1,252],65:ha,79:208,113:pa,114:Da,115:Ha},i(Me,[2,62]),i(Me,[2,63]),i(Me,[2,65]),i(Me,[2,64]),i(Me,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ha,79:208,113:pa,114:Da,115:Ha},{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,254],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},i(te,[2,48]),i(Fa,[2,114],{103:Ei}),i(Jo,[2,123],{105:256,10:ed,58:jd,81:nd,102:$d,106:A0,107:Bi,108:cn,109:kr}),i(wc,[2,125]),i(wc,[2,127]),i(wc,[2,128]),i(wc,[2,129]),i(wc,[2,130]),i(wc,[2,131]),i(wc,[2,132]),i(wc,[2,133]),i(wc,[2,134]),i(Fa,[2,115],{103:Ei}),{10:[1,257]},i(Fa,[2,116],{103:Ei}),{10:[1,258]},i(lw,[2,122]),i(Fa,[2,98],{103:Ei}),i(Fa,[2,99],{110:109,42:z,58:W,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,111:U,112:Tt,113:nt}),i(Fa,[2,103]),i(Fa,[2,105],{10:[1,259]}),i(Fa,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:xt,9:Ht,11:Le,21:264},i(Ct,[2,34]),{10:ed,58:jd,81:nd,102:$d,104:265,105:230,106:A0,107:Bi,108:cn,109:kr},i(wc,[2,126]),{14:gn,42:Se,58:me,86:Ve,98:266,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},{14:gn,42:Se,58:me,86:Ve,98:267,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe,117:84},{95:[1,268]},i(Fa,[2,113]),i(Me,[2,53]),{30:269,65:ha,77:bc,78:Cc,79:164,113:pa,114:Da,115:Ha},i(Me,[2,61]),i(Wu,m,{5:270}),i(Jo,[2,124],{105:256,10:ed,58:jd,81:nd,102:$d,106:A0,107:Bi,108:cn,109:kr}),i(Fa,[2,119],{117:160,10:[1,271],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,120],{117:160,10:[1,272],14:gn,42:Se,58:me,86:Ve,102:Ye,103:ce,106:ke,108:zt,111:re,112:se,113:Pe}),i(Fa,[2,107]),{31:[1,273],65:ha,79:208,113:pa,114:Da,115:Ha},{6:11,7:12,8:b,9:E,10:_,11:A,20:17,22:18,23:19,24:20,25:21,26:22,27:I,32:[1,274],33:24,34:B,36:N,38:R,40:28,41:38,42:z,43:39,45:40,58:W,81:et,82:st,83:at,84:bt,85:mt,86:yt,99:ft,102:ut,103:vt,106:X,108:pt,110:41,111:U,112:Tt,113:nt,118:It,119:Ot,120:Bt,121:Et},{10:ed,58:jd,81:nd,89:275,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},{10:ed,58:jd,81:nd,89:276,102:$d,104:229,105:230,106:A0,107:Bi,108:cn,109:kr},i(Me,[2,57]),i(Ct,[2,33]),i(Fa,[2,117],{103:Ei}),i(Fa,[2,118],{103:Ei})],defaultActions:{},parseError:function(Qi,Ts){if(Ts.recoverable)this.trace(Qi);else{var ka=new Error(Qi);throw ka.hash=Ts,ka}},parse:function(Qi){var Ts=this,ka=[0],xi=[],Yc=[null],Ce=[],vp=this.table,Be="",Bf=0,yg=0,bm=2,Ek=1,E3=Ce.slice.call(arguments,1),Il=Object.create(this.lexer),L0={yy:{}};for(var hw in this.yy)Object.prototype.hasOwnProperty.call(this.yy,hw)&&(L0.yy[hw]=this.yy[hw]);Il.setInput(Qi,L0.yy),L0.yy.lexer=Il,L0.yy.parser=this,typeof Il.yylloc>"u"&&(Il.yylloc={});var H5=Il.yylloc;Ce.push(H5);var Hb=Il.options&&Il.options.ranges;typeof L0.yy.parseError=="function"?this.parseError=L0.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function V5(){var xg;return xg=xi.pop()||Il.lex()||Ek,typeof xg!="number"&&(xg instanceof Array&&(xi=xg,xg=xi.pop()),xg=Ts.symbols_[xg]||xg),xg}for(var f1,rd,id,G5,fw={},U5,mp,W5,T3;;){if(rd=ka[ka.length-1],this.defaultActions[rd]?id=this.defaultActions[rd]:((f1===null||typeof f1>"u")&&(f1=V5()),id=vp[rd]&&vp[rd][f1]),typeof id>"u"||!id.length||!id[0]){var wm="";T3=[];for(U5 in vp[rd])this.terminals_[U5]&&U5>bm&&T3.push("'"+this.terminals_[U5]+"'");Il.showPosition?wm="Parse error on line "+(Bf+1)+`: +`+Il.showPosition()+` +Expecting `+T3.join(", ")+", got '"+(this.terminals_[f1]||f1)+"'":wm="Parse error on line "+(Bf+1)+": Unexpected "+(f1==Ek?"end of input":"'"+(this.terminals_[f1]||f1)+"'"),this.parseError(wm,{text:Il.match,token:this.terminals_[f1]||f1,line:Il.yylineno,loc:H5,expected:T3})}if(id[0]instanceof Array&&id.length>1)throw new Error("Parse Error: multiple actions possible at state: "+rd+", token: "+f1);switch(id[0]){case 1:ka.push(f1),Yc.push(Il.yytext),Ce.push(Il.yylloc),ka.push(id[1]),f1=null,yg=Il.yyleng,Be=Il.yytext,Bf=Il.yylineno,H5=Il.yylloc;break;case 2:if(mp=this.productions_[id[1]][1],fw.$=Yc[Yc.length-mp],fw._$={first_line:Ce[Ce.length-(mp||1)].first_line,last_line:Ce[Ce.length-1].last_line,first_column:Ce[Ce.length-(mp||1)].first_column,last_column:Ce[Ce.length-1].last_column},Hb&&(fw._$.range=[Ce[Ce.length-(mp||1)].range[0],Ce[Ce.length-1].range[1]]),G5=this.performAction.apply(fw,[Be,yg,Bf,L0.yy,id[1],Yc,Ce].concat(E3)),typeof G5<"u")return G5;mp&&(ka=ka.slice(0,-1*mp*2),Yc=Yc.slice(0,-1*mp),Ce=Ce.slice(0,-1*mp)),ka.push(this.productions_[id[1]][0]),Yc.push(fw.$),Ce.push(fw._$),W5=vp[ka[ka.length-2]][ka[ka.length-1]],ka.push(W5);break;case 3:return!0}}return!0}},Oc=function(){var af={EOF:1,parseError:function(Ts,ka){if(this.yy.parser)this.yy.parser.parseError(Ts,ka);else throw new Error(Ts)},setInput:function(Qi,Ts){return this.yy=Ts||this.yy||{},this._input=Qi,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Qi=this._input[0];this.yytext+=Qi,this.yyleng++,this.offset++,this.match+=Qi,this.matched+=Qi;var Ts=Qi.match(/(?:\r\n?|\n).*/g);return Ts?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Qi},unput:function(Qi){var Ts=Qi.length,ka=Qi.split(/(?:\r\n?|\n)/g);this._input=Qi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ts),this.offset-=Ts;var xi=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ka.length-1&&(this.yylineno-=ka.length-1);var Yc=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ka?(ka.length===xi.length?this.yylloc.first_column:0)+xi[xi.length-ka.length].length-ka[0].length:this.yylloc.first_column-Ts},this.options.ranges&&(this.yylloc.range=[Yc[0],Yc[0]+this.yyleng-Ts]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Qi){this.unput(this.match.slice(Qi))},pastInput:function(){var Qi=this.matched.substr(0,this.matched.length-this.match.length);return(Qi.length>20?"...":"")+Qi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Qi=this.match;return Qi.length<20&&(Qi+=this._input.substr(0,20-Qi.length)),(Qi.substr(0,20)+(Qi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Qi=this.pastInput(),Ts=new Array(Qi.length+1).join("-");return Qi+this.upcomingInput()+` +`+Ts+"^"},test_match:function(Qi,Ts){var ka,xi,Yc;if(this.options.backtrack_lexer&&(Yc={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Yc.yylloc.range=this.yylloc.range.slice(0))),xi=Qi[0].match(/(?:\r\n?|\n).*/g),xi&&(this.yylineno+=xi.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xi?xi[xi.length-1].length-xi[xi.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Qi[0].length},this.yytext+=Qi[0],this.match+=Qi[0],this.matches=Qi,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Qi[0].length),this.matched+=Qi[0],ka=this.performAction.call(this,this.yy,this,Ts,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ka)return ka;if(this._backtrack){for(var Ce in Yc)this[Ce]=Yc[Ce];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Qi,Ts,ka,xi;this._more||(this.yytext="",this.match="");for(var Yc=this._currentRules(),Ce=0;CeTs[0].length)){if(Ts=ka,xi=Ce,this.options.backtrack_lexer){if(Qi=this.test_match(ka,Yc[Ce]),Qi!==!1)return Qi;if(this._backtrack){Ts=!1;continue}else return!1}else if(!this.options.flex)break}return Ts?(Qi=this.test_match(Ts,Yc[xi]),Qi!==!1?Qi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ts=this.next();return Ts||this.lex()},begin:function(Ts){this.conditionStack.push(Ts)},popState:function(){var Ts=this.conditionStack.length-1;return Ts>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ts){return Ts=this.conditionStack.length-1-Math.abs(Ts||0),Ts>=0?this.conditionStack[Ts]:"INITIAL"},pushState:function(Ts){this.begin(Ts)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Ts,ka,xi,Yc){switch(xi){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 30:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 31:return Ts.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return af}();rf.lexer=Oc;function sf(){this.yy={}}return sf.prototype=rf,rf.Parser=sf,new sf}();qdt.parser=qdt;const Hdt=qdt,rIe="flowchart-";let APt=0,Vdt=Oe(),wl={},gk=[],eL={},M5=[],rY={},iY={},sY=0,Gdt=!0,iw,aY,oY=[];const cY=i=>Kr.sanitizeText(i,Vdt),fF=function(i){const a=Object.keys(wl);for(const f of a)if(wl[f].id===i)return wl[f].domId;return i},LPt=function(i,a,f,p,w,m,b={}){let E,_=i;_!==void 0&&_.trim().length!==0&&(wl[_]===void 0&&(wl[_]={id:_,labelType:"text",domId:rIe+_+"-"+APt,styles:[],classes:[]}),APt++,a!==void 0?(Vdt=Oe(),E=cY(a.text.trim()),wl[_].labelType=a.type,E[0]==='"'&&E[E.length-1]==='"'&&(E=E.substring(1,E.length-1)),wl[_].text=E):wl[_].text===void 0&&(wl[_].text=i),f!==void 0&&(wl[_].type=f),p!=null&&p.forEach(function(A){wl[_].styles.push(A)}),w!=null&&w.forEach(function(A){wl[_].classes.push(A)}),m!==void 0&&(wl[_].dir=m),wl[_].props===void 0?wl[_].props=b:b!==void 0&&Object.assign(wl[_].props,b))},MPt=function(i,a,f){const m={start:i,end:a,type:void 0,text:"",labelType:"text"};Ut.info("abc78 Got edge...",m);const b=f.text;if(b!==void 0&&(m.text=cY(b.text.trim()),m.text[0]==='"'&&m.text[m.text.length-1]==='"'&&(m.text=m.text.substring(1,m.text.length-1)),m.labelType=b.type),f!==void 0&&(m.type=f.type,m.stroke=f.stroke,m.length=f.length),(m==null?void 0:m.length)>10&&(m.length=10),gk.length<280)Ut.info("abc78 pushing edge..."),gk.push(m);else throw new Error("Too many edges")},DPt=function(i,a,f){Ut.info("addLink (abc78)",i,a,f);let p,w;for(p=0;p/)&&(iw="LR"),iw.match(/.*v/)&&(iw="TB"),iw==="TD"&&(iw="TB")},uY=function(i,a){i.split(",").forEach(function(f){let p=f;wl[p]!==void 0&&wl[p].classes.push(a),rY[p]!==void 0&&rY[p].classes.push(a)})},iIe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(iY[aY==="gen-1"?fF(f):f]=cY(a))})},sIe=function(i,a,f){let p=fF(i);if(Oe().securityLevel!=="loose"||a===void 0)return;let w=[];if(typeof f=="string"){w=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),yr(this).classed("hover",!1)})};oY.push(VPt);const GPt=function(i="gen-1"){wl={},eL={},gk=[],oY=[VPt],M5=[],rY={},sY=0,iY={},Gdt=!0,aY=i,hg()},UPt=i=>{aY=i||"gen-2"},WPt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},YPt=function(i,a,f){let p=i.text.trim(),w=f.text;i===f&&f.text.match(/\s/)&&(p=void 0);function m(I){const B={boolean:{},number:{},string:{}},N=[];let R;return{nodeList:I.filter(function(W){const et=typeof W;return W.stmt&&W.stmt==="dir"?(R=W.value,!1):W.trim()===""?!1:et in B?B[et].hasOwnProperty(W)?!1:B[et][W]=!0:N.includes(W)?!1:N.push(W)}),dir:R}}let b=[];const{nodeList:E,dir:_}=m(b.concat.apply(b,a));if(b=E,aY==="gen-1")for(let I=0;I2e3)return;if(KPt[dF]=a,M5[a].id===i)return{result:!0,count:0};let p=0,w=1;for(;p=0){const b=XPt(i,m);if(b.result)return{result:!0,count:w+b.count};w=w+b.count}p=p+1}return{result:!1,count:w}},QPt=function(i){return KPt[i]},ZPt=function(){dF=-1,M5.length>0&&XPt("none",M5.length-1)},JPt=function(){return M5},tFt=()=>Gdt?(Gdt=!1,!0):!1,oIe=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let p="normal";return a.includes("=")&&(p="thick"),a.includes(".")&&(p="dotted"),{type:f,stroke:p}},cIe=(i,a)=>{const f=a.length;let p=0;for(let w=0;w{const a=i.trim();let f=a.slice(0,-1),p="arrow_open";switch(a.slice(-1)){case"x":p="arrow_cross",a[0]==="x"&&(p="double_"+p,f=f.slice(1));break;case">":p="arrow_point",a[0]==="<"&&(p="double_"+p,f=f.slice(1));break;case"o":p="arrow_circle",a[0]==="o"&&(p="double_"+p,f=f.slice(1));break}let w="normal",m=f.length-1;f[0]==="="&&(w="thick"),f[0]==="~"&&(w="invisible");let b=cIe(".",f);return b&&(w="dotted",m=b),{type:p,stroke:w,length:m}},eFt=(i,a)=>{const f=uIe(i);let p;if(a){if(p=oIe(a),p.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(p.type==="arrow_open")p.type=f.type;else{if(p.type!==f.type)return{type:"INVALID",stroke:"INVALID"};p.type="double_"+p.type}return p.type==="double_arrow"&&(p.type="double_arrow_point"),p.length=f.length,p}return f},nFt=(i,a)=>{let f=!1;return i.forEach(p=>{p.nodes.indexOf(a)>=0&&(f=!0)}),f},rFt=(i,a)=>{const f=[];return i.nodes.forEach((p,w)=>{nFt(a,p)||f.push(i.nodes[w])}),{nodes:f}},iFt={firstGraph:tFt},wT={defaultConfig:()=>SOt.flowchart,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,addVertex:LPt,lookUpDomId:fF,addLink:DPt,updateLinkInterpolate:IPt,updateLink:OPt,addClass:PPt,setDirection:FPt,setClass:uY,setTooltip:iIe,getTooltip:BPt,setClickEvent:RPt,setLink:NPt,bindFunctions:jPt,getDirection:$Pt,getVertices:zPt,getEdges:qPt,getClasses:HPt,clear:GPt,setGen:UPt,defaultStyle:WPt,addSubGraph:YPt,getDepthFirstPos:QPt,indexNodes:ZPt,getSubGraphs:JPt,destructLink:eFt,lex:iFt,exists:nFt,makeUniq:rFt,setDiagramTitle:Nb,getDiagramTitle:pg},lIe=Object.freeze(Object.defineProperty({__proto__:null,addClass:PPt,addLink:DPt,addSingleLink:MPt,addSubGraph:YPt,addVertex:LPt,bindFunctions:jPt,clear:GPt,default:wT,defaultStyle:WPt,destructLink:eFt,firstGraph:tFt,getClasses:HPt,getDepthFirstPos:QPt,getDirection:$Pt,getEdges:qPt,getSubGraphs:JPt,getTooltip:BPt,getVertices:zPt,indexNodes:ZPt,lex:iFt,lookUpDomId:fF,setClass:uY,setClickEvent:RPt,setDirection:FPt,setGen:UPt,setLink:NPt,updateLink:OPt,updateLinkInterpolate:IPt},Symbol.toStringTag,{value:"Module"}));var hIe="[object Symbol]";function vT(i){return typeof i=="symbol"||f3(i)&&sT(i)==hIe}function nL(i,a){for(var f=-1,p=i==null?0:i.length,w=Array(p);++f-1}function Rb(i){return ck(i)?PIt(i):NOt(i)}var LIe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,MIe=/^\w*$/;function Udt(i,a){if(If(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||vT(i)?!0:MIe.test(i)||!LIe.test(i)||a!=null&&i in Object(a)}var DIe=500;function IIe(i){var a=jA(i,function(p){return f.size===DIe&&f.clear(),p}),f=a.cache;return a}var OIe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,PIe=/\\(\\)?/g,FIe=IIe(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(OIe,function(f,p,w,m){a.push(w?m.replace(PIe,"$1"):p||f)}),a});const NIe=FIe;function fFt(i){return i==null?"":oFt(i)}function hY(i,a){return If(i)?i:Udt(i,a)?[i]:NIe(fFt(i))}var BIe=1/0;function gF(i){if(typeof i=="string"||vT(i))return i;var a=i+"";return a=="0"&&1/i==-BIe?"-0":a}function fY(i,a){a=hY(a,i);for(var f=0,p=a.length;i!=null&&f0&&f(E)?a>1?dY(E,a-1,f,p,w):Wdt(w,E):p||(w[w.length]=E)}return w}function rL(i){var a=i==null?0:i.length;return a?dY(i,1):[]}function $Ie(i){return RIt(BIt(i,void 0,rL),i+"")}function zIe(i,a,f,p){var w=-1,m=i==null?0:i.length;for(p&&m&&(f=i[++w]);++wE))return!1;var A=m.get(i),I=m.get(a);if(A&&I)return A==a&&I==i;var B=-1,N=!0,R=f&pPe?new bF:void 0;for(m.set(i,a),m.set(a,i);++B2?a[2]:void 0;for(w&&nF(a[0],a[1],w)&&(p=1);++f-1?w[m?a[b]:b]:void 0}}var iFe=Math.max;function sFe(i,a,f){var p=i==null?0:i.length;if(!p)return-1;var w=f==null?0:EIe(f);return w<0&&(w=iFe(p+w,0)),hFt(i,pk(a),w)}var aFe=rFe(sFe);const e0t=aFe;function RFt(i,a){var f=-1,p=ck(i)?Array(i.length):[];return pY(i,function(w,m,b){p[++f]=a(w,m,b)}),p}function Ff(i,a){var f=If(i)?nL:RFt;return f(i,pk(a))}function oFe(i,a){return i==null?i:tdt(i,t0t(a),uT)}function cFe(i,a){return i&&Jdt(i,t0t(a))}function uFe(i,a){return i>a}var lFe=Object.prototype,hFe=lFe.hasOwnProperty;function fFe(i,a){return i!=null&&hFe.call(i,a)}function za(i,a){return i!=null&&PFt(i,a,fFe)}function dFe(i,a){return nL(a,function(f){return i[f]})}function I5(i){return i==null?[]:dFe(i,Rb(i))}function Jh(i){return i===void 0}function jFt(i,a){return ia||m&&b&&_&&!E&&!A||p&&b&&_||!f&&_||!w)return 1;if(!p&&!m&&!A&&i=E)return _;var A=f[p];return _*(A=="desc"?-1:1)}}return i.index-a.index}function mFe(i,a,f){a.length?a=nL(a,function(m){return If(m)?function(b){return fY(b,m.length===1?m[0]:m)}:m}):a=[lT];var p=-1;a=nL(a,SW(pk));var w=RFt(i,function(m,b,E){var _=nL(a,function(A){return A(m)});return{criteria:_,index:++p,value:m}});return bFe(w,function(m,b){return vFe(m,b,f)})}function yFe(i,a){return pFe(i,a,function(f,p){return FFt(i,p)})}var xFe=$Ie(function(i,a){return i==null?{}:yFe(i,a)});const vF=xFe;var kFe=Math.ceil,EFe=Math.max;function TFe(i,a,f,p){for(var w=-1,m=EFe(kFe((a-i)/(f||1)),0),b=Array(m);m--;)b[p?m:++w]=i,i+=f;return b}function CFe(i){return function(a,f,p){return p&&typeof p!="number"&&nF(a,f,p)&&(f=p=void 0),a=lY(a),f===void 0?(f=a,a=0):f=lY(f),p=p===void 0?a1&&nF(i,a[0],a[1])?a=[]:f>2&&nF(a[0],a[1],a[2])&&(a=[a[0]]),mFe(i,dY(a,1),[])});const yF=AFe;var LFe=1/0,MFe=KA&&1/Xdt(new KA([,-0]))[1]==LFe?function(i){return new KA(i)}:TIe;const DFe=MFe;var IFe=200;function OFe(i,a,f){var p=-1,w=AIe,m=i.length,b=!0,E=[],_=E;if(f)b=!1,w=eFe;else if(m>=IFe){var A=a?null:DFe(i);if(A)return Xdt(A);b=!1,w=_Ft,_=new bF}else _=a?[]:E;t:for(;++p1?w.setNode(m,f):w.setNode(m)}),this}setNode(a,f){return za(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=xT,this._children[a]={},this._children[xT][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return za(this._nodes,a)}removeNode(a){var f=this;if(za(this._nodes,a)){var p=function(w){f.removeEdge(f._edgeObjs[w])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],cr(this.children(a),function(w){f.setParent(w)}),delete this._children[a]),cr(Rb(this._in[a]),p),delete this._in[a],delete this._preds[a],cr(Rb(this._out[a]),p),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Jh(f))f=xT;else{f+="";for(var p=f;!Jh(p);p=this.parent(p))if(p===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==xT)return f}}children(a){if(Jh(a)&&(a=xT),this._isCompound){var f=this._children[a];if(f)return Rb(f)}else{if(a===xT)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return Rb(f)}successors(a){var f=this._sucs[a];if(f)return Rb(f)}neighbors(a){var f=this.predecessors(a);if(f)return FFe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;cr(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),cr(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,p.edge(b))});var w={};function m(b){var E=p.parent(b);return E===void 0||f.hasNode(E)?(w[b]=E,E):E in w?w[E]:m(E)}return this._isCompound&&cr(f.nodes(),function(b){f.setParent(b,m(b))}),f}setDefaultEdgeLabel(a){return BA(a)||(a=HA(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return I5(this._edgeObjs)}setPath(a,f){var p=this,w=arguments;return mF(a,function(m,b){return w.length>1?p.setEdge(m,b,f):p.setEdge(m,b),b}),this}setEdge(){var a,f,p,w,m=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,p=b.name,arguments.length===2&&(w=arguments[1],m=!0)):(a=b,f=arguments[1],p=arguments[3],arguments.length>2&&(w=arguments[2],m=!0)),a=""+a,f=""+f,Jh(p)||(p=""+p);var E=xF(this._isDirected,a,f,p);if(za(this._edgeLabels,E))return m&&(this._edgeLabels[E]=w),this;if(!Jh(p)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=m?w:this._defaultEdgeLabelFn(a,f,p);var _=$Fe(this._isDirected,a,f,p);return a=_.v,f=_.w,Object.freeze(_),this._edgeObjs[E]=_,zFt(this._preds[f],a),zFt(this._sucs[a],f),this._in[f][E]=_,this._out[a][E]=_,this._edgeCount++,this}edge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p);return this._edgeLabels[w]}hasEdge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p);return za(this._edgeLabels,w)}removeEdge(a,f,p){var w=arguments.length===1?i0t(this._isDirected,arguments[0]):xF(this._isDirected,a,f,p),m=this._edgeObjs[w];return m&&(a=m.v,f=m.w,delete this._edgeLabels[w],delete this._edgeObjs[w],qFt(this._preds[f],a),qFt(this._sucs[a],f),delete this._in[f][w],delete this._out[a][w],this._edgeCount--),this}inEdges(a,f){var p=this._in[a];if(p){var w=I5(p);return f?D5(w,function(m){return m.v===f}):w}}outEdges(a,f){var p=this._out[a];if(p){var w=I5(p);return f?D5(w,function(m){return m.w===f}):w}}nodeEdges(a,f){var p=this.inEdges(a,f);if(p)return p.concat(this.outEdges(a,f))}}c1.prototype._nodeCount=0,c1.prototype._edgeCount=0;function zFt(i,a){i[a]?i[a]++:i[a]=1}function qFt(i,a){--i[a]||delete i[a]}function xF(i,a,f,p){var w=""+a,m=""+f;if(!i&&w>m){var b=w;w=m,m=b}return w+$Ft+m+$Ft+(Jh(p)?jFe:p)}function $Fe(i,a,f,p){var w=""+a,m=""+f;if(!i&&w>m){var b=w;w=m,m=b}var E={v:w,w:m};return p&&(E.name=p),E}function i0t(i,a){return xF(i,a.v,a.w,a.name)}class zFe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return HFt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&HFt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,p=f._prev;p!==f;)a.push(JSON.stringify(p,qFe)),p=p._prev;return"["+a.join(", ")+"]"}}function HFt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function qFe(i,a){if(i!=="_next"&&i!=="_prev")return a}var HFe=HA(1);function VFe(i,a){if(i.nodeCount()<=1)return[];var f=UFe(i,a||HFe),p=GFe(f.graph,f.buckets,f.zeroIdx);return rL(Ff(p,function(w){return i.outEdges(w.v,w.w)}))}function GFe(i,a,f){for(var p=[],w=a[a.length-1],m=a[0],b;i.nodeCount();){for(;b=m.dequeue();)s0t(i,a,f,b);for(;b=w.dequeue();)s0t(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){p=p.concat(s0t(i,a,f,b,!0));break}}}return p}function s0t(i,a,f,p,w){var m=w?[]:void 0;return cr(i.inEdges(p.v),function(b){var E=i.edge(b),_=i.node(b.v);w&&m.push({v:b.v,w:b.w}),_.out-=E,a0t(a,f,_)}),cr(i.outEdges(p.v),function(b){var E=i.edge(b),_=b.w,A=i.node(_);A.in-=E,a0t(a,f,A)}),i.removeNode(p.v),m}function UFe(i,a){var f=new c1,p=0,w=0;cr(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),cr(i.edges(),function(E){var _=f.edge(E.v,E.w)||0,A=a(E),I=_+A;f.setEdge(E.v,E.w,I),w=Math.max(w,f.node(E.v).out+=A),p=Math.max(p,f.node(E.w).in+=A)});var m=yT(w+p+3).map(function(){return new zFe}),b=p+1;return cr(f.nodes(),function(E){a0t(m,b,f.node(E))}),{graph:f,buckets:m,zeroIdx:b}}function a0t(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function WFe(i){var a=i.graph().acyclicer==="greedy"?VFe(i,f(i)):YFe(i);cr(a,function(p){var w=i.edge(p);i.removeEdge(p),w.forwardName=p.name,w.reversed=!0,i.setEdge(p.w,p.v,w,vY("rev"))});function f(p){return function(w){return p.edge(w).weight}}}function YFe(i){var a=[],f={},p={};function w(m){za(p,m)||(p[m]=!0,f[m]=!0,cr(i.outEdges(m),function(b){za(f,b.w)?a.push(b):w(b.w)}),delete f[m])}return cr(i.nodes(),w),a}function KFe(i){cr(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var p=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,p)}})}function sL(i,a,f,p){var w;do w=vY(p);while(i.hasNode(w));return f.dummy=a,i.setNode(w,f),w}function XFe(i){var a=new c1().setGraph(i.graph());return cr(i.nodes(),function(f){a.setNode(f,i.node(f))}),cr(i.edges(),function(f){var p=a.edge(f.v,f.w)||{weight:0,minlen:1},w=i.edge(f);a.setEdge(f.v,f.w,{weight:p.weight+w.weight,minlen:Math.max(p.minlen,w.minlen)})}),a}function VFt(i){var a=new c1({multigraph:i.isMultigraph()}).setGraph(i.graph());return cr(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),cr(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function GFt(i,a){var f=i.x,p=i.y,w=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2;if(!w&&!m)throw new Error("Not possible to find intersection inside of the rectangle");var _,A;return Math.abs(m)*b>Math.abs(w)*E?(m<0&&(E=-E),_=E*w/m,A=E):(w<0&&(b=-b),_=b,A=b*m/w),{x:f+_,y:p+A}}function mY(i){var a=Ff(yT(WFt(i)+1),function(){return[]});return cr(i.nodes(),function(f){var p=i.node(f),w=p.rank;Jh(w)||(a[w][p.order]=f)}),a}function QFe(i){var a=wF(Ff(i.nodes(),function(f){return i.node(f).rank}));cr(i.nodes(),function(f){var p=i.node(f);za(p,"rank")&&(p.rank-=a)})}function ZFe(i){var a=wF(Ff(i.nodes(),function(m){return i.node(m).rank})),f=[];cr(i.nodes(),function(m){var b=i.node(m).rank-a;f[b]||(f[b]=[]),f[b].push(m)});var p=0,w=i.graph().nodeRankFactor;cr(f,function(m,b){Jh(m)&&b%w!==0?--p:p&&cr(m,function(E){i.node(E).rank+=p})})}function UFt(i,a,f,p){var w={width:0,height:0};return arguments.length>=4&&(w.rank=f,w.order=p),sL(i,"border",w,a)}function WFt(i){return mT(Ff(i.nodes(),function(a){var f=i.node(a).rank;if(!Jh(f))return f}))}function JFe(i,a){var f={lhs:[],rhs:[]};return cr(i,function(p){a(p)?f.lhs.push(p):f.rhs.push(p)}),f}function tNe(i,a){var f=NFt();try{return a()}finally{console.log(i+" time: "+(NFt()-f)+"ms")}}function eNe(i,a){return a()}function nNe(i){function a(f){var p=i.children(f),w=i.node(f);if(p.length&&cr(p,a),za(w,"minRank")){w.borderLeft=[],w.borderRight=[];for(var m=w.minRank,b=w.maxRank+1;mb.lim&&(E=b,_=!0);var A=D5(a.edges(),function(I){return _===sNt(i,i.node(I.v),E)&&_!==sNt(i,i.node(I.w),E)});return r0t(A,function(I){return kF(a,I)})}function iNt(i,a,f,p){var w=f.v,m=f.w;i.removeEdge(w,m),i.setEdge(p.v,p.w,{}),h0t(i),l0t(i,a),wNe(i,a)}function wNe(i,a){var f=e0t(i.nodes(),function(w){return!a.node(w).parent}),p=pNe(i,f);p=p.slice(1),cr(p,function(w){var m=i.node(w).parent,b=a.edge(w,m),E=!1;b||(b=a.edge(m,w),E=!0),a.node(w).rank=a.node(m).rank+(E?b.minlen:-b.minlen)})}function vNe(i,a,f){return i.hasEdge(a,f)}function sNt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function mNe(i){switch(i.graph().ranker){case"network-simplex":aNt(i);break;case"tight-tree":xNe(i);break;case"longest-path":yNe(i);break;default:aNt(i)}}var yNe=u0t;function xNe(i){u0t(i),QFt(i)}function aNt(i){kT(i)}function kNe(i){var a=sL(i,"root",{},"_root"),f=ENe(i),p=mT(I5(f))-1,w=2*p+1;i.graph().nestingRoot=a,cr(i.edges(),function(b){i.edge(b).minlen*=w});var m=TNe(i)+1;cr(i.children(),function(b){oNt(i,a,w,m,p,f,b)}),i.graph().nodeRankFactor=w}function oNt(i,a,f,p,w,m,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var _=UFt(i,"_bt"),A=UFt(i,"_bb"),I=i.node(b);i.setParent(_,b),I.borderTop=_,i.setParent(A,b),I.borderBottom=A,cr(E,function(B){oNt(i,a,f,p,w,m,B);var N=i.node(B),R=N.borderTop?N.borderTop:B,z=N.borderBottom?N.borderBottom:B,W=N.borderTop?p:2*p,et=R!==z?1:w-m[b]+1;i.setEdge(_,R,{weight:W,minlen:et,nestingEdge:!0}),i.setEdge(z,A,{weight:W,minlen:et,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,_,{weight:0,minlen:w+m[b]})}function ENe(i){var a={};function f(p,w){var m=i.children(p);m&&m.length&&cr(m,function(b){f(b,w+1)}),a[p]=w}return cr(i.children(),function(p){f(p,1)}),a}function TNe(i){return mF(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function CNe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,cr(i.edges(),function(f){var p=i.edge(f);p.nestingEdge&&i.removeEdge(f)})}function _Ne(i,a,f){var p={},w;cr(f,function(m){for(var b=i.parent(m),E,_;b;){if(E=i.parent(b),E?(_=p[E],p[E]=b):(_=w,w=b),_&&_!==b){a.setEdge(_,b);return}b=E}})}function SNe(i,a,f){var p=ANe(i),w=new c1({compound:!0}).setGraph({root:p}).setDefaultNodeLabel(function(m){return i.node(m)});return cr(i.nodes(),function(m){var b=i.node(m),E=i.parent(m);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(w.setNode(m),w.setParent(m,E||p),cr(i[f](m),function(_){var A=_.v===m?_.w:_.v,I=w.edge(A,m),B=Jh(I)?0:I.weight;w.setEdge(A,m,{weight:i.edge(_).weight+B})}),za(b,"minRank")&&w.setNode(m,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),w}function ANe(i){for(var a;i.hasNode(a=vY("_root")););return a}function LNe(i,a){for(var f=0,p=1;p0;)I%2&&(B+=E[I+1]),I=I-1>>1,E[I]+=A.weight;_+=A.weight*B})),_}function DNe(i){var a={},f=D5(i.nodes(),function(E){return!i.children(E).length}),p=mT(Ff(f,function(E){return i.node(E).rank})),w=Ff(yT(p+1),function(){return[]});function m(E){if(!za(a,E)){a[E]=!0;var _=i.node(E);w[_.rank].push(E),cr(i.successors(E),m)}}var b=yF(f,function(E){return i.node(E).rank});return cr(b,m),w}function INe(i,a){return Ff(a,function(f){var p=i.inEdges(f);if(p.length){var w=mF(p,function(m,b){var E=i.edge(b),_=i.node(b.v);return{sum:m.sum+E.weight*_.order,weight:m.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:w.sum/w.weight,weight:w.weight}}else return{v:f}})}function ONe(i,a){var f={};cr(i,function(w,m){var b=f[w.v]={indegree:0,in:[],out:[],vs:[w.v],i:m};Jh(w.barycenter)||(b.barycenter=w.barycenter,b.weight=w.weight)}),cr(a.edges(),function(w){var m=f[w.v],b=f[w.w];!Jh(m)&&!Jh(b)&&(b.indegree++,m.out.push(f[w.w]))});var p=D5(f,function(w){return!w.indegree});return PNe(p)}function PNe(i){var a=[];function f(m){return function(b){b.merged||(Jh(b.barycenter)||Jh(m.barycenter)||b.barycenter>=m.barycenter)&&FNe(m,b)}}function p(m){return function(b){b.in.push(m),--b.indegree===0&&i.push(b)}}for(;i.length;){var w=i.pop();a.push(w),cr(w.in.reverse(),f(w)),cr(w.out,p(w))}return Ff(D5(a,function(m){return!m.merged}),function(m){return vF(m,["vs","i","barycenter","weight"])})}function FNe(i,a){var f=0,p=0;i.weight&&(f+=i.barycenter*i.weight,p+=i.weight),a.weight&&(f+=a.barycenter*a.weight,p+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/p,i.weight=p,i.i=Math.min(a.i,i.i),a.merged=!0}function NNe(i,a){var f=JFe(i,function(I){return za(I,"barycenter")}),p=f.lhs,w=yF(f.rhs,function(I){return-I.i}),m=[],b=0,E=0,_=0;p.sort(BNe(!!a)),_=cNt(m,w,_),cr(p,function(I){_+=I.vs.length,m.push(I.vs),b+=I.barycenter*I.weight,E+=I.weight,_=cNt(m,w,_)});var A={vs:rL(m)};return E&&(A.barycenter=b/E,A.weight=E),A}function cNt(i,a,f){for(var p;a.length&&(p=bY(a)).i<=f;)a.pop(),i.push(p.vs),f++;return f}function BNe(i){return function(a,f){return a.barycenterf.barycenter?1:i?f.i-a.i:a.i-f.i}}function uNt(i,a,f,p){var w=i.children(a),m=i.node(a),b=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,_={};b&&(w=D5(w,function(z){return z!==b&&z!==E}));var A=INe(i,w);cr(A,function(z){if(i.children(z.v).length){var W=uNt(i,z.v,f,p);_[z.v]=W,za(W,"barycenter")&&jNe(z,W)}});var I=ONe(A,f);RNe(I,_);var B=NNe(I,p);if(b&&(B.vs=rL([b,B.vs,E]),i.predecessors(b).length)){var N=i.node(i.predecessors(b)[0]),R=i.node(i.predecessors(E)[0]);za(B,"barycenter")||(B.barycenter=0,B.weight=0),B.barycenter=(B.barycenter*B.weight+N.order+R.order)/(B.weight+2),B.weight+=2}return B}function RNe(i,a){cr(i,function(f){f.vs=rL(f.vs.map(function(p){return a[p]?a[p].vs:p}))})}function jNe(i,a){Jh(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function $Ne(i){var a=WFt(i),f=lNt(i,yT(1,a+1),"inEdges"),p=lNt(i,yT(a-1,-1,-1),"outEdges"),w=DNe(i);hNt(i,w);for(var m=Number.POSITIVE_INFINITY,b,E=0,_=0;_<4;++E,++_){zNe(E%2?f:p,E%4>=2),w=mY(i);var A=LNe(i,w);Ab||E>a[_].lim));for(A=_,_=p;(_=i.parent(_))!==A;)m.push(_);return{path:w.concat(m.reverse()),lca:A}}function VNe(i){var a={},f=0;function p(w){var m=f;cr(i.children(w),p),a[w]={low:m,lim:f++}}return cr(i.children(),p),a}function GNe(i,a){var f={};function p(w,m){var b=0,E=0,_=w.length,A=bY(m);return cr(m,function(I,B){var N=WNe(i,I),R=N?i.node(N).order:_;(N||I===A)&&(cr(m.slice(E,B+1),function(z){cr(i.predecessors(z),function(W){var et=i.node(W),st=et.order;(stA)&&fNt(f,N,I)})})}function w(m,b){var E=-1,_,A=0;return cr(b,function(I,B){if(i.node(I).dummy==="border"){var N=i.predecessors(I);N.length&&(_=i.node(N[0]).order,p(b,A,B,E,_),A=B,E=_)}p(b,A,b.length,_,m.length)}),b}return mF(a,w),f}function WNe(i,a){if(i.node(a).dummy)return e0t(i.predecessors(a),function(f){return i.node(f).dummy})}function fNt(i,a,f){if(a>f){var p=a;a=f,f=p}var w=i[a];w||(i[a]=w={}),w[f]=!0}function YNe(i,a,f){if(a>f){var p=a;a=f,f=p}return za(i[a],f)}function KNe(i,a,f,p){var w={},m={},b={};return cr(a,function(E){cr(E,function(_,A){w[_]=_,m[_]=_,b[_]=A})}),cr(a,function(E){var _=-1;cr(E,function(A){var I=p(A);if(I.length){I=yF(I,function(W){return b[W]});for(var B=(I.length-1)/2,N=Math.floor(B),R=Math.ceil(B);N<=R;++N){var z=I[N];m[A]===A&&_0}function v3(i,a,f){var p=i.x,w=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)});for(var _=p-i.width/2-b,A=w-i.height/2-E,I=0;I1&&m.sort(function(z,W){var et=z.x-f.x,st=z.y-f.y,at=Math.sqrt(et*et+st*st),bt=W.x-f.x,mt=W.y-f.y,yt=Math.sqrt(bt*bt+mt*mt);return atMath.abs(w)*E?(m<0&&(E=-E),_=m===0?0:E*w/m,A=E):(w<0&&(b=-b),_=b,A=w===0?0:b*m/w),{x:f+_,y:p+A}}var E0t={rect:ZBe,ellipse:JBe,circle:tRe,diamond:eRe};function QBe(i){E0t=i}function ZBe(i,a,f){var p=i.insert("rect",":first-child").attr("rx",f.rx).attr("ry",f.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return f.intersect=function(w){return k0t(f,w)},p}function JBe(i,a,f){var p=a.width/2,w=a.height/2,m=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",p).attr("ry",w);return f.intersect=function(b){return vNt(f,p,w,b)},m}function tRe(i,a,f){var p=Math.max(a.width,a.height)/2,w=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",p);return f.intersect=function(m){return KBe(f,p,m)},w}function eRe(i,a,f){var p=a.width*Math.SQRT2/2,w=a.height*Math.SQRT2/2,m=[{x:0,y:-w},{x:-p,y:0},{x:0,y:w},{x:p,y:0}],b=i.insert("polygon",":first-child").attr("points",m.map(function(E){return E.x+","+E.y}).join(" "));return f.intersect=function(E){return v3(f,m,E)},b}function nRe(){var i=function(a,f){sRe(f);var p=EF(a,"output"),w=EF(p,"clusters"),m=EF(p,"edgePaths"),b=m0t(EF(p,"edgeLabels"),f),E=x0t(EF(p,"nodes"),f,E0t);aL(f),YBe(E,f),WBe(b,f),y0t(m,f,p0t);var _=v0t(w,f);UBe(_,f),aRe(f)};return i.createNodes=function(a){return arguments.length?(GBe(a),i):x0t},i.createClusters=function(a){return arguments.length?(BBe(a),i):v0t},i.createEdgeLabels=function(a){return arguments.length?(RBe(a),i):m0t},i.createEdgePaths=function(a){return arguments.length?(jBe(a),i):y0t},i.shapes=function(a){return arguments.length?(QBe(a),i):E0t},i.arrows=function(a){return arguments.length?(MBe(a),i):p0t},i}var rRe={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},iRe={arrowhead:"normal",curve:cg};function sRe(i){i.nodes().forEach(function(a){var f=i.node(a);!za(f,"label")&&!i.children(a).length&&(f.label=a),za(f,"paddingX")&&iL(f,{paddingLeft:f.paddingX,paddingRight:f.paddingX}),za(f,"paddingY")&&iL(f,{paddingTop:f.paddingY,paddingBottom:f.paddingY}),za(f,"padding")&&iL(f,{paddingLeft:f.padding,paddingRight:f.padding,paddingTop:f.padding,paddingBottom:f.padding}),iL(f,rRe),cr(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(p){f[p]=Number(f[p])}),za(f,"width")&&(f._prevWidth=f.width),za(f,"height")&&(f._prevHeight=f.height)}),i.edges().forEach(function(a){var f=i.edge(a);za(f,"label")||(f.label=""),iL(f,iRe)})}function aRe(i){cr(i.nodes(),function(a){var f=i.node(a);za(f,"_prevWidth")?f.width=f._prevWidth:delete f.width,za(f,"_prevHeight")?f.height=f._prevHeight:delete f.height,delete f._prevWidth,delete f._prevHeight})}function EF(i,a){var f=i.select("g."+a);return f.empty()&&(f=i.append("g").attr("class",a)),f}function yNt(i,a,f){const p=a.width,w=a.height,m=(p+w)*.9,b=[{x:m/2,y:0},{x:m,y:-m/2},{x:m/2,y:-m},{x:0,y:-m/2}],E=O5(i,m,m,b);return f.intersect=function(_){return v3(f,b,_)},E}function xNt(i,a,f){const w=a.height,m=w/4,b=a.width+2*m,E=[{x:m,y:0},{x:b-m,y:0},{x:b,y:-w/2},{x:b-m,y:-w},{x:m,y:-w},{x:0,y:-w/2}],_=O5(i,b,w,E);return f.intersect=function(A){return v3(f,E,A)},_}function kNt(i,a,f){const p=a.width,w=a.height,m=[{x:-w/2,y:0},{x:p,y:0},{x:p,y:-w},{x:-w/2,y:-w},{x:0,y:-w/2}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function ENt(i,a,f){const p=a.width,w=a.height,m=[{x:-2*w/6,y:0},{x:p-w/6,y:0},{x:p+2*w/6,y:-w},{x:w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function TNt(i,a,f){const p=a.width,w=a.height,m=[{x:2*w/6,y:0},{x:p+w/6,y:0},{x:p-2*w/6,y:-w},{x:-w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function CNt(i,a,f){const p=a.width,w=a.height,m=[{x:-2*w/6,y:0},{x:p+2*w/6,y:0},{x:p-w/6,y:-w},{x:w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function _Nt(i,a,f){const p=a.width,w=a.height,m=[{x:w/6,y:0},{x:p-w/6,y:0},{x:p+2*w/6,y:-w},{x:-2*w/6,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function SNt(i,a,f){const p=a.width,w=a.height,m=[{x:0,y:0},{x:p+w/2,y:0},{x:p,y:-w/2},{x:p+w/2,y:-w},{x:0,y:-w}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function ANt(i,a,f){const p=a.height,w=a.width+p/4,m=i.insert("rect",":first-child").attr("rx",p/2).attr("ry",p/2).attr("x",-w/2).attr("y",-p/2).attr("width",w).attr("height",p);return f.intersect=function(b){return k0t(f,b)},m}function LNt(i,a,f){const p=a.width,w=a.height,m=[{x:0,y:0},{x:p,y:0},{x:p,y:-w},{x:0,y:-w},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-w},{x:-8,y:-w},{x:-8,y:0}],b=O5(i,p,w,m);return f.intersect=function(E){return v3(f,m,E)},b}function MNt(i,a,f){const p=a.width,w=p/2,m=w/(2.5+p/50),b=a.height+m,E="M 0,"+m+" a "+w+","+m+" 0,0,0 "+p+" 0 a "+w+","+m+" 0,0,0 "+-p+" 0 l 0,"+b+" a "+w+","+m+" 0,0,0 "+p+" 0 l 0,"+-b,_=i.attr("label-offset-y",m).insert("path",":first-child").attr("d",E).attr("transform","translate("+-p/2+","+-(b/2+m)+")");return f.intersect=function(A){const I=k0t(f,A),B=I.x-f.x;if(w!=0&&(Math.abs(B)f.height/2-m)){let N=m*m*(1-B*B/(w*w));N!=0&&(N=Math.sqrt(N)),N=m-N,A.y-f.y>0&&(N=-N),I.y+=N}return I},_}function oRe(i){i.shapes().question=yNt,i.shapes().hexagon=xNt,i.shapes().stadium=ANt,i.shapes().subroutine=LNt,i.shapes().cylinder=MNt,i.shapes().rect_left_inv_arrow=kNt,i.shapes().lean_right=ENt,i.shapes().lean_left=TNt,i.shapes().trapezoid=CNt,i.shapes().inv_trapezoid=_Nt,i.shapes().rect_right_inv_arrow=SNt}function cRe(i){i({question:yNt}),i({hexagon:xNt}),i({stadium:ANt}),i({subroutine:LNt}),i({cylinder:MNt}),i({rect_left_inv_arrow:kNt}),i({lean_right:ENt}),i({lean_left:TNt}),i({trapezoid:CNt}),i({inv_trapezoid:_Nt}),i({rect_right_inv_arrow:SNt})}function O5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(w){return w.x+","+w.y}).join(" ")).attr("transform","translate("+-a/2+","+f/2+")")}const uRe={addToRender:oRe,addToRenderV2:cRe},DNt={},lRe=function(i){const a=Object.keys(i);for(const f of a)DNt[f]=i[f]},INt=function(i,a,f,p,w,m){const b=p?p.select(`[id="${f}"]`):yr(`[id="${f}"]`),E=w||document;Object.keys(i).forEach(function(A){const I=i[A];let B="default";I.classes.length>0&&(B=I.classes.join(" "));const N=im(I.styles);let R=I.text!==void 0?I.text:I.id,z;if(o1(Oe().flowchart.htmlLabels)){const st={label:R.replace(/fa[blrs]?:fa-[\w-]+/g,at=>``)};z=b0t(b,st).node(),z.parentNode.removeChild(z)}else{const st=E.createElementNS("http://www.w3.org/2000/svg","text");st.setAttribute("style",N.labelStyle.replace("color:","fill:"));const at=R.split(Kr.lineBreakRegex);for(const bt of at){const mt=E.createElementNS("http://www.w3.org/2000/svg","tspan");mt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),mt.setAttribute("dy","1em"),mt.setAttribute("x","1"),mt.textContent=bt,st.appendChild(mt)}z=st}let W=0,et="";switch(I.type){case"round":W=5,et="rect";break;case"square":et="rect";break;case"diamond":et="question";break;case"hexagon":et="hexagon";break;case"odd":et="rect_left_inv_arrow";break;case"lean_right":et="lean_right";break;case"lean_left":et="lean_left";break;case"trapezoid":et="trapezoid";break;case"inv_trapezoid":et="inv_trapezoid";break;case"odd_right":et="rect_left_inv_arrow";break;case"circle":et="circle";break;case"ellipse":et="ellipse";break;case"stadium":et="stadium";break;case"subroutine":et="subroutine";break;case"cylinder":et="cylinder";break;case"group":et="rect";break;default:et="rect"}Ut.warn("Adding node",I.id,I.domId),a.setNode(m.db.lookUpDomId(I.id),{labelType:"svg",labelStyle:N.labelStyle,shape:et,label:z,rx:W,ry:W,class:B,style:N.style,id:m.db.lookUpDomId(I.id)})})},ONt=function(i,a,f){let p=0,w,m;if(i.defaultStyle!==void 0){const b=im(i.defaultStyle);w=b.style,m=b.labelStyle}i.forEach(function(b){p++;const E="L-"+b.start+"-"+b.end,_="LS-"+b.start,A="LE-"+b.end,I={};b.type==="arrow_open"?I.arrowhead="none":I.arrowhead="normal";let B="",N="";if(b.style!==void 0){const R=im(b.style);B=R.style,N=R.labelStyle}else switch(b.stroke){case"normal":B="fill:none",w!==void 0&&(B=w),m!==void 0&&(N=m);break;case"dotted":B="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":B=" stroke-width: 3.5px;fill:none";break}I.style=B,I.labelStyle=N,b.interpolate!==void 0?I.curve=ew(b.interpolate,cg):i.defaultInterpolate!==void 0?I.curve=ew(i.defaultInterpolate,cg):I.curve=ew(DNt.curve,cg),b.text===void 0?b.style!==void 0&&(I.arrowheadStyle="fill: #333"):(I.arrowheadStyle="fill: #333",I.labelpos="c",o1(Oe().flowchart.htmlLabels)?(I.labelType="html",I.label=`${b.text.replace(/fa[blrs]?:fa-[\w-]+/g,R=>``)}`):(I.labelType="text",I.label=b.text.replace(Kr.lineBreakRegex,` +`),b.style===void 0&&(I.style=I.style||"stroke: #333; stroke-width: 1.5px;fill:none"),I.labelStyle=I.labelStyle.replace("color:","fill:"))),I.id=E,I.class=_+" "+A,I.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),I,p)})},hRe={setConf:lRe,addVertices:INt,addEdges:ONt,getClasses:function(i,a){return Ut.info("Extracting classes"),a.db.getClasses()},draw:function(i,a,f,p){Ut.info("Drawing flowchart");const{securityLevel:w,flowchart:m}=Oe();let b;w==="sandbox"&&(b=yr("#i"+a));const E=yr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=w==="sandbox"?b.nodes()[0].contentDocument:document;let A=p.db.getDirection();A===void 0&&(A="TD");const I=m.nodeSpacing||50,B=m.rankSpacing||50,N=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:A,nodesep:I,ranksep:B,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let R;const z=p.db.getSubGraphs();for(let ft=z.length-1;ft>=0;ft--)R=z[ft],p.db.addVertex(R.id,R.title,"group",void 0,R.classes);const W=p.db.getVertices();Ut.warn("Get vertices",W);const et=p.db.getEdges();let st=0;for(st=z.length-1;st>=0;st--){R=z[st],sMt("cluster").append("text");for(let ft=0;ft{a.forEach(w=>{pRe[w](i,f,p)})},pRe={extension:(i,a,f)=>{Ut.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionStart").attr("class","marker composition "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},PNt=gRe;function bRe(i,a){a&&i.attr("style",a)}function wRe(i){const a=yr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),p=i.label,w=i.isNode?"nodeLabel":"edgeLabel";return f.html('"+p+""),bRe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const gp=(i,a,f,p)=>{let w=i||"";if(typeof w=="object"&&(w=w[0]),o1(Oe().flowchart.htmlLabels)){w=w.replace(/\\n|\n/g,"
    "),Ut.info("vertexText"+w);const m={isNode:p,label:uF(w).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return wRe(m)}else{const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof w=="string"?b=w.split(/\\n|\n|/gi):Array.isArray(w)?b=w:b=[];for(const E of b){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),f?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),m.appendChild(_)}return m}},vRe={};function mRe(i,a){const f=a||vRe,p=typeof f.includeImageAlt=="boolean"?f.includeImageAlt:!0,w=typeof f.includeHtml=="boolean"?f.includeHtml:!0;return FNt(i,p,w)}function FNt(i,a,f){if(yRe(i)){if("value"in i)return i.type==="html"&&!f?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return NNt(i.children,a,f)}return Array.isArray(i)?NNt(i,a,f):""}function NNt(i,a,f){const p=[];let w=-1;for(;++ww?0:w+a:a=a>w?w:a,f=f>0?f:0,p.length<1e4)b=Array.from(p),b.unshift(a,f),i.splice(...b);else for(f&&i.splice(a,f);m0?(m3(i,i.length,0,a),i):a}const BNt={}.hasOwnProperty;function xRe(i){const a={};let f=-1;for(;++fb))return;const ut=a.events.length;let vt=ut,X,pt;for(;vt--;)if(a.events[vt][0]==="exit"&&a.events[vt][1].type==="chunkFlow"){if(X){pt=a.events[vt][1].end;break}X=!0}for(st(p),ft=ut;ftbt;){const yt=f[mt];a.containerState=yt[1],yt[0].exit.call(a,i)}f.length=bt}function at(){w.write([null]),m=void 0,w=void 0,a.containerState._closeFlow=void 0}}function PRe(i,a,f){return il(i,i.attempt(this.parser.constructs.document,a,f),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function jNt(i){if(i===null||pp(i)||LRe(i))return 1;if(ARe(i))return 2}function _0t(i,a,f){const p=[];let w=-1;for(;++w1&&i[f][1].end.offset-i[f][1].start.offset>1?2:1;const B=Object.assign({},i[p][1].end),N=Object.assign({},i[f][1].start);$Nt(B,-_),$Nt(N,_),b={type:_>1?"strongSequence":"emphasisSequence",start:B,end:Object.assign({},i[p][1].end)},E={type:_>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[f][1].start),end:N},m={type:_>1?"strongText":"emphasisText",start:Object.assign({},i[p][1].end),end:Object.assign({},i[f][1].start)},w={type:_>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},E.end)},i[p][1].end=Object.assign({},b.start),i[f][1].start=Object.assign({},E.end),A=[],i[p][1].end.offset-i[p][1].start.offset&&(A=sw(A,[["enter",i[p][1],a],["exit",i[p][1],a]])),A=sw(A,[["enter",w,a],["enter",b,a],["exit",b,a],["enter",m,a]]),A=sw(A,_0t(a.parser.constructs.insideSpan.null,i.slice(p+1,f),a)),A=sw(A,[["exit",m,a],["enter",E,a],["exit",E,a],["exit",w,a]]),i[f][1].end.offset-i[f][1].start.offset?(I=2,A=sw(A,[["enter",i[f][1],a],["exit",i[f][1],a]])):I=0,m3(i,p-1,f-p+3,A),f=p+A.length-I-2;break}}for(f=-1;++f0&&Wc(ft)?il(i,at,"linePrefix",m+1)(ft):at(ft)}function at(ft){return ft===null||xa(ft)?i.check(GNt,W,mt)(ft):(i.enter("codeFlowValue"),bt(ft))}function bt(ft){return ft===null||xa(ft)?(i.exit("codeFlowValue"),at(ft)):(i.consume(ft),bt)}function mt(ft){return i.exit("codeFenced"),a(ft)}function yt(ft,ut,vt){let X=0;return pt;function pt(Ot){return ft.enter("lineEnding"),ft.consume(Ot),ft.exit("lineEnding"),U}function U(Ot){return ft.enter("codeFencedFence"),Wc(Ot)?il(ft,Tt,"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Ot):Tt(Ot)}function Tt(Ot){return Ot===E?(ft.enter("codeFencedFenceSequence"),nt(Ot)):vt(Ot)}function nt(Ot){return Ot===E?(X++,ft.consume(Ot),nt):X>=b?(ft.exit("codeFencedFenceSequence"),Wc(Ot)?il(ft,It,"whitespace")(Ot):It(Ot)):vt(Ot)}function It(Ot){return Ot===null||xa(Ot)?(ft.exit("codeFencedFence"),ut(Ot)):vt(Ot)}}}function URe(i,a,f){const p=this;return w;function w(b){return b===null?f(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),m)}function m(b){return p.parser.lazy[p.now().line]?f(b):a(b)}}const L0t={name:"codeIndented",tokenize:YRe},WRe={tokenize:KRe,partial:!0};function YRe(i,a,f){const p=this;return w;function w(A){return i.enter("codeIndented"),il(i,m,"linePrefix",4+1)(A)}function m(A){const I=p.events[p.events.length-1];return I&&I[1].type==="linePrefix"&&I[2].sliceSerialize(I[1],!0).length>=4?b(A):f(A)}function b(A){return A===null?_(A):xa(A)?i.attempt(WRe,b,_)(A):(i.enter("codeFlowValue"),E(A))}function E(A){return A===null||xa(A)?(i.exit("codeFlowValue"),b(A)):(i.consume(A),E)}function _(A){return i.exit("codeIndented"),a(A)}}function KRe(i,a,f){const p=this;return w;function w(b){return p.parser.lazy[p.now().line]?f(b):xa(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),w):il(i,m,"linePrefix",4+1)(b)}function m(b){const E=p.events[p.events.length-1];return E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):xa(b)?w(b):f(b)}}const XRe={name:"codeText",tokenize:JRe,resolve:QRe,previous:ZRe};function QRe(i){let a=i.length-4,f=3,p,w;if((i[f][1].type==="lineEnding"||i[f][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(p=f;++p=4?a(b):i.interrupt(p.parser.constructs.flow,f,a)(b)}}function YNt(i,a,f,p,w,m,b,E,_){const A=_||Number.POSITIVE_INFINITY;let I=0;return B;function B(st){return st===60?(i.enter(p),i.enter(w),i.enter(m),i.consume(st),i.exit(m),N):st===null||st===32||st===41||T0t(st)?f(st):(i.enter(p),i.enter(b),i.enter(E),i.enter("chunkString",{contentType:"string"}),W(st))}function N(st){return st===62?(i.enter(m),i.consume(st),i.exit(m),i.exit(w),i.exit(p),a):(i.enter(E),i.enter("chunkString",{contentType:"string"}),R(st))}function R(st){return st===62?(i.exit("chunkString"),i.exit(E),N(st)):st===null||st===60||xa(st)?f(st):(i.consume(st),st===92?z:R)}function z(st){return st===60||st===62||st===92?(i.consume(st),R):R(st)}function W(st){return!I&&(st===null||st===41||pp(st))?(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(p),a(st)):I999||R===null||R===91||R===93&&!_||R===94&&!E&&"_hiddenFootnoteSupport"in b.parser.constructs?f(R):R===93?(i.exit(m),i.enter(w),i.consume(R),i.exit(w),i.exit(p),a):xa(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),I):(i.enter("chunkString",{contentType:"string"}),B(R))}function B(R){return R===null||R===91||R===93||xa(R)||E++>999?(i.exit("chunkString"),I(R)):(i.consume(R),_||(_=!Wc(R)),R===92?N:B)}function N(R){return R===91||R===92||R===93?(i.consume(R),E++,B):B(R)}}function XNt(i,a,f,p,w,m){let b;return E;function E(N){return N===34||N===39||N===40?(i.enter(p),i.enter(w),i.consume(N),i.exit(w),b=N===40?41:N,_):f(N)}function _(N){return N===b?(i.enter(w),i.consume(N),i.exit(w),i.exit(p),a):(i.enter(m),A(N))}function A(N){return N===b?(i.exit(m),_(b)):N===null?f(N):xa(N)?(i.enter("lineEnding"),i.consume(N),i.exit("lineEnding"),il(i,A,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),I(N))}function I(N){return N===b||N===null||xa(N)?(i.exit("chunkString"),A(N)):(i.consume(N),N===92?B:I)}function B(N){return N===b||N===92?(i.consume(N),I):I(N)}}function TF(i,a){let f;return p;function p(w){return xa(w)?(i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),f=!0,p):Wc(w)?il(i,p,f?"linePrefix":"lineSuffix")(w):a(w)}}function oL(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const aje={name:"definition",tokenize:cje},oje={tokenize:uje,partial:!0};function cje(i,a,f){const p=this;let w;return m;function m(R){return i.enter("definition"),b(R)}function b(R){return KNt.call(p,i,E,f,"definitionLabel","definitionLabelMarker","definitionLabelString")(R)}function E(R){return w=oL(p.sliceSerialize(p.events[p.events.length-1][1]).slice(1,-1)),R===58?(i.enter("definitionMarker"),i.consume(R),i.exit("definitionMarker"),_):f(R)}function _(R){return pp(R)?TF(i,A)(R):A(R)}function A(R){return YNt(i,I,f,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(R)}function I(R){return i.attempt(oje,B,B)(R)}function B(R){return Wc(R)?il(i,N,"whitespace")(R):N(R)}function N(R){return R===null||xa(R)?(i.exit("definition"),p.parser.defined.push(w),a(R)):f(R)}}function uje(i,a,f){return p;function p(E){return pp(E)?TF(i,w)(E):f(E)}function w(E){return XNt(i,m,f,"definitionTitle","definitionTitleMarker","definitionTitleString")(E)}function m(E){return Wc(E)?il(i,b,"whitespace")(E):b(E)}function b(E){return E===null||xa(E)?a(E):f(E)}}const lje={name:"hardBreakEscape",tokenize:hje};function hje(i,a,f){return p;function p(m){return i.enter("hardBreakEscape"),i.consume(m),w}function w(m){return xa(m)?(i.exit("hardBreakEscape"),a(m)):f(m)}}const fje={name:"headingAtx",tokenize:gje,resolve:dje};function dje(i,a){let f=i.length-2,p=3,w,m;return i[p][1].type==="whitespace"&&(p+=2),f-2>p&&i[f][1].type==="whitespace"&&(f-=2),i[f][1].type==="atxHeadingSequence"&&(p===f-1||f-4>p&&i[f-2][1].type==="whitespace")&&(f-=p+1===f?2:4),f>p&&(w={type:"atxHeadingText",start:i[p][1].start,end:i[f][1].end},m={type:"chunkText",start:i[p][1].start,end:i[f][1].end,contentType:"text"},m3(i,p,f-p+1,[["enter",w,a],["enter",m,a],["exit",m,a],["exit",w,a]])),i}function gje(i,a,f){let p=0;return w;function w(I){return i.enter("atxHeading"),m(I)}function m(I){return i.enter("atxHeadingSequence"),b(I)}function b(I){return I===35&&p++<6?(i.consume(I),b):I===null||pp(I)?(i.exit("atxHeadingSequence"),E(I)):f(I)}function E(I){return I===35?(i.enter("atxHeadingSequence"),_(I)):I===null||xa(I)?(i.exit("atxHeading"),a(I)):Wc(I)?il(i,E,"whitespace")(I):(i.enter("atxHeadingText"),A(I))}function _(I){return I===35?(i.consume(I),_):(i.exit("atxHeadingSequence"),E(I))}function A(I){return I===null||I===35||pp(I)?(i.exit("atxHeadingText"),E(I)):(i.consume(I),A)}}const pje=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],QNt=["pre","script","style","textarea"],bje={name:"htmlFlow",tokenize:yje,resolveTo:mje,concrete:!0},wje={tokenize:kje,partial:!0},vje={tokenize:xje,partial:!0};function mje(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function yje(i,a,f){const p=this;let w,m,b,E,_;return A;function A(Ft){return I(Ft)}function I(Ft){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ft),B}function B(Ft){return Ft===33?(i.consume(Ft),N):Ft===47?(i.consume(Ft),m=!0,W):Ft===63?(i.consume(Ft),w=3,p.interrupt?a:xt):y3(Ft)?(i.consume(Ft),b=String.fromCharCode(Ft),et):f(Ft)}function N(Ft){return Ft===45?(i.consume(Ft),w=2,R):Ft===91?(i.consume(Ft),w=5,E=0,z):y3(Ft)?(i.consume(Ft),w=4,p.interrupt?a:xt):f(Ft)}function R(Ft){return Ft===45?(i.consume(Ft),p.interrupt?a:xt):f(Ft)}function z(Ft){const gn="CDATA[";return Ft===gn.charCodeAt(E++)?(i.consume(Ft),E===gn.length?p.interrupt?a:Tt:z):f(Ft)}function W(Ft){return y3(Ft)?(i.consume(Ft),b=String.fromCharCode(Ft),et):f(Ft)}function et(Ft){if(Ft===null||Ft===47||Ft===62||pp(Ft)){const gn=Ft===47,Se=b.toLowerCase();return!gn&&!m&&QNt.includes(Se)?(w=1,p.interrupt?a(Ft):Tt(Ft)):pje.includes(b.toLowerCase())?(w=6,gn?(i.consume(Ft),st):p.interrupt?a(Ft):Tt(Ft)):(w=7,p.interrupt&&!p.parser.lazy[p.now().line]?f(Ft):m?at(Ft):bt(Ft))}return Ft===45||lm(Ft)?(i.consume(Ft),b+=String.fromCharCode(Ft),et):f(Ft)}function st(Ft){return Ft===62?(i.consume(Ft),p.interrupt?a:Tt):f(Ft)}function at(Ft){return Wc(Ft)?(i.consume(Ft),at):pt(Ft)}function bt(Ft){return Ft===47?(i.consume(Ft),pt):Ft===58||Ft===95||y3(Ft)?(i.consume(Ft),mt):Wc(Ft)?(i.consume(Ft),bt):pt(Ft)}function mt(Ft){return Ft===45||Ft===46||Ft===58||Ft===95||lm(Ft)?(i.consume(Ft),mt):yt(Ft)}function yt(Ft){return Ft===61?(i.consume(Ft),ft):Wc(Ft)?(i.consume(Ft),yt):bt(Ft)}function ft(Ft){return Ft===null||Ft===60||Ft===61||Ft===62||Ft===96?f(Ft):Ft===34||Ft===39?(i.consume(Ft),_=Ft,ut):Wc(Ft)?(i.consume(Ft),ft):vt(Ft)}function ut(Ft){return Ft===_?(i.consume(Ft),_=null,X):Ft===null||xa(Ft)?f(Ft):(i.consume(Ft),ut)}function vt(Ft){return Ft===null||Ft===34||Ft===39||Ft===47||Ft===60||Ft===61||Ft===62||Ft===96||pp(Ft)?yt(Ft):(i.consume(Ft),vt)}function X(Ft){return Ft===47||Ft===62||Wc(Ft)?bt(Ft):f(Ft)}function pt(Ft){return Ft===62?(i.consume(Ft),U):f(Ft)}function U(Ft){return Ft===null||xa(Ft)?Tt(Ft):Wc(Ft)?(i.consume(Ft),U):f(Ft)}function Tt(Ft){return Ft===45&&w===2?(i.consume(Ft),Bt):Ft===60&&w===1?(i.consume(Ft),Et):Ft===62&&w===4?(i.consume(Ft),Ht):Ft===63&&w===3?(i.consume(Ft),xt):Ft===93&&w===5?(i.consume(Ft),Ct):xa(Ft)&&(w===6||w===7)?(i.exit("htmlFlowData"),i.check(wje,Le,nt)(Ft)):Ft===null||xa(Ft)?(i.exit("htmlFlowData"),nt(Ft)):(i.consume(Ft),Tt)}function nt(Ft){return i.check(vje,It,Le)(Ft)}function It(Ft){return i.enter("lineEnding"),i.consume(Ft),i.exit("lineEnding"),Ot}function Ot(Ft){return Ft===null||xa(Ft)?nt(Ft):(i.enter("htmlFlowData"),Tt(Ft))}function Bt(Ft){return Ft===45?(i.consume(Ft),xt):Tt(Ft)}function Et(Ft){return Ft===47?(i.consume(Ft),b="",Z):Tt(Ft)}function Z(Ft){if(Ft===62){const gn=b.toLowerCase();return QNt.includes(gn)?(i.consume(Ft),Ht):Tt(Ft)}return y3(Ft)&&b.length<8?(i.consume(Ft),b+=String.fromCharCode(Ft),Z):Tt(Ft)}function Ct(Ft){return Ft===93?(i.consume(Ft),xt):Tt(Ft)}function xt(Ft){return Ft===62?(i.consume(Ft),Ht):Ft===45&&w===2?(i.consume(Ft),xt):Tt(Ft)}function Ht(Ft){return Ft===null||xa(Ft)?(i.exit("htmlFlowData"),Le(Ft)):(i.consume(Ft),Ht)}function Le(Ft){return i.exit("htmlFlow"),a(Ft)}}function xje(i,a,f){const p=this;return w;function w(b){return xa(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),m):f(b)}function m(b){return p.parser.lazy[p.now().line]?f(b):a(b)}}function kje(i,a,f){return p;function p(w){return i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),i.attempt(yY,a,f)}}const Eje={name:"htmlText",tokenize:Tje};function Tje(i,a,f){const p=this;let w,m,b;return E;function E(xt){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(xt),_}function _(xt){return xt===33?(i.consume(xt),A):xt===47?(i.consume(xt),yt):xt===63?(i.consume(xt),bt):y3(xt)?(i.consume(xt),vt):f(xt)}function A(xt){return xt===45?(i.consume(xt),I):xt===91?(i.consume(xt),m=0,z):y3(xt)?(i.consume(xt),at):f(xt)}function I(xt){return xt===45?(i.consume(xt),R):f(xt)}function B(xt){return xt===null?f(xt):xt===45?(i.consume(xt),N):xa(xt)?(b=B,Et(xt)):(i.consume(xt),B)}function N(xt){return xt===45?(i.consume(xt),R):B(xt)}function R(xt){return xt===62?Bt(xt):xt===45?N(xt):B(xt)}function z(xt){const Ht="CDATA[";return xt===Ht.charCodeAt(m++)?(i.consume(xt),m===Ht.length?W:z):f(xt)}function W(xt){return xt===null?f(xt):xt===93?(i.consume(xt),et):xa(xt)?(b=W,Et(xt)):(i.consume(xt),W)}function et(xt){return xt===93?(i.consume(xt),st):W(xt)}function st(xt){return xt===62?Bt(xt):xt===93?(i.consume(xt),st):W(xt)}function at(xt){return xt===null||xt===62?Bt(xt):xa(xt)?(b=at,Et(xt)):(i.consume(xt),at)}function bt(xt){return xt===null?f(xt):xt===63?(i.consume(xt),mt):xa(xt)?(b=bt,Et(xt)):(i.consume(xt),bt)}function mt(xt){return xt===62?Bt(xt):bt(xt)}function yt(xt){return y3(xt)?(i.consume(xt),ft):f(xt)}function ft(xt){return xt===45||lm(xt)?(i.consume(xt),ft):ut(xt)}function ut(xt){return xa(xt)?(b=ut,Et(xt)):Wc(xt)?(i.consume(xt),ut):Bt(xt)}function vt(xt){return xt===45||lm(xt)?(i.consume(xt),vt):xt===47||xt===62||pp(xt)?X(xt):f(xt)}function X(xt){return xt===47?(i.consume(xt),Bt):xt===58||xt===95||y3(xt)?(i.consume(xt),pt):xa(xt)?(b=X,Et(xt)):Wc(xt)?(i.consume(xt),X):Bt(xt)}function pt(xt){return xt===45||xt===46||xt===58||xt===95||lm(xt)?(i.consume(xt),pt):U(xt)}function U(xt){return xt===61?(i.consume(xt),Tt):xa(xt)?(b=U,Et(xt)):Wc(xt)?(i.consume(xt),U):X(xt)}function Tt(xt){return xt===null||xt===60||xt===61||xt===62||xt===96?f(xt):xt===34||xt===39?(i.consume(xt),w=xt,nt):xa(xt)?(b=Tt,Et(xt)):Wc(xt)?(i.consume(xt),Tt):(i.consume(xt),It)}function nt(xt){return xt===w?(i.consume(xt),w=void 0,Ot):xt===null?f(xt):xa(xt)?(b=nt,Et(xt)):(i.consume(xt),nt)}function It(xt){return xt===null||xt===34||xt===39||xt===60||xt===61||xt===96?f(xt):xt===47||xt===62||pp(xt)?X(xt):(i.consume(xt),It)}function Ot(xt){return xt===47||xt===62||pp(xt)?X(xt):f(xt)}function Bt(xt){return xt===62?(i.consume(xt),i.exit("htmlTextData"),i.exit("htmlText"),a):f(xt)}function Et(xt){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(xt),i.exit("lineEnding"),Z}function Z(xt){return Wc(xt)?il(i,Ct,"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(xt):Ct(xt)}function Ct(xt){return i.enter("htmlTextData"),b(xt)}}const M0t={name:"labelEnd",tokenize:Mje,resolveTo:Lje,resolveAll:Aje},Cje={tokenize:Dje},_je={tokenize:Ije},Sje={tokenize:Oje};function Aje(i){let a=-1;for(;++a=3&&(A===null||xa(A))?(i.exit("thematicBreak"),a(A)):f(A)}function _(A){return A===w?(i.consume(A),p++,_):(i.exit("thematicBreakSequence"),Wc(A)?il(i,E,"whitespace")(A):E(A))}}const bp={name:"list",tokenize:qje,continuation:{tokenize:Hje},exit:Gje},$je={tokenize:Uje,partial:!0},zje={tokenize:Vje,partial:!0};function qje(i,a,f){const p=this,w=p.events[p.events.length-1];let m=w&&w[1].type==="linePrefix"?w[2].sliceSerialize(w[1],!0).length:0,b=0;return E;function E(R){const z=p.containerState.type||(R===42||R===43||R===45?"listUnordered":"listOrdered");if(z==="listUnordered"?!p.containerState.marker||R===p.containerState.marker:C0t(R)){if(p.containerState.type||(p.containerState.type=z,i.enter(z,{_container:!0})),z==="listUnordered")return i.enter("listItemPrefix"),R===42||R===45?i.check(xY,f,A)(R):A(R);if(!p.interrupt||R===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),_(R)}return f(R)}function _(R){return C0t(R)&&++b<10?(i.consume(R),_):(!p.interrupt||b<2)&&(p.containerState.marker?R===p.containerState.marker:R===41||R===46)?(i.exit("listItemValue"),A(R)):f(R)}function A(R){return i.enter("listItemMarker"),i.consume(R),i.exit("listItemMarker"),p.containerState.marker=p.containerState.marker||R,i.check(yY,p.interrupt?f:I,i.attempt($je,N,B))}function I(R){return p.containerState.initialBlankLine=!0,m++,N(R)}function B(R){return Wc(R)?(i.enter("listItemPrefixWhitespace"),i.consume(R),i.exit("listItemPrefixWhitespace"),N):f(R)}function N(R){return p.containerState.size=m+p.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(R)}}function Hje(i,a,f){const p=this;return p.containerState._closeFlow=void 0,i.check(yY,w,m);function w(E){return p.containerState.furtherBlankLines=p.containerState.furtherBlankLines||p.containerState.initialBlankLine,il(i,a,"listItemIndent",p.containerState.size+1)(E)}function m(E){return p.containerState.furtherBlankLines||!Wc(E)?(p.containerState.furtherBlankLines=void 0,p.containerState.initialBlankLine=void 0,b(E)):(p.containerState.furtherBlankLines=void 0,p.containerState.initialBlankLine=void 0,i.attempt(zje,a,b)(E))}function b(E){return p.containerState._closeFlow=!0,p.interrupt=void 0,il(i,i.attempt(bp,a,f),"linePrefix",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E)}}function Vje(i,a,f){const p=this;return il(i,w,"listItemIndent",p.containerState.size+1);function w(m){const b=p.events[p.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===p.containerState.size?a(m):f(m)}}function Gje(i){i.exit(this.containerState.type)}function Uje(i,a,f){const p=this;return il(i,w,"listItemPrefixWhitespace",p.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function w(m){const b=p.events[p.events.length-1];return!Wc(m)&&b&&b[1].type==="listItemPrefixWhitespace"?a(m):f(m)}}const ZNt={name:"setextUnderline",tokenize:Yje,resolveTo:Wje};function Wje(i,a){let f=i.length,p,w,m;for(;f--;)if(i[f][0]==="enter"){if(i[f][1].type==="content"){p=f;break}i[f][1].type==="paragraph"&&(w=f)}else i[f][1].type==="content"&&i.splice(f,1),!m&&i[f][1].type==="definition"&&(m=f);const b={type:"setextHeading",start:Object.assign({},i[w][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[w][1].type="setextHeadingText",m?(i.splice(w,0,["enter",b,a]),i.splice(m+1,0,["exit",i[p][1],a]),i[p][1].end=Object.assign({},i[m][1].end)):i[p][1]=b,i.push(["exit",b,a]),i}function Yje(i,a,f){const p=this;let w;return m;function m(A){let I=p.events.length,B;for(;I--;)if(p.events[I][1].type!=="lineEnding"&&p.events[I][1].type!=="linePrefix"&&p.events[I][1].type!=="content"){B=p.events[I][1].type==="paragraph";break}return!p.parser.lazy[p.now().line]&&(p.interrupt||B)?(i.enter("setextHeadingLine"),w=A,b(A)):f(A)}function b(A){return i.enter("setextHeadingLineSequence"),E(A)}function E(A){return A===w?(i.consume(A),E):(i.exit("setextHeadingLineSequence"),Wc(A)?il(i,_,"lineSuffix")(A):_(A))}function _(A){return A===null||xa(A)?(i.exit("setextHeadingLine"),a(A)):f(A)}}const Kje={tokenize:Xje};function Xje(i){const a=this,f=i.attempt(yY,p,i.attempt(this.parser.constructs.flowInitial,w,il(i,i.attempt(this.parser.constructs.flow,w,i.attempt(eje,w)),"linePrefix")));return f;function p(m){if(m===null){i.consume(m);return}return i.enter("lineEndingBlank"),i.consume(m),i.exit("lineEndingBlank"),a.currentConstruct=void 0,f}function w(m){if(m===null){i.consume(m);return}return i.enter("lineEnding"),i.consume(m),i.exit("lineEnding"),a.currentConstruct=void 0,f}}const Qje={resolveAll:tBt()},Zje=JNt("string"),Jje=JNt("text");function JNt(i){return{tokenize:a,resolveAll:tBt(i==="text"?t$e:void 0)};function a(f){const p=this,w=this.parser.constructs[i],m=f.attempt(w,b,E);return b;function b(I){return A(I)?m(I):E(I)}function E(I){if(I===null){f.consume(I);return}return f.enter("data"),f.consume(I),_}function _(I){return A(I)?(f.exit("data"),m(I)):(f.consume(I),_)}function A(I){if(I===null)return!0;const B=w[I];let N=-1;if(B)for(;++N-1){const E=b[0];typeof E=="string"?b[0]=E.slice(p):b.shift()}m>0&&b.push(i[w].slice(0,m))}return b}function r$e(i,a){let f=-1;const p=[];let w;for(;++f13&&f<32||f>126&&f<160||f>55295&&f<57344||f>64975&&f<65008||(f&65535)===65535||(f&65535)===65534||f>1114111?"�":String.fromCharCode(f)}const c$e=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function u$e(i){return i.replace(c$e,l$e)}function l$e(i,a,f){if(a)return a;if(f.charCodeAt(0)===35){const w=f.charCodeAt(1),m=w===120||w===88;return nBt(f.slice(m?2:1),m?16:10)}return A0t(f)||i}function kY(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?rBt(i.position):"start"in i||"end"in i?rBt(i):"line"in i||"column"in i?I0t(i):""}function I0t(i){return iBt(i&&i.line)+":"+iBt(i&&i.column)}function rBt(i){return I0t(i&&i.start)+"-"+I0t(i&&i.end)}function iBt(i){return i&&typeof i=="number"?i:1}const sBt={}.hasOwnProperty,aBt=function(i,a,f){return typeof a!="string"&&(f=a,a=void 0),h$e(f)(o$e(s$e(f).document().write(a$e()(i,a,!0))))};function h$e(i){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:E(Ks),autolinkProtocol:U,autolinkEmail:U,atxHeading:E(Me),blockQuote:E(zt),characterEscape:U,characterReference:U,codeFenced:E(re),codeFencedFenceInfo:_,codeFencedFenceMeta:_,codeIndented:E(re,_),codeText:E(se,_),codeTextData:U,data:U,codeFlowValue:U,definition:E(Pe),definitionDestinationString:_,definitionLabelString:_,definitionTitleString:_,emphasis:E(te),hardBreakEscape:E(de),hardBreakTrailing:E(de),htmlFlow:E(on,_),htmlFlowData:U,htmlText:E(on,_),htmlTextData:U,image:E(ni),label:_,link:E(Ks),listItem:E(fo),listItemValue:z,listOrdered:E(ws,R),listUnordered:E(ws),paragraph:E(Xi),reference:Se,referenceString:_,resourceDestinationString:_,resourceTitleString:_,setextHeading:E(Me),strong:E(Er),thematicBreak:E(di)},exit:{atxHeading:I(),atxHeadingSequence:ut,autolink:I(),autolinkEmail:ke,autolinkProtocol:ce,blockQuote:I(),characterEscapeValue:Tt,characterReferenceMarkerHexadecimal:Ve,characterReferenceMarkerNumeric:Ve,characterReferenceValue:Ye,codeFenced:I(at),codeFencedFence:st,codeFencedFenceInfo:W,codeFencedFenceMeta:et,codeFlowValue:Tt,codeIndented:I(bt),codeText:I(Et),codeTextData:Tt,data:Tt,definition:I(),definitionDestinationString:ft,definitionLabelString:mt,definitionTitleString:yt,emphasis:I(),hardBreakEscape:I(It),hardBreakTrailing:I(It),htmlFlow:I(Ot),htmlFlowData:Tt,htmlText:I(Bt),htmlTextData:Tt,image:I(Ct),label:Ht,labelText:xt,lineEnding:nt,link:I(Z),listItem:I(),listOrdered:I(),listUnordered:I(),paragraph:I(),referenceString:me,resourceDestinationString:Le,resourceTitleString:Ft,resource:gn,setextHeading:I(pt),setextHeadingLineSequence:X,setextHeadingText:vt,strong:I(),thematicBreak:I()}};oBt(a,(i||{}).mdastExtensions||[]);const f={};return p;function p(Ee){let Kn={type:"root",children:[]};const He={stack:[Kn],tokenStack:[],config:a,enter:A,exit:B,buffer:_,resume:N,setData:m,getData:b},Ti=[];let pn=-1;for(;++pn0){const Es=He.tokenStack[He.tokenStack.length-1];(Es[1]||cBt).call(He,void 0,Es[0])}for(Kn.position={start:wk(Ee.length>0?Ee[0][1].start:{line:1,column:1,offset:0}),end:wk(Ee.length>0?Ee[Ee.length-2][1].end:{line:1,column:1,offset:0})},pn=-1;++pn{I!==0&&(w++,p.push([])),A.split(" ").forEach(B=>{B&&p[w].push({content:B,type:E})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(_=>{m(_,b.type)})}return f.forEach(b=>{b.type==="paragraph"&&b.children.forEach(E=>{m(E)})}),p}function p$e(i){const{children:a}=aBt(i);function f(p){return p.type==="text"?p.value.replace(/\n/g,"
    "):p.type==="strong"?`${p.children.map(f).join("")}`:p.type==="emphasis"?`${p.children.map(f).join("")}`:p.type==="paragraph"?`

    ${p.children.map(f).join("")}

    `:`Unsupported markdown: ${p.type}`}return a.map(f).join("")}function b$e(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(a=>a.segment):[...i]}function w$e(i,a){const f=b$e(a.content);return uBt(i,[],f,a.type)}function uBt(i,a,f,p){if(f.length===0)return[{content:a.join(""),type:p},{content:"",type:p}];const[w,...m]=f,b=[...a,w];return i([{content:b.join(""),type:p}])?uBt(i,b,m,p):(a.length===0&&w&&(a.push(w),f.shift()),[{content:a.join(""),type:p},{content:f.join(""),type:p}])}function v$e(i,a){if(i.some(({content:f})=>f.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return O0t(i,a)}function O0t(i,a,f=[],p=[]){if(i.length===0)return p.length>0&&f.push(p),f.length>0?f:[];let w="";i[0].content===" "&&(w=" ",i.shift());const m=i.shift()??{content:" ",type:"normal"},b=[...p];if(w!==""&&b.push({content:w,type:"normal"}),b.push(m),a(b))return O0t(i,a,f,b);if(p.length>0)f.push(p),i.unshift(m);else if(m.content){const[E,_]=w$e(a,m);f.push([E]),_.content&&i.unshift(_)}return O0t(i,a,f)}function m$e(i,a){a&&i.attr("style",a)}function y$e(i,a,f,p,w=!1){const m=i.append("foreignObject"),b=m.append("xhtml:div"),E=a.label,_=a.isNode?"nodeLabel":"edgeLabel";b.html(` + "+E+""),m$e(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",f+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),w&&b.attr("class","labelBkg");let A=b.node().getBoundingClientRect();return A.width===f&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",f+"px"),A=b.node().getBoundingClientRect()),m.style("width",A.width),m.style("height",A.height),m.node()}function P0t(i,a,f){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*f-.1+"em").attr("dy",f+"em")}function x$e(i,a,f){const p=i.append("text"),w=P0t(p,1,a);F0t(w,f);const m=w.node().getComputedTextLength();return p.remove(),m}function k$e(i,a,f){var b;const p=i.append("text"),w=P0t(p,1,a);F0t(w,[{content:f,type:"normal"}]);const m=(b=w.node())==null?void 0:b.getBoundingClientRect();return m&&p.remove(),m}function E$e(i,a,f,p=!1){const m=a.append("g"),b=m.insert("rect").attr("class","background"),E=m.append("text").attr("y","-10.1");let _=0;for(const A of f){const I=N=>x$e(m,1.1,N)<=i,B=I(A)?[A]:v$e(A,I);for(const N of B){const R=P0t(E,_,1.1);F0t(R,N),_++}}if(p){const A=E.node().getBBox(),I=2;return b.attr("x",-I).attr("y",-I).attr("width",A.width+2*I).attr("height",A.height+2*I),m.node()}else return E.node()}function F0t(i,a){i.text(""),a.forEach((f,p)=>{const w=i.append("tspan").attr("font-style",f.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",f.type==="strong"?"bold":"normal");p===0?w.text(f.content):w.text(" "+f.content)})}const EY=(i,a="",{style:f="",isTitle:p=!1,classes:w="",useHtmlLabels:m=!0,isNode:b=!0,width:E=200,addSvgBackground:_=!1}={})=>{if(Ut.info("createText",a,f,p,w,m,b,_),m){const A=p$e(a),I={isNode:b,label:uF(A).replace(/fa[blrs]?:fa-[\w-]+/g,N=>``),labelStyle:f.replace("fill:","color:")};return y$e(i,I,E,w,_)}else{const A=g$e(a);return E$e(E,i,A,_)}},Nd=async(i,a,f,p)=>{let w;const m=a.useHtmlLabels||o1(Oe().flowchart.htmlLabels);f?w=f:w="node default";const b=i.insert("g").attr("class",w).attr("id",a.domId||a.id),E=b.insert("g").attr("class","label").attr("style",a.labelStyle);let _;a.labelText===void 0?_="":_=typeof a.labelText=="string"?a.labelText:a.labelText[0];const A=E.node();let I;a.labelType==="markdown"?I=EY(E,Q1(uF(_),Oe()),{useHtmlLabels:m,width:a.width||Oe().flowchart.wrappingWidth,classes:"markdown-node-label"}):I=A.appendChild(gp(Q1(uF(_),Oe()),a.labelStyle,!1,p));let B=I.getBBox();const N=a.padding/2;if(o1(Oe().flowchart.htmlLabels)){const R=I.children[0],z=yr(I),W=R.getElementsByTagName("img");if(W){const et=_.replace(/]*>/g,"").trim()==="";await Promise.all([...W].map(st=>new Promise(at=>{function bt(){if(st.style.display="flex",st.style.flexDirection="column",et){const mt=Oe().fontSize?Oe().fontSize:window.getComputedStyle(document.body).fontSize,yt=5;st.style.width=parseInt(mt,10)*yt+"px"}else st.style.width="100%";at(st)}setTimeout(()=>{st.complete&&bt()}),st.addEventListener("error",bt),st.addEventListener("load",bt)})))}B=R.getBoundingClientRect(),z.attr("width",B.width),z.attr("height",B.height)}return m?E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"):E.attr("transform","translate(0, "+-B.height/2+")"),a.centerLabel&&E.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),E.insert("rect",":first-child"),{shapeSvg:b,bbox:B,halfPadding:N,label:E}},tf=(i,a)=>{const f=a.node().getBBox();i.width=f.width,i.height=f.height};function F5(i,a,f,p){return i.insert("polygon",":first-child").attr("points",p.map(function(w){return w.x+","+w.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+f/2+")")}let Ho={},hm={},lBt={};const T$e=()=>{hm={},lBt={},Ho={}},TY=(i,a)=>(Ut.trace("In isDecendant",a," ",i," = ",hm[a].includes(i)),!!hm[a].includes(i)),C$e=(i,a)=>(Ut.info("Decendants of ",a," is ",hm[a]),Ut.info("Edge is ",i),i.v===a||i.w===a?!1:hm[a]?hm[a].includes(i.v)||TY(i.v,a)||TY(i.w,a)||hm[a].includes(i.w):(Ut.debug("Tilt, ",a,",not in decendants"),!1)),hBt=(i,a,f,p)=>{Ut.warn("Copying children of ",i,"root",p,"data",a.node(i),p);const w=a.children(i)||[];i!==p&&w.push(i),Ut.warn("Copying (nodes) clusterId",i,"nodes",w),w.forEach(m=>{if(a.children(m).length>0)hBt(m,a,f,p);else{const b=a.node(m);Ut.info("cp ",m," to ",p," with parent ",i),f.setNode(m,b),p!==a.parent(m)&&(Ut.warn("Setting parent",m,a.parent(m)),f.setParent(m,a.parent(m))),i!==p&&m!==i?(Ut.debug("Setting parent",m,i),f.setParent(m,i)):(Ut.info("In copy ",i,"root",p,"data",a.node(i),p),Ut.debug("Not Setting parent for node=",m,"cluster!==rootId",i!==p,"node!==clusterId",m!==i));const E=a.edges(m);Ut.debug("Copying Edges",E),E.forEach(_=>{Ut.info("Edge",_);const A=a.edge(_.v,_.w,_.name);Ut.info("Edge data",A,p);try{C$e(_,p)?(Ut.info("Copying as ",_.v,_.w,A,_.name),f.setEdge(_.v,_.w,A,_.name),Ut.info("newGraph edges ",f.edges(),f.edge(f.edges()[0]))):Ut.info("Skipping copy of edge ",_.v,"-->",_.w," rootId: ",p," clusterId:",i)}catch(I){Ut.error(I)}})}Ut.debug("Removing node",m),a.removeNode(m)})},fBt=(i,a)=>{const f=a.children(i);let p=[...f];for(const w of f)lBt[w]=i,p=[...p,...fBt(w,a)];return p},CF=(i,a)=>{Ut.trace("Searching",i);const f=a.children(i);if(Ut.trace("Searching children of id ",i,f),f.length<1)return Ut.trace("This is a valid node",i),i;for(const p of f){const w=CF(p,a);if(w)return Ut.trace("Found replacement for",i," => ",w),w}},CY=i=>!Ho[i]||!Ho[i].externalConnections?i:Ho[i]?Ho[i].id:i,_$e=(i,a)=>{if(!i||a>10){Ut.debug("Opting out, no graph ");return}else Ut.debug("Opting in, graph ");i.nodes().forEach(function(f){i.children(f).length>0&&(Ut.warn("Cluster identified",f," Replacement id in edges: ",CF(f,i)),hm[f]=fBt(f,i),Ho[f]={id:CF(f,i),clusterData:i.node(f)})}),i.nodes().forEach(function(f){const p=i.children(f),w=i.edges();p.length>0?(Ut.debug("Cluster identified",f,hm),w.forEach(m=>{if(m.v!==f&&m.w!==f){const b=TY(m.v,f),E=TY(m.w,f);b^E&&(Ut.warn("Edge: ",m," leaves cluster ",f),Ut.warn("Decendants of XXX ",f,": ",hm[f]),Ho[f].externalConnections=!0)}})):Ut.debug("Not a cluster ",f,hm)}),i.edges().forEach(function(f){const p=i.edge(f);Ut.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(f)),Ut.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i.edge(f)));let w=f.v,m=f.w;if(Ut.warn("Fix XXX",Ho,"ids:",f.v,f.w,"Translating: ",Ho[f.v]," --- ",Ho[f.w]),Ho[f.v]&&Ho[f.w]&&Ho[f.v]===Ho[f.w]){Ut.warn("Fixing and trixing link to self - removing XXX",f.v,f.w,f.name),Ut.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=CY(f.v),m=CY(f.w),i.removeEdge(f.v,f.w,f.name);const b=f.w+"---"+f.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:p.label,padding:0,shape:"labelRect",style:""});const E=structuredClone(p),_=structuredClone(p);E.label="",E.arrowTypeEnd="none",_.label="",E.fromCluster=f.v,_.toCluster=f.v,i.setEdge(w,b,E,f.name+"-cyclic-special"),i.setEdge(b,m,_,f.name+"-cyclic-special")}else(Ho[f.v]||Ho[f.w])&&(Ut.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=CY(f.v),m=CY(f.w),i.removeEdge(f.v,f.w,f.name),w!==f.v&&(p.fromCluster=f.v),m!==f.w&&(p.toCluster=f.w),Ut.warn("Fix Replacing with XXX",w,m,f.name),i.setEdge(w,m,p,f.name))}),Ut.warn("Adjusted Graph",P5(i)),dBt(i,0),Ut.trace(Ho)},dBt=(i,a)=>{if(Ut.warn("extractor - ",a,P5(i),i.children("D")),a>10){Ut.error("Bailing out");return}let f=i.nodes(),p=!1;for(const w of f){const m=i.children(w);p=p||m.length>0}if(!p){Ut.debug("Done, no node has children",i.nodes());return}Ut.debug("Nodes = ",f,a);for(const w of f)if(Ut.debug("Extracting node",w,Ho,Ho[w]&&!Ho[w].externalConnections,!i.parent(w),i.node(w),i.children("D")," Depth ",a),!Ho[w])Ut.debug("Not a cluster",w,a);else if(!Ho[w].externalConnections&&i.children(w)&&i.children(w).length>0){Ut.warn("Cluster without external connections, without a parent and with children",w,a);let b=i.graph().rankdir==="TB"?"LR":"TB";Ho[w]&&Ho[w].clusterData&&Ho[w].clusterData.dir&&(b=Ho[w].clusterData.dir,Ut.warn("Fixing dir",Ho[w].clusterData.dir,b));const E=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Ut.warn("Old graph before copy",P5(i)),hBt(w,i,E,w),i.setNode(w,{clusterNode:!0,id:w,clusterData:Ho[w].clusterData,labelText:Ho[w].labelText,graph:E}),Ut.warn("New graph after copy node: (",w,")",P5(E)),Ut.debug("Old graph after copy",P5(i))}else Ut.warn("Cluster ** ",w," **not meeting the criteria !externalConnections:",!Ho[w].externalConnections," no parent: ",!i.parent(w)," children ",i.children(w)&&i.children(w).length>0,i.children("D"),a),Ut.debug(Ho);f=i.nodes(),Ut.warn("New list of nodes",f);for(const w of f){const m=i.node(w);Ut.warn(" Now next level",w,m),m.clusterNode&&dBt(m.graph,a+1)}},gBt=(i,a)=>{if(a.length===0)return[];let f=Object.assign(a);return a.forEach(p=>{const w=i.children(p),m=gBt(i,w);f=[...f,...m]}),f},S$e=i=>gBt(i,i.children());function A$e(i,a){return i.intersect(a)}function pBt(i,a,f,p){var w=i.x,m=i.y,b=w-p.x,E=m-p.y,_=Math.sqrt(a*a*E*E+f*f*b*b),A=Math.abs(a*f*b/_);p.x0}function D$e(i,a,f){var p=i.x,w=i.y,m=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)}):(b=Math.min(b,a.x),E=Math.min(E,a.y));for(var _=p-i.width/2-b,A=w-i.height/2-E,I=0;I1&&m.sort(function(z,W){var et=z.x-f.x,st=z.y-f.y,at=Math.sqrt(et*et+st*st),bt=W.x-f.x,mt=W.y-f.y,yt=Math.sqrt(bt*bt+mt*mt);return at{var f=i.x,p=i.y,w=a.x-f,m=a.y-p,b=i.width/2,E=i.height/2,_,A;return Math.abs(m)*b>Math.abs(w)*E?(m<0&&(E=-E),_=m===0?0:E*w/m,A=E):(w<0&&(b=-b),_=b,A=w===0?0:b*m/w),{x:f+_,y:p+A}},kh={node:A$e,circle:L$e,ellipse:pBt,polygon:D$e,rect:_F},I$e=async(i,a)=>{a.useHtmlLabels||Oe().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:p,bbox:w,halfPadding:m}=await Nd(i,a,"node "+a.classes,!0);Ut.info("Classes = ",a.classes);const b=p.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-w.width/2-m).attr("y",-w.height/2-m).attr("width",w.width+a.padding).attr("height",w.height+a.padding),tf(a,b),a.intersect=function(E){return kh.rect(a,E)},p},wBt=i=>i?" "+i:"",jb=(i,a)=>`${a||"node default"}${wBt(i.classes)} ${wBt(i.class)}`,vBt=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=w+m,E=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Ut.info("Question main (Circle)");const _=F5(f,b,b,E);return _.attr("style",a.style),tf(a,_),a.intersect=function(A){return Ut.warn("Intersect called"),kh.polygon(a,E,A)},f},O$e=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=28,w=[{x:0,y:p/2},{x:p/2,y:0},{x:0,y:-p/2},{x:-p/2,y:0}];return f.insert("polygon",":first-child").attr("points",w.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return kh.circle(a,14,b)},f},P$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=4,m=p.height+a.padding,b=m/w,E=p.width+2*b+a.padding,_=[{x:b,y:0},{x:E-b,y:0},{x:E,y:-m/2},{x:E-b,y:-m},{x:b,y:-m},{x:0,y:-m/2}],A=F5(f,E,m,_);return A.attr("style",a.style),tf(a,A),a.intersect=function(I){return kh.polygon(a,_,I)},f},F$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-m/2,y:0},{x:w,y:0},{x:w,y:-m},{x:-m/2,y:-m},{x:0,y:-m/2}];return F5(f,w,m,b).attr("style",a.style),a.width=w+m,a.height=m,a.intersect=function(_){return kh.polygon(a,b,_)},f},N$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-2*m/6,y:0},{x:w-m/6,y:0},{x:w+2*m/6,y:-m},{x:m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},B$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:2*m/6,y:0},{x:w+m/6,y:0},{x:w-2*m/6,y:-m},{x:-m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},R$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:-2*m/6,y:0},{x:w+2*m/6,y:0},{x:w-m/6,y:-m},{x:m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},j$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:m/6,y:0},{x:w-m/6,y:0},{x:w+2*m/6,y:-m},{x:-2*m/6,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},$$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:0,y:0},{x:w+m/2,y:0},{x:w,y:-m/2},{x:w+m/2,y:-m},{x:0,y:-m}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},z$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=w/2,b=m/(2.5+w/50),E=p.height+b+a.padding,_="M 0,"+b+" a "+m+","+b+" 0,0,0 "+w+" 0 a "+m+","+b+" 0,0,0 "+-w+" 0 l 0,"+E+" a "+m+","+b+" 0,0,0 "+w+" 0 l 0,"+-E,A=f.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",_).attr("transform","translate("+-w/2+","+-(E/2+b)+")");return tf(a,A),a.intersect=function(I){const B=kh.rect(a,I),N=B.x-a.x;if(m!=0&&(Math.abs(N)a.height/2-b)){let R=b*b*(1-N*N/(m*m));R!=0&&(R=Math.sqrt(R)),R=b-R,I.y-a.y>0&&(R=-R),B.y+=R}return B},f},q$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,"node "+a.classes+" "+a.class,!0),m=f.insert("rect",":first-child"),b=p.width+a.padding,E=p.height+a.padding;if(m.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",-p.width/2-w).attr("y",-p.height/2-w).attr("width",b).attr("height",E),a.props){const _=new Set(Object.keys(a.props));a.props.borders&&(mBt(m,a.props.borders,b,E),_.delete("borders")),_.forEach(A=>{Ut.warn(`Unknown node property ${A}`)})}return tf(a,m),a.intersect=function(_){return kh.rect(a,_)},f},H$e=async(i,a)=>{const{shapeSvg:f}=await Nd(i,a,"label",!0);Ut.trace("Classes = ",a.class);const p=f.insert("rect",":first-child"),w=0,m=0;if(p.attr("width",w).attr("height",m),f.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(mBt(p,a.props.borders,w,m),b.delete("borders")),b.forEach(E=>{Ut.warn(`Unknown node property ${E}`)})}return tf(a,p),a.intersect=function(b){return kh.rect(a,b)},f};function mBt(i,a,f,p){const w=[],m=E=>{w.push(E,0)},b=E=>{w.push(0,E)};a.includes("t")?(Ut.debug("add top border"),m(f)):b(f),a.includes("r")?(Ut.debug("add right border"),m(p)):b(p),a.includes("b")?(Ut.debug("add bottom border"),m(f)):b(f),a.includes("l")?(Ut.debug("add left border"),m(p)):b(p),i.attr("stroke-dasharray",w.join(" "))}const V$e=(i,a)=>{let f;a.classes?f="node "+a.classes:f="node default";const p=i.insert("g").attr("class",f).attr("id",a.domId||a.id),w=p.insert("rect",":first-child"),m=p.insert("line"),b=p.insert("g").attr("class","label"),E=a.labelText.flat?a.labelText.flat():a.labelText;let _="";typeof E=="object"?_=E[0]:_=E,Ut.info("Label text abc79",_,E,typeof E=="object");const A=b.node().appendChild(gp(_,a.labelStyle,!0,!0));let I={width:0,height:0};if(o1(Oe().flowchart.htmlLabels)){const W=A.children[0],et=yr(A);I=W.getBoundingClientRect(),et.attr("width",I.width),et.attr("height",I.height)}Ut.info("Text 2",E);const B=E.slice(1,E.length);let N=A.getBBox();const R=b.node().appendChild(gp(B.join?B.join("
    "):B,a.labelStyle,!0,!0));if(o1(Oe().flowchart.htmlLabels)){const W=R.children[0],et=yr(R);I=W.getBoundingClientRect(),et.attr("width",I.width),et.attr("height",I.height)}const z=a.padding/2;return yr(R).attr("transform","translate( "+(I.width>N.width?0:(N.width-I.width)/2)+", "+(N.height+z+5)+")"),yr(A).attr("transform","translate( "+(I.width{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.height+a.padding,m=p.width+w/4+a.padding,b=f.insert("rect",":first-child").attr("style",a.style).attr("rx",w/2).attr("ry",w/2).attr("x",-m/2).attr("y",-w/2).attr("width",m).attr("height",w);return tf(a,b),a.intersect=function(E){return kh.rect(a,E)},f},U$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,jb(a,void 0),!0),m=f.insert("circle",":first-child");return m.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Ut.info("Circle main"),tf(a,m),a.intersect=function(b){return Ut.info("Circle intersect",a,p.width/2+w,b),kh.circle(a,p.width/2+w,b)},f},W$e=async(i,a)=>{const{shapeSvg:f,bbox:p,halfPadding:w}=await Nd(i,a,jb(a,void 0),!0),m=5,b=f.insert("g",":first-child"),E=b.insert("circle"),_=b.insert("circle");return b.attr("class",a.class),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w+m).attr("width",p.width+a.padding+m*2).attr("height",p.height+a.padding+m*2),_.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",p.width/2+w).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Ut.info("DoubleCircle main"),tf(a,E),a.intersect=function(A){return Ut.info("DoubleCircle intersect",a,p.width/2+w+m,A),kh.circle(a,p.width/2+w+m,A)},f},Y$e=async(i,a)=>{const{shapeSvg:f,bbox:p}=await Nd(i,a,jb(a,void 0),!0),w=p.width+a.padding,m=p.height+a.padding,b=[{x:0,y:0},{x:w,y:0},{x:w,y:-m},{x:0,y:-m},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-m},{x:-8,y:-m},{x:-8,y:0}],E=F5(f,w,m,b);return E.attr("style",a.style),tf(a,E),a.intersect=function(_){return kh.polygon(a,b,_)},f},K$e=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=f.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),tf(a,p),a.intersect=function(w){return kh.circle(a,7,w)},f},yBt=(i,a,f)=>{const p=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let w=70,m=10;f==="LR"&&(w=10,m=70);const b=p.append("rect").attr("x",-1*w/2).attr("y",-1*m/2).attr("width",w).attr("height",m).attr("class","fork-join");return tf(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(E){return kh.rect(a,E)},p},xBt={rhombus:vBt,question:vBt,rect:q$e,labelRect:H$e,rectWithTitle:V$e,choice:O$e,circle:U$e,doublecircle:W$e,stadium:G$e,hexagon:P$e,rect_left_inv_arrow:F$e,lean_right:N$e,lean_left:B$e,trapezoid:R$e,inv_trapezoid:j$e,rect_right_inv_arrow:$$e,cylinder:z$e,start:K$e,end:(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),p=f.insert("circle",":first-child"),w=f.insert("circle",":first-child");return w.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),p.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),tf(a,w),a.intersect=function(m){return kh.circle(a,7,m)},f},note:I$e,subroutine:Y$e,fork:yBt,join:yBt,class_box:(i,a)=>{const f=a.padding/2,p=4,w=8;let m;a.classes?m="node "+a.classes:m="node default";const b=i.insert("g").attr("class",m).attr("id",a.domId||a.id),E=b.insert("rect",":first-child"),_=b.insert("line"),A=b.insert("line");let I=0,B=p;const N=b.insert("g").attr("class","label");let R=0;const z=a.classData.annotations&&a.classData.annotations[0],W=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",et=N.node().appendChild(gp(W,a.labelStyle,!0,!0));let st=et.getBBox();if(o1(Oe().flowchart.htmlLabels)){const vt=et.children[0],X=yr(et);st=vt.getBoundingClientRect(),X.attr("width",st.width),X.attr("height",st.height)}a.classData.annotations[0]&&(B+=st.height+p,I+=st.width);let at=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(Oe().flowchart.htmlLabels?at+="<"+a.classData.type+">":at+="<"+a.classData.type+">");const bt=N.node().appendChild(gp(at,a.labelStyle,!0,!0));yr(bt).attr("class","classTitle");let mt=bt.getBBox();if(o1(Oe().flowchart.htmlLabels)){const vt=bt.children[0],X=yr(bt);mt=vt.getBoundingClientRect(),X.attr("width",mt.width),X.attr("height",mt.height)}B+=mt.height+p,mt.width>I&&(I=mt.width);const yt=[];a.classData.members.forEach(vt=>{const X=vt.getDisplayDetails();let pt=X.displayText;Oe().flowchart.htmlLabels&&(pt=pt.replace(//g,">"));const U=N.node().appendChild(gp(pt,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let Tt=U.getBBox();if(o1(Oe().flowchart.htmlLabels)){const nt=U.children[0],It=yr(U);Tt=nt.getBoundingClientRect(),It.attr("width",Tt.width),It.attr("height",Tt.height)}Tt.width>I&&(I=Tt.width),B+=Tt.height+p,yt.push(U)}),B+=w;const ft=[];if(a.classData.methods.forEach(vt=>{const X=vt.getDisplayDetails();let pt=X.displayText;Oe().flowchart.htmlLabels&&(pt=pt.replace(//g,">"));const U=N.node().appendChild(gp(pt,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let Tt=U.getBBox();if(o1(Oe().flowchart.htmlLabels)){const nt=U.children[0],It=yr(U);Tt=nt.getBoundingClientRect(),It.attr("width",Tt.width),It.attr("height",Tt.height)}Tt.width>I&&(I=Tt.width),B+=Tt.height+p,ft.push(U)}),B+=w,z){let vt=(I-st.width)/2;yr(et).attr("transform","translate( "+(-1*I/2+vt)+", "+-1*B/2+")"),R=st.height+p}let ut=(I-mt.width)/2;return yr(bt).attr("transform","translate( "+(-1*I/2+ut)+", "+(-1*B/2+R)+")"),R+=mt.height+p,_.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,yt.forEach(vt=>{yr(vt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R+w/2)+")");const X=vt==null?void 0:vt.getBBox();R+=((X==null?void 0:X.height)??0)+p}),R+=w,A.attr("class","divider").attr("x1",-I/2-f).attr("x2",I/2+f).attr("y1",-B/2-f+w+R).attr("y2",-B/2-f+w+R),R+=w,ft.forEach(vt=>{yr(vt).attr("transform","translate( "+-I/2+", "+(-1*B/2+R)+")");const X=vt==null?void 0:vt.getBBox();R+=((X==null?void 0:X.height)??0)+p}),E.attr("class","outer title-state").attr("x",-I/2-f).attr("y",-(B/2)-f).attr("width",I+a.padding).attr("height",B+a.padding),tf(a,E),a.intersect=function(vt){return kh.rect(a,vt)},b}};let cL={};const kBt=async(i,a,f)=>{let p,w;if(a.link){let m;Oe().securityLevel==="sandbox"?m="_top":a.linkTarget&&(m=a.linkTarget||"_blank"),p=i.insert("svg:a").attr("xlink:href",a.link).attr("target",m),w=await xBt[a.shape](p,a,f)}else w=await xBt[a.shape](i,a,f),p=w;return a.tooltip&&w.attr("title",a.tooltip),a.class&&w.attr("class","node default "+a.class),cL[a.id]=p,a.haveCallback&&cL[a.id].attr("class",cL[a.id].attr("class")+" clickable"),p},X$e=(i,a)=>{cL[a.id]=i},Q$e=()=>{cL={}},EBt=i=>{const a=cL[i.id];Ut.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const f=8,p=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+p-i.width/2)+", "+(i.y-i.height/2-f)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),p},Z$e={rect:(i,a)=>{Ut.info("Creating subgraph rect for ",a.id,a);const f=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),p=f.insert("rect",":first-child"),w=o1(Oe().flowchart.htmlLabels),m=f.insert("g").attr("class","cluster-label"),b=a.labelType==="markdown"?EY(m,a.labelText,{style:a.labelStyle,useHtmlLabels:w}):m.node().appendChild(gp(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(o1(Oe().flowchart.htmlLabels)){const N=b.children[0],R=yr(b);E=N.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}const _=0*a.padding,A=_/2,I=a.width<=E.width+_?E.width+_:a.width;a.width<=E.width+_?a.diff=(E.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Ut.trace("Data ",a,JSON.stringify(a)),p.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-I/2).attr("y",a.y-a.height/2-A).attr("width",I).attr("height",a.height+_),w?m.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2)+")"):m.attr("transform","translate("+a.x+", "+(a.y-a.height/2)+")");const B=p.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(N){return _F(a,N)},f},roundedWithTitle:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),p=f.insert("rect",":first-child"),w=f.insert("g").attr("class","cluster-label"),m=f.append("rect"),b=w.node().appendChild(gp(a.labelText,a.labelStyle,void 0,!0));let E=b.getBBox();if(o1(Oe().flowchart.htmlLabels)){const N=b.children[0],R=yr(b);E=N.getBoundingClientRect(),R.attr("width",E.width),R.attr("height",E.height)}E=b.getBBox();const _=0*a.padding,A=_/2,I=a.width<=E.width+a.padding?E.width+a.padding:a.width;a.width<=E.width+a.padding?a.diff=(E.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,p.attr("class","outer").attr("x",a.x-I/2-A).attr("y",a.y-a.height/2-A).attr("width",I+_).attr("height",a.height+_),m.attr("class","inner").attr("x",a.x-I/2-A).attr("y",a.y-a.height/2-A+E.height-1).attr("width",I+_).attr("height",a.height+_-E.height-3),w.attr("transform","translate("+(a.x-E.width/2)+", "+(a.y-a.height/2-a.padding/3+(o1(Oe().flowchart.htmlLabels)?5:3))+")");const B=p.node().getBBox();return a.height=B.height,a.intersect=function(N){return _F(a,N)},f},noteGroup:(i,a)=>{const f=i.insert("g").attr("class","note-cluster").attr("id",a.id),p=f.insert("rect",":first-child"),w=0*a.padding,m=w/2;p.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-m).attr("y",a.y-a.height/2-m).attr("width",a.width+w).attr("height",a.height+w).attr("fill","none");const b=p.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(E){return _F(a,E)},f},divider:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),p=f.insert("rect",":first-child"),w=0*a.padding,m=w/2;p.attr("class","divider").attr("x",a.x-a.width/2-m).attr("y",a.y-a.height/2).attr("width",a.width+w).attr("height",a.height+w);const b=p.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(E){return _F(a,E)},f}};let TBt={};const J$e=(i,a)=>{Ut.trace("Inserting cluster");const f=a.shape||"rect";TBt[a.id]=Z$e[f](i,a)},tze=()=>{TBt={}},vk={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function _Y(i,a){i=SY(i),a=SY(a);const[f,p]=[i.x,i.y],[w,m]=[a.x,a.y],b=w-f,E=m-p;return{angle:Math.atan(E/b),deltaX:b,deltaY:E}}const SY=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,CBt=i=>({x:function(a,f,p){let w=0;if(f===0&&Object.hasOwn(vk,i.arrowTypeStart)){const{angle:m,deltaX:b}=_Y(p[0],p[1]);w=vk[i.arrowTypeStart]*Math.cos(m)*(b>=0?1:-1)}else if(f===p.length-1&&Object.hasOwn(vk,i.arrowTypeEnd)){const{angle:m,deltaX:b}=_Y(p[p.length-1],p[p.length-2]);w=vk[i.arrowTypeEnd]*Math.cos(m)*(b>=0?1:-1)}return SY(a).x+w},y:function(a,f,p){let w=0;if(f===0&&Object.hasOwn(vk,i.arrowTypeStart)){const{angle:m,deltaY:b}=_Y(p[0],p[1]);w=vk[i.arrowTypeStart]*Math.abs(Math.sin(m))*(b>=0?1:-1)}else if(f===p.length-1&&Object.hasOwn(vk,i.arrowTypeEnd)){const{angle:m,deltaY:b}=_Y(p[p.length-1],p[p.length-2]);w=vk[i.arrowTypeEnd]*Math.abs(Math.sin(m))*(b>=0?1:-1)}return SY(a).y+w}});let AY={},Bd={};const eze=()=>{AY={},Bd={}},_Bt=(i,a)=>{const f=o1(Oe().flowchart.htmlLabels),p=a.labelType==="markdown"?EY(i,a.label,{style:a.labelStyle,useHtmlLabels:f,addSvgBackground:!0}):gp(a.label,a.labelStyle);Ut.info("abc82",a,a.labelType);const w=i.insert("g").attr("class","edgeLabel"),m=w.insert("g").attr("class","label");m.node().appendChild(p);let b=p.getBBox();if(f){const _=p.children[0],A=yr(p);b=_.getBoundingClientRect(),A.attr("width",b.width),A.attr("height",b.height)}m.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),AY[a.id]=w,a.width=b.width,a.height=b.height;let E;if(a.startLabelLeft){const _=gp(a.startLabelLeft,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].startLeft=A,LY(E,a.startLabelLeft)}if(a.startLabelRight){const _=gp(a.startLabelRight,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=A.node().appendChild(_),I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].startRight=A,LY(E,a.startLabelRight)}if(a.endLabelLeft){const _=gp(a.endLabelLeft,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),A.node().appendChild(_),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].endLeft=A,LY(E,a.endLabelLeft)}if(a.endLabelRight){const _=gp(a.endLabelRight,a.labelStyle),A=i.insert("g").attr("class","edgeTerminals"),I=A.insert("g").attr("class","inner");E=I.node().appendChild(_);const B=_.getBBox();I.attr("transform","translate("+-B.width/2+", "+-B.height/2+")"),A.node().appendChild(_),Bd[a.id]||(Bd[a.id]={}),Bd[a.id].endRight=A,LY(E,a.endLabelRight)}return p};function LY(i,a){Oe().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const nze=(i,a)=>{Ut.info("Moving label abc78 ",i.id,i.label,AY[i.id]);let f=a.updatedPath?a.updatedPath:a.originalPath;if(i.label){const p=AY[i.id];let w=i.x,m=i.y;if(f){const b=$a.calcLabelPosition(f);Ut.info("Moving label "+i.label+" from (",w,",",m,") to (",b.x,",",b.y,") abc78"),a.updatedPath&&(w=b.x,m=b.y)}p.attr("transform","translate("+w+", "+m+")")}if(i.startLabelLeft){const p=Bd[i.id].startLeft;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.startLabelRight){const p=Bd[i.id].startRight;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.endLabelLeft){const p=Bd[i.id].endLeft;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}if(i.endLabelRight){const p=Bd[i.id].endRight;let w=i.x,m=i.y;if(f){const b=$a.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",f);w=b.x,m=b.y}p.attr("transform","translate("+w+", "+m+")")}},rze=(i,a)=>{const f=i.x,p=i.y,w=Math.abs(a.x-f),m=Math.abs(a.y-p),b=i.width/2,E=i.height/2;return w>=b||m>=E},ize=(i,a,f)=>{Ut.warn(`intersection calc abc89: + outsidePoint: ${JSON.stringify(a)} + insidePoint : ${JSON.stringify(f)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const p=i.x,w=i.y,m=Math.abs(p-f.x),b=i.width/2;let E=f.xMath.abs(p-a.x)*_){let B=f.y{Ut.warn("abc88 cutPathAtIntersect",i,a);let f=[],p=i[0],w=!1;return i.forEach(m=>{if(Ut.info("abc88 checking point",m,a),!rze(a,m)&&!w){const b=ize(a,p,m);Ut.warn("abc88 inside",m,p,b),Ut.warn("abc88 intersection",b);let E=!1;f.forEach(_=>{E=E||_.x===b.x&&_.y===b.y}),f.some(_=>_.x===b.x&&_.y===b.y)?Ut.warn("abc88 no intersect",b,f):f.push(b),w=!0}else Ut.warn("abc88 outside",m,p),p=m,w||f.push(m)}),Ut.warn("abc88 returning points",f),f},sze=function(i,a,f,p,w,m,b){let E=f.points,_=!1;const A=m.node(a.v);var I=m.node(a.w);Ut.info("abc88 InsertEdge: ",f),I.intersect&&A.intersect&&(E=E.slice(1,f.points.length-1),E.unshift(A.intersect(E[0])),Ut.info("Last point",E[E.length-1],I,I.intersect(E[E.length-1])),E.push(I.intersect(E[E.length-1]))),f.toCluster&&(Ut.info("to cluster abc88",p[f.toCluster]),E=SBt(f.points,p[f.toCluster].node),_=!0),f.fromCluster&&(Ut.info("from cluster abc88",p[f.fromCluster]),E=SBt(E.reverse(),p[f.fromCluster].node).reverse(),_=!0);const B=E.filter(mt=>!Number.isNaN(mt.y));let N=HP;f.curve&&(w==="graph"||w==="flowchart")&&(N=f.curve);const{x:R,y:z}=CBt(f),W=E5().x(R).y(z).curve(N);let et;switch(f.thickness){case"normal":et="edge-thickness-normal";break;case"thick":et="edge-thickness-thick";break;case"invisible":et="edge-thickness-thick";break;default:et=""}switch(f.pattern){case"solid":et+=" edge-pattern-solid";break;case"dotted":et+=" edge-pattern-dotted";break;case"dashed":et+=" edge-pattern-dashed";break}const st=i.append("path").attr("d",W(B)).attr("id",f.id).attr("class"," "+et+(f.classes?" "+f.classes:"")).attr("style",f.style);let at="";switch((Oe().flowchart.arrowMarkerAbsolute||Oe().state.arrowMarkerAbsolute)&&(at=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,at=at.replace(/\(/g,"\\("),at=at.replace(/\)/g,"\\)")),Ut.info("arrowTypeStart",f.arrowTypeStart),Ut.info("arrowTypeEnd",f.arrowTypeEnd),f.arrowTypeStart){case"arrow_cross":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-crossStart)");break;case"arrow_point":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-pointStart)");break;case"arrow_barb":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-barbStart)");break;case"arrow_circle":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-circleStart)");break;case"aggregation":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-aggregationStart)");break;case"extension":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-extensionStart)");break;case"composition":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-compositionStart)");break;case"dependency":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-dependencyStart)");break;case"lollipop":st.attr("marker-start","url("+at+"#"+b+"_"+w+"-lollipopStart)");break}switch(f.arrowTypeEnd){case"arrow_cross":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-crossEnd)");break;case"arrow_point":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-pointEnd)");break;case"arrow_barb":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-barbEnd)");break;case"arrow_circle":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-circleEnd)");break;case"aggregation":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-aggregationEnd)");break;case"extension":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-extensionEnd)");break;case"composition":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-compositionEnd)");break;case"dependency":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-dependencyEnd)");break;case"lollipop":st.attr("marker-end","url("+at+"#"+b+"_"+w+"-lollipopEnd)");break}let bt={};return _&&(bt.updatedPath=E),bt.originalPath=f.points,bt},ABt=async(i,a,f,p,w)=>{Ut.info("Graph in recursive render: XXX",P5(a),w);const m=a.graph().rankdir;Ut.trace("Dir in recursive render - dir:",m);const b=i.insert("g").attr("class","root");a.nodes()?Ut.info("Recursive render XXX",a.nodes()):Ut.info("No nodes found for",a),a.edges().length>0&&Ut.trace("Recursive edges",a.edge(a.edges()[0]));const E=b.insert("g").attr("class","clusters"),_=b.insert("g").attr("class","edgePaths"),A=b.insert("g").attr("class","edgeLabels"),I=b.insert("g").attr("class","nodes");await Promise.all(a.nodes().map(async function(N){const R=a.node(N);if(w!==void 0){const z=JSON.parse(JSON.stringify(w.clusterData));Ut.info("Setting data for cluster XXX (",N,") ",z,w),a.setNode(w.id,z),a.parent(N)||(Ut.trace("Setting parent",N,w.id),a.setParent(N,w.id,z))}if(Ut.info("(Insert) Node XXX"+N+": "+JSON.stringify(a.node(N))),R&&R.clusterNode){Ut.info("Cluster identified",N,R.width,a.node(N));const z=await ABt(I,R.graph,f,p,a.node(N)),W=z.elem;tf(R,W),R.diff=z.diff||0,Ut.info("Node bounds (abc123)",N,R,R.width,R.x,R.y),X$e(W,R),Ut.warn("Recursive render complete ",W,R)}else a.children(N).length>0?(Ut.info("Cluster - the non recursive path XXX",N,R.id,R,a),Ut.info(CF(R.id,a)),Ho[R.id]={id:CF(R.id,a),node:R}):(Ut.info("Node - the non recursive path",N,R.id,R),await kBt(I,a.node(N),m))})),a.edges().forEach(function(N){const R=a.edge(N.v,N.w,N.name);Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(N)),Ut.info("Edge "+N.v+" -> "+N.w+": ",N," ",JSON.stringify(a.edge(N))),Ut.info("Fix",Ho,"ids:",N.v,N.w,"Translateing: ",Ho[N.v],Ho[N.w]),_Bt(A,R)}),a.edges().forEach(function(N){Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(N))}),Ut.info("#############################################"),Ut.info("### Layout ###"),Ut.info("#############################################"),Ut.info(a),aL(a),Ut.info("Graph after layout:",P5(a));let B=0;return S$e(a).forEach(function(N){const R=a.node(N);Ut.info("Position "+N+": "+JSON.stringify(a.node(N))),Ut.info("Position "+N+": ("+R.x,","+R.y,") width: ",R.width," height: ",R.height),R&&R.clusterNode?EBt(R):a.children(N).length>0?(J$e(E,R),Ho[R.id].node=R):EBt(R)}),a.edges().forEach(function(N){const R=a.edge(N);Ut.info("Edge "+N.v+" -> "+N.w+": "+JSON.stringify(R),R);const z=sze(_,N,R,Ho,f,a,p);nze(R,z)}),a.nodes().forEach(function(N){const R=a.node(N);Ut.info(N,R.type,R.diff),R.type==="group"&&(B=R.diff)}),{elem:b,diff:B}},N0t=async(i,a,f,p,w)=>{PNt(i,f,p,w),Q$e(),eze(),tze(),T$e(),Ut.warn("Graph at first:",JSON.stringify(P5(a))),_$e(a),Ut.warn("Graph after:",JSON.stringify(P5(a))),await ABt(i,a,p,w)},LBt={},aze=function(i){const a=Object.keys(i);for(const f of a)LBt[f]=i[f]},MBt=function(i,a,f,p,w,m){const b=p.select(`[id="${f}"]`);Object.keys(i).forEach(function(_){const A=i[_];let I="default";A.classes.length>0&&(I=A.classes.join(" ")),I=I+" flowchart-label";const B=im(A.styles);let N=A.text!==void 0?A.text:A.id,R;if(Ut.info("vertex",A,A.labelType),A.labelType==="markdown")Ut.info("vertex",A,A.labelType);else if(o1(Oe().flowchart.htmlLabels)){const et={label:N.replace(/fa[blrs]?:fa-[\w-]+/g,st=>``)};R=b0t(b,et).node(),R.parentNode.removeChild(R)}else{const et=w.createElementNS("http://www.w3.org/2000/svg","text");et.setAttribute("style",B.labelStyle.replace("color:","fill:"));const st=N.split(Kr.lineBreakRegex);for(const at of st){const bt=w.createElementNS("http://www.w3.org/2000/svg","tspan");bt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),bt.setAttribute("dy","1em"),bt.setAttribute("x","1"),bt.textContent=at,et.appendChild(bt)}R=et}let z=0,W="";switch(A.type){case"round":z=5,W="rect";break;case"square":W="rect";break;case"diamond":W="question";break;case"hexagon":W="hexagon";break;case"odd":W="rect_left_inv_arrow";break;case"lean_right":W="lean_right";break;case"lean_left":W="lean_left";break;case"trapezoid":W="trapezoid";break;case"inv_trapezoid":W="inv_trapezoid";break;case"odd_right":W="rect_left_inv_arrow";break;case"circle":W="circle";break;case"ellipse":W="ellipse";break;case"stadium":W="stadium";break;case"subroutine":W="subroutine";break;case"cylinder":W="cylinder";break;case"group":W="rect";break;case"doublecircle":W="doublecircle";break;default:W="rect"}a.setNode(A.id,{labelStyle:B.labelStyle,shape:W,labelText:N,labelType:A.labelType,rx:z,ry:z,class:I,style:B.style,id:A.id,link:A.link,linkTarget:A.linkTarget,tooltip:m.db.getTooltip(A.id)||"",domId:m.db.lookUpDomId(A.id),haveCallback:A.haveCallback,width:A.type==="group"?500:void 0,dir:A.dir,type:A.type,props:A.props,padding:Oe().flowchart.padding}),Ut.info("setNode",{labelStyle:B.labelStyle,labelType:A.labelType,shape:W,labelText:N,rx:z,ry:z,class:I,style:B.style,id:A.id,domId:m.db.lookUpDomId(A.id),width:A.type==="group"?500:void 0,type:A.type,dir:A.dir,props:A.props,padding:Oe().flowchart.padding})})},DBt=function(i,a,f){Ut.info("abc78 edges = ",i);let p=0,w={},m,b;if(i.defaultStyle!==void 0){const E=im(i.defaultStyle);m=E.style,b=E.labelStyle}i.forEach(function(E){p++;const _="L-"+E.start+"-"+E.end;w[_]===void 0?(w[_]=0,Ut.info("abc78 new entry",_,w[_])):(w[_]++,Ut.info("abc78 new entry",_,w[_]));let A=_+"-"+w[_];Ut.info("abc78 new link id to be used is",_,A,w[_]);const I="LS-"+E.start,B="LE-"+E.end,N={style:"",labelStyle:""};switch(N.minlen=E.length||1,E.type==="arrow_open"?N.arrowhead="none":N.arrowhead="normal",N.arrowTypeStart="arrow_open",N.arrowTypeEnd="arrow_open",E.type){case"double_arrow_cross":N.arrowTypeStart="arrow_cross";case"arrow_cross":N.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":N.arrowTypeStart="arrow_point";case"arrow_point":N.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":N.arrowTypeStart="arrow_circle";case"arrow_circle":N.arrowTypeEnd="arrow_circle";break}let R="",z="";switch(E.stroke){case"normal":R="fill:none;",m!==void 0&&(R=m),b!==void 0&&(z=b),N.thickness="normal",N.pattern="solid";break;case"dotted":N.thickness="normal",N.pattern="dotted",N.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":N.thickness="thick",N.pattern="solid",N.style="stroke-width: 3.5px;fill:none;";break;case"invisible":N.thickness="invisible",N.pattern="solid",N.style="stroke-width: 0;fill:none;";break}if(E.style!==void 0){const W=im(E.style);R=W.style,z=W.labelStyle}N.style=N.style+=R,N.labelStyle=N.labelStyle+=z,E.interpolate!==void 0?N.curve=ew(E.interpolate,cg):i.defaultInterpolate!==void 0?N.curve=ew(i.defaultInterpolate,cg):N.curve=ew(LBt.curve,cg),E.text===void 0?E.style!==void 0&&(N.arrowheadStyle="fill: #333"):(N.arrowheadStyle="fill: #333",N.labelpos="c"),N.labelType=E.labelType,N.label=E.text.replace(Kr.lineBreakRegex,` +`),E.style===void 0&&(N.style=N.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),N.labelStyle=N.labelStyle.replace("color:","fill:"),N.id=A,N.classes="flowchart-link "+I+" "+B,a.setEdge(E.start,E.end,N,p)})},B0t={setConf:aze,addVertices:MBt,addEdges:DBt,getClasses:function(i,a){return a.db.getClasses()},draw:async function(i,a,f,p){Ut.info("Drawing flowchart");let w=p.db.getDirection();w===void 0&&(w="TD");const{securityLevel:m,flowchart:b}=Oe(),E=b.nodeSpacing||50,_=b.rankSpacing||50;let A;m==="sandbox"&&(A=yr("#i"+a));const I=yr(m==="sandbox"?A.nodes()[0].contentDocument.body:"body"),B=m==="sandbox"?A.nodes()[0].contentDocument:document,N=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:w,nodesep:E,ranksep:_,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let R;const z=p.db.getSubGraphs();Ut.info("Subgraphs - ",z);for(let yt=z.length-1;yt>=0;yt--)R=z[yt],Ut.info("Subgraph - ",R),p.db.addVertex(R.id,{text:R.title,type:R.labelType},"group",void 0,R.classes,R.dir);const W=p.db.getVertices(),et=p.db.getEdges();Ut.info("Edges",et);let st=0;for(st=z.length-1;st>=0;st--){R=z[st],sMt("cluster").append("text");for(let yt=0;yt{const f=cCe,p=f(i,"r"),w=f(i,"g"),m=f(i,"b");return FA(p,w,m,a)},IBt=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${oze(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,cze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Hdt,db:wT,renderer:B0t,styles:IBt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,hRe.setConf(i.flowchart),wT.clear(),wT.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),uze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Hdt,db:wT,renderer:B0t,styles:IBt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,cAe({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),B0t.setConf(i.flowchart),wT.clear(),wT.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var R0t=function(){var i=function(vt,X,pt,U){for(pt=pt||{},U=vt.length;U--;pt[vt[U]]=X);return pt},a=[6,8,10,20,22,24,26,27,28],f=[1,10],p=[1,11],w=[1,12],m=[1,13],b=[1,14],E=[1,15],_=[1,21],A=[1,22],I=[1,23],B=[1,24],N=[1,25],R=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],z=[1,34],W=[27,28,46,47],et=[41,42,43,44,45],st=[17,34],at=[1,54],bt=[1,53],mt=[17,34,36,38],yt={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,pt,U,Tt,nt,It,Ot){var Bt=It.length-1;switch(nt){case 1:break;case 2:this.$=[];break;case 3:It[Bt-1].push(It[Bt]),this.$=It[Bt-1];break;case 4:case 5:this.$=It[Bt];break;case 6:case 7:this.$=[];break;case 8:Tt.addEntity(It[Bt-4]),Tt.addEntity(It[Bt-2]),Tt.addRelationship(It[Bt-4],It[Bt],It[Bt-2],It[Bt-3]);break;case 9:Tt.addEntity(It[Bt-3]),Tt.addAttributes(It[Bt-3],It[Bt-1]);break;case 10:Tt.addEntity(It[Bt-2]);break;case 11:Tt.addEntity(It[Bt]);break;case 12:Tt.addEntity(It[Bt-6],It[Bt-4]),Tt.addAttributes(It[Bt-6],It[Bt-1]);break;case 13:Tt.addEntity(It[Bt-5],It[Bt-3]);break;case 14:Tt.addEntity(It[Bt-3],It[Bt-1]);break;case 15:case 16:this.$=It[Bt].trim(),Tt.setAccTitle(this.$);break;case 17:case 18:this.$=It[Bt].trim(),Tt.setAccDescription(this.$);break;case 19:case 43:this.$=It[Bt];break;case 20:case 41:case 42:this.$=It[Bt].replace(/"/g,"");break;case 21:case 29:this.$=[It[Bt]];break;case 22:It[Bt].push(It[Bt-1]),this.$=It[Bt];break;case 23:this.$={attributeType:It[Bt-1],attributeName:It[Bt]};break;case 24:this.$={attributeType:It[Bt-2],attributeName:It[Bt-1],attributeKeyTypeList:It[Bt]};break;case 25:this.$={attributeType:It[Bt-2],attributeName:It[Bt-1],attributeComment:It[Bt]};break;case 26:this.$={attributeType:It[Bt-3],attributeName:It[Bt-2],attributeKeyTypeList:It[Bt-1],attributeComment:It[Bt]};break;case 27:case 28:case 31:this.$=It[Bt];break;case 30:It[Bt-2].push(It[Bt]),this.$=It[Bt-2];break;case 32:this.$=It[Bt].replace(/"/g,"");break;case 33:this.$={cardA:It[Bt],relType:It[Bt-1],cardB:It[Bt-2]};break;case 34:this.$=Tt.Cardinality.ZERO_OR_ONE;break;case 35:this.$=Tt.Cardinality.ZERO_OR_MORE;break;case 36:this.$=Tt.Cardinality.ONE_OR_MORE;break;case 37:this.$=Tt.Cardinality.ONLY_ONE;break;case 38:this.$=Tt.Cardinality.MD_PARENT;break;case 39:this.$=Tt.Identification.NON_IDENTIFYING;break;case 40:this.$=Tt.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:f,22:p,24:w,26:m,27:b,28:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:f,22:p,24:w,26:m,27:b,28:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:_,42:A,43:I,44:B,45:N}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(R,[2,19]),i(R,[2,20]),i(a,[2,4]),{11:29,27:b,28:E},{16:30,17:[1,31],29:32,30:33,34:z},{11:35,27:b,28:E},{40:36,46:[1,37],47:[1,38]},i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:z},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:_,42:A,43:I,44:B,45:N},i(et,[2,39]),i(et,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(st,[2,23],{32:50,33:51,35:52,37:at,38:bt}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(st,[2,24],{33:56,36:[1,57],38:bt}),i(st,[2,25]),i(mt,[2,29]),i(st,[2,32]),i(mt,[2,31]),{16:58,17:[1,59],29:32,30:33,34:z},i(st,[2,26]),{35:60,37:at},{17:[1,61]},i(a,[2,13]),i(mt,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,pt){if(pt.recoverable)this.trace(X);else{var U=new Error(X);throw U.hash=pt,U}},parse:function(X){var pt=this,U=[0],Tt=[],nt=[null],It=[],Ot=this.table,Bt="",Et=0,Z=0,Ct=2,xt=1,Ht=It.slice.call(arguments,1),Le=Object.create(this.lexer),Ft={yy:{}};for(var gn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gn)&&(Ft.yy[gn]=this.yy[gn]);Le.setInput(X,Ft.yy),Ft.yy.lexer=Le,Ft.yy.parser=this,typeof Le.yylloc>"u"&&(Le.yylloc={});var Se=Le.yylloc;It.push(Se);var me=Le.options&&Le.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ve(){var on;return on=Tt.pop()||Le.lex()||xt,typeof on!="number"&&(on instanceof Array&&(Tt=on,on=Tt.pop()),on=pt.symbols_[on]||on),on}for(var Ye,ce,ke,zt,re={},se,Pe,te,Me;;){if(ce=U[U.length-1],this.defaultActions[ce]?ke=this.defaultActions[ce]:((Ye===null||typeof Ye>"u")&&(Ye=Ve()),ke=Ot[ce]&&Ot[ce][Ye]),typeof ke>"u"||!ke.length||!ke[0]){var de="";Me=[];for(se in Ot[ce])this.terminals_[se]&&se>Ct&&Me.push("'"+this.terminals_[se]+"'");Le.showPosition?de="Parse error on line "+(Et+1)+`: +`+Le.showPosition()+` +Expecting `+Me.join(", ")+", got '"+(this.terminals_[Ye]||Ye)+"'":de="Parse error on line "+(Et+1)+": Unexpected "+(Ye==xt?"end of input":"'"+(this.terminals_[Ye]||Ye)+"'"),this.parseError(de,{text:Le.match,token:this.terminals_[Ye]||Ye,line:Le.yylineno,loc:Se,expected:Me})}if(ke[0]instanceof Array&&ke.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ce+", token: "+Ye);switch(ke[0]){case 1:U.push(Ye),nt.push(Le.yytext),It.push(Le.yylloc),U.push(ke[1]),Ye=null,Z=Le.yyleng,Bt=Le.yytext,Et=Le.yylineno,Se=Le.yylloc;break;case 2:if(Pe=this.productions_[ke[1]][1],re.$=nt[nt.length-Pe],re._$={first_line:It[It.length-(Pe||1)].first_line,last_line:It[It.length-1].last_line,first_column:It[It.length-(Pe||1)].first_column,last_column:It[It.length-1].last_column},me&&(re._$.range=[It[It.length-(Pe||1)].range[0],It[It.length-1].range[1]]),zt=this.performAction.apply(re,[Bt,Z,Et,Ft.yy,ke[1],nt,It].concat(Ht)),typeof zt<"u")return zt;Pe&&(U=U.slice(0,-1*Pe*2),nt=nt.slice(0,-1*Pe),It=It.slice(0,-1*Pe)),U.push(this.productions_[ke[1]][0]),nt.push(re.$),It.push(re._$),te=Ot[U[U.length-2]][U[U.length-1]],U.push(te);break;case 3:return!0}}return!0}},ft=function(){var vt={EOF:1,parseError:function(pt,U){if(this.yy.parser)this.yy.parser.parseError(pt,U);else throw new Error(pt)},setInput:function(X,pt){return this.yy=pt||this.yy||{},this._input=X,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var pt=X.match(/(?:\r\n?|\n).*/g);return pt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var pt=X.length,U=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pt),this.offset-=pt;var Tt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),U.length-1&&(this.yylineno-=U.length-1);var nt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:U?(U.length===Tt.length?this.yylloc.first_column:0)+Tt[Tt.length-U.length].length-U[0].length:this.yylloc.first_column-pt},this.options.ranges&&(this.yylloc.range=[nt[0],nt[0]+this.yyleng-pt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),pt=new Array(X.length+1).join("-");return X+this.upcomingInput()+` +`+pt+"^"},test_match:function(X,pt){var U,Tt,nt;if(this.options.backtrack_lexer&&(nt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(nt.yylloc.range=this.yylloc.range.slice(0))),Tt=X[0].match(/(?:\r\n?|\n).*/g),Tt&&(this.yylineno+=Tt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Tt?Tt[Tt.length-1].length-Tt[Tt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(X[0].length),this.matched+=X[0],U=this.performAction.call(this,this.yy,this,pt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),U)return U;if(this._backtrack){for(var It in nt)this[It]=nt[It];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,pt,U,Tt;this._more||(this.yytext="",this.match="");for(var nt=this._currentRules(),It=0;Itpt[0].length)){if(pt=U,Tt=It,this.options.backtrack_lexer){if(X=this.test_match(U,nt[It]),X!==!1)return X;if(this._backtrack){pt=!1;continue}else return!1}else if(!this.options.flex)break}return pt?(X=this.test_match(pt,nt[Tt]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var pt=this.next();return pt||this.lex()},begin:function(pt){this.conditionStack.push(pt)},popState:function(){var pt=this.conditionStack.length-1;return pt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(pt){return pt=this.conditionStack.length-1-Math.abs(pt||0),pt>=0?this.conditionStack[pt]:"INITIAL"},pushState:function(pt){this.begin(pt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(pt,U,Tt,nt){switch(Tt){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return U.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return U.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return vt}();yt.lexer=ft;function ut(){this.yy={}}return ut.prototype=yt,yt.Parser=ut,new ut}();R0t.parser=R0t;const lze=R0t;let mk={},j0t=[];const hze={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},fze={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},OBt=function(i,a=void 0){return mk[i]===void 0?(mk[i]={attributes:[],alias:a},Ut.info("Added new entity :",i)):mk[i]&&!mk[i].alias&&a&&(mk[i].alias=a,Ut.info(`Add alias '${a}' to entity '${i}'`)),mk[i]},dze={Cardinality:hze,Identification:fze,getConfig:()=>Oe().er,addEntity:OBt,addAttributes:function(i,a){let f=OBt(i),p;for(p=a.length-1;p>=0;p--)f.attributes.push(a[p]),Ut.debug("Added attribute ",a[p].attributeName)},getEntities:()=>mk,addRelationship:function(i,a,f,p){let w={entityA:i,roleA:a,entityB:f,relSpec:p};j0t.push(w),Ut.debug("Added new relationship :",w)},getRelationships:()=>j0t,clear:function(){mk={},j0t=[],hg()},setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,setDiagramTitle:Nb,getDiagramTitle:pg},fm={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},dm={ERMarkers:fm,insertMarkers:function(i,a){let f;i.append("defs").append("marker").attr("id",fm.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",fm.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",fm.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",fm.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",fm.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",fm.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),f=i.append("defs").append("marker").attr("id",fm.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},gze=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function pze(i){return typeof i=="string"&&gze.test(i)}const Rd=[];for(let i=0;i<256;++i)Rd.push((i+256).toString(16).slice(1));function bze(i,a=0){return(Rd[i[a+0]]+Rd[i[a+1]]+Rd[i[a+2]]+Rd[i[a+3]]+"-"+Rd[i[a+4]]+Rd[i[a+5]]+"-"+Rd[i[a+6]]+Rd[i[a+7]]+"-"+Rd[i[a+8]]+Rd[i[a+9]]+"-"+Rd[i[a+10]]+Rd[i[a+11]]+Rd[i[a+12]]+Rd[i[a+13]]+Rd[i[a+14]]+Rd[i[a+15]]).toLowerCase()}function wze(i){if(!pze(i))throw TypeError("Invalid UUID");let a;const f=new Uint8Array(16);return f[0]=(a=parseInt(i.slice(0,8),16))>>>24,f[1]=a>>>16&255,f[2]=a>>>8&255,f[3]=a&255,f[4]=(a=parseInt(i.slice(9,13),16))>>>8,f[5]=a&255,f[6]=(a=parseInt(i.slice(14,18),16))>>>8,f[7]=a&255,f[8]=(a=parseInt(i.slice(19,23),16))>>>8,f[9]=a&255,f[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,f[11]=a/4294967296&255,f[12]=a>>>24&255,f[13]=a>>>16&255,f[14]=a>>>8&255,f[15]=a&255,f}function vze(i){i=unescape(encodeURIComponent(i));const a=[];for(let f=0;f>>32-a}function Eze(i){const a=[1518500249,1859775393,2400959708,3395469782],f=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let E=0;E>>0;N=B,B=I,I=$0t(A,30)>>>0,A=_,_=W}f[0]=f[0]+_>>>0,f[1]=f[1]+A>>>0,f[2]=f[2]+I>>>0,f[3]=f[3]+B>>>0,f[4]=f[4]+N>>>0}return[f[0]>>24&255,f[0]>>16&255,f[0]>>8&255,f[0]&255,f[1]>>24&255,f[1]>>16&255,f[1]>>8&255,f[1]&255,f[2]>>24&255,f[2]>>16&255,f[2]>>8&255,f[2]&255,f[3]>>24&255,f[3]>>16&255,f[3]>>8&255,f[3]&255,f[4]>>24&255,f[4]>>16&255,f[4]>>8&255,f[4]&255]}const Tze=xze("v5",80,Eze),Cze=/[^\dA-Za-z](\W)*/g;let u1={},SF=new Map;const _ze=function(i){const a=Object.keys(i);for(const f of a)u1[f]=i[f]},Sze=(i,a,f)=>{const p=u1.entityPadding/3,w=u1.entityPadding/3,m=u1.fontSize*.85,b=a.node().getBBox(),E=[];let _=!1,A=!1,I=0,B=0,N=0,R=0,z=b.height+p*2,W=1;f.forEach(bt=>{bt.attributeKeyTypeList!==void 0&&bt.attributeKeyTypeList.length>0&&(_=!0),bt.attributeComment!==void 0&&(A=!0)}),f.forEach(bt=>{const mt=`${a.node().id}-attr-${W}`;let yt=0;const ft=YP(bt.attributeType),ut=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(ft),vt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(bt.attributeName),X={};X.tn=ut,X.nn=vt;const pt=ut.node().getBBox(),U=vt.node().getBBox();if(I=Math.max(I,pt.width),B=Math.max(B,U.width),yt=Math.max(pt.height,U.height),_){const Tt=bt.attributeKeyTypeList!==void 0?bt.attributeKeyTypeList.join(","):"",nt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(Tt);X.kn=nt;const It=nt.node().getBBox();N=Math.max(N,It.width),yt=Math.max(yt,It.height)}if(A){const Tt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Oe().fontFamily).style("font-size",m+"px").text(bt.attributeComment||"");X.cn=Tt;const nt=Tt.node().getBBox();R=Math.max(R,nt.width),yt=Math.max(yt,nt.height)}X.height=yt,E.push(X),z+=yt+p*2,W+=1});let et=4;_&&(et+=2),A&&(et+=2);const st=I+B+N+R,at={width:Math.max(u1.minEntityWidth,Math.max(b.width+u1.entityPadding*2,st+w*et)),height:f.length>0?z:Math.max(u1.minEntityHeight,b.height+u1.entityPadding*2)};if(f.length>0){const bt=Math.max(0,(at.width-st-w*et)/(et/2));a.attr("transform","translate("+at.width/2+","+(p+b.height/2)+")");let mt=b.height+p*2,yt="attributeBoxOdd";E.forEach(ft=>{const ut=mt+p+ft.height/2;ft.tn.attr("transform","translate("+w+","+ut+")");const vt=i.insert("rect","#"+ft.tn.node().id).classed(`er ${yt}`,!0).attr("x",0).attr("y",mt).attr("width",I+w*2+bt).attr("height",ft.height+p*2),X=parseFloat(vt.attr("x"))+parseFloat(vt.attr("width"));ft.nn.attr("transform","translate("+(X+w)+","+ut+")");const pt=i.insert("rect","#"+ft.nn.node().id).classed(`er ${yt}`,!0).attr("x",X).attr("y",mt).attr("width",B+w*2+bt).attr("height",ft.height+p*2);let U=parseFloat(pt.attr("x"))+parseFloat(pt.attr("width"));if(_){ft.kn.attr("transform","translate("+(U+w)+","+ut+")");const Tt=i.insert("rect","#"+ft.kn.node().id).classed(`er ${yt}`,!0).attr("x",U).attr("y",mt).attr("width",N+w*2+bt).attr("height",ft.height+p*2);U=parseFloat(Tt.attr("x"))+parseFloat(Tt.attr("width"))}A&&(ft.cn.attr("transform","translate("+(U+w)+","+ut+")"),i.insert("rect","#"+ft.cn.node().id).classed(`er ${yt}`,"true").attr("x",U).attr("y",mt).attr("width",R+w*2+bt).attr("height",ft.height+p*2)),mt+=ft.height+p*2,yt=yt==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else at.height=Math.max(u1.minEntityHeight,z),a.attr("transform","translate("+at.width/2+","+at.height/2+")");return at},Aze=function(i,a,f){const p=Object.keys(a);let w;return p.forEach(function(m){const b=Pze(m,"entity");SF.set(m,b);const E=i.append("g").attr("id",b);w=w===void 0?b:w;const _="text-"+b,A=E.append("text").classed("er entityLabel",!0).attr("id",_).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Oe().fontFamily).style("font-size",u1.fontSize+"px").text(a[m].alias??m),{width:I,height:B}=Sze(E,A,a[m].attributes),R=E.insert("rect","#"+_).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",I).attr("height",B).node().getBBox();f.setNode(b,{width:R.width,height:R.height,shape:"rect",id:b})}),w},Lze=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )")})},PBt=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},Mze=function(i,a){return i.forEach(function(f){a.setEdge(SF.get(f.entityA),SF.get(f.entityB),{relationship:f},PBt(f))}),i};let FBt=0;const Dze=function(i,a,f,p,w){FBt++;const m=f.edge(SF.get(a.entityA),SF.get(a.entityB),PBt(a)),b=E5().x(function(z){return z.x}).y(function(z){return z.y}).curve(HP),E=i.insert("path","#"+p).classed("er relationshipLine",!0).attr("d",b(m.points)).style("stroke",u1.stroke).style("fill","none");a.relSpec.relType===w.db.Identification.NON_IDENTIFYING&&E.attr("stroke-dasharray","8,8");let _="";switch(u1.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),a.relSpec.cardA){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ZERO_OR_ONE_END+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ZERO_OR_MORE_END+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ONE_OR_MORE_END+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.ONLY_ONE_END+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-end","url("+_+"#"+dm.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ZERO_OR_ONE_START+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ZERO_OR_MORE_START+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ONE_OR_MORE_START+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.ONLY_ONE_START+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-start","url("+_+"#"+dm.ERMarkers.MD_PARENT_START+")");break}const A=E.node().getTotalLength(),I=E.node().getPointAtLength(A*.5),B="rel"+FBt,R=i.append("text").classed("er relationshipLabel",!0).attr("id",B).attr("x",I.x).attr("y",I.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Oe().fontFamily).style("font-size",u1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+B).classed("er relationshipLabelBox",!0).attr("x",I.x-R.width/2).attr("y",I.y-R.height/2).attr("width",R.width).attr("height",R.height)},Ize=function(i,a,f,p){u1=Oe().er,Ut.info("Drawing ER diagram");const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const E=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);dm.insertMarkers(E,u1);let _;_=new c1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:u1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const A=Aze(E,p.db.getEntities(),_),I=Mze(p.db.getRelationships(),_);aL(_),Lze(E,_),I.forEach(function(W){Dze(E,W,_,A,p)});const B=u1.diagramPadding;$a.insertTitle(E,"entityTitleText",u1.titleTopMargin,p.db.getDiagramTitle());const N=E.node().getBBox(),R=N.width+B*2,z=N.height+B*2;k0(E,z,R,u1.useMaxWidth),E.attr("viewBox",`${N.x-B} ${N.y-B} ${R} ${z}`)},Oze="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function Pze(i="",a=""){const f=i.replace(Cze,"");return`${NBt(a)}${NBt(f)}${Tze(i,Oze)}`}function NBt(i=""){return i.length>0?`${i}-`:""}const Fze=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lze,db:dze,renderer:{setConf:_ze,draw:Ize},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var z0t=function(){var i=function(yt,ft,ut,vt){for(ut=ut||{},vt=yt.length;vt--;ut[yt[vt]]=ft);return ut},a=[1,3],f=[1,6],p=[1,4],w=[1,5],m=[2,5],b=[1,12],E=[5,7,13,19,21,23,24,26,28,31,36,39,46],_=[7,13,19,21,23,24,26,28,31,36,39],A=[7,12,13,19,21,23,24,26,28,31,36,39],I=[7,13,46],B=[1,42],N=[1,41],R=[7,13,29,32,34,37,46],z=[1,55],W=[1,56],et=[1,57],st=[7,13,32,34,41,46],at={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,COMMIT_TAG:34,EMPTYSTR:35,MERGE:36,COMMIT_TYPE:37,commitType:38,COMMIT:39,commit_arg:40,COMMIT_MSG:41,NORMAL:42,REVERSE:43,HIGHLIGHT:44,ID:45,";":46,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"COMMIT_TAG",35:"EMPTYSTR",36:"MERGE",37:"COMMIT_TYPE",39:"COMMIT",41:"COMMIT_MSG",42:"NORMAL",43:"REVERSE",44:"HIGHLIGHT",45:"ID",46:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,5],[18,5],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[40,0],[40,1],[38,1],[38,1],[38,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ft,ut,vt,X,pt,U,Tt){var nt=U.length-1;switch(pt){case 2:return U[nt];case 3:return U[nt-1];case 4:return X.setDirection(U[nt-3]),U[nt-1];case 6:X.setOptions(U[nt-1]),this.$=U[nt];break;case 7:U[nt-1]+=U[nt],this.$=U[nt-1];break;case 9:this.$=[];break;case 10:U[nt-1].push(U[nt]),this.$=U[nt-1];break;case 11:this.$=U[nt-1];break;case 16:this.$=U[nt].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=U[nt].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(U[nt].substr(8)),this.$=U[nt].substr(8);break;case 21:X.checkout(U[nt]);break;case 22:X.branch(U[nt]);break;case 23:X.branch(U[nt-2],U[nt]);break;case 24:X.cherryPick(U[nt],"",void 0);break;case 25:X.cherryPick(U[nt-2],"",U[nt]);break;case 26:case 28:X.cherryPick(U[nt-2],"","");break;case 27:X.cherryPick(U[nt],"",U[nt-2]);break;case 29:X.merge(U[nt],"","","");break;case 30:X.merge(U[nt-2],U[nt],"","");break;case 31:X.merge(U[nt-2],"",U[nt],"");break;case 32:X.merge(U[nt-2],"","",U[nt]);break;case 33:X.merge(U[nt-4],U[nt],"",U[nt-2]);break;case 34:X.merge(U[nt-4],"",U[nt],U[nt-2]);break;case 35:X.merge(U[nt-4],"",U[nt-2],U[nt]);break;case 36:X.merge(U[nt-4],U[nt-2],U[nt],"");break;case 37:X.merge(U[nt-4],U[nt-2],"",U[nt]);break;case 38:X.merge(U[nt-4],U[nt],U[nt-2],"");break;case 39:X.merge(U[nt-6],U[nt-4],U[nt-2],U[nt]);break;case 40:X.merge(U[nt-6],U[nt],U[nt-4],U[nt-2]);break;case 41:X.merge(U[nt-6],U[nt-4],U[nt],U[nt-2]);break;case 42:X.merge(U[nt-6],U[nt-2],U[nt-4],U[nt]);break;case 43:X.merge(U[nt-6],U[nt],U[nt-2],U[nt-4]);break;case 44:X.merge(U[nt-6],U[nt-2],U[nt],U[nt-4]);break;case 45:X.commit(U[nt]);break;case 46:X.commit("","",X.commitType.NORMAL,U[nt]);break;case 47:X.commit("","",U[nt],"");break;case 48:X.commit("","",U[nt],U[nt-2]);break;case 49:X.commit("","",U[nt-2],U[nt]);break;case 50:X.commit("",U[nt],X.commitType.NORMAL,"");break;case 51:X.commit("",U[nt-2],X.commitType.NORMAL,U[nt]);break;case 52:X.commit("",U[nt],X.commitType.NORMAL,U[nt-2]);break;case 53:X.commit("",U[nt-2],U[nt],"");break;case 54:X.commit("",U[nt],U[nt-2],"");break;case 55:X.commit("",U[nt-4],U[nt-2],U[nt]);break;case 56:X.commit("",U[nt-4],U[nt],U[nt-2]);break;case 57:X.commit("",U[nt-2],U[nt-4],U[nt]);break;case 58:X.commit("",U[nt],U[nt-4],U[nt-2]);break;case 59:X.commit("",U[nt],U[nt-2],U[nt-4]);break;case 60:X.commit("",U[nt-2],U[nt],U[nt-4]);break;case 61:X.commit(U[nt],"",X.commitType.NORMAL,"");break;case 62:X.commit(U[nt],"",X.commitType.NORMAL,U[nt-2]);break;case 63:X.commit(U[nt-2],"",X.commitType.NORMAL,U[nt]);break;case 64:X.commit(U[nt-2],"",U[nt],"");break;case 65:X.commit(U[nt],"",U[nt-2],"");break;case 66:X.commit(U[nt],U[nt-2],X.commitType.NORMAL,"");break;case 67:X.commit(U[nt-2],U[nt],X.commitType.NORMAL,"");break;case 68:X.commit(U[nt-4],"",U[nt-2],U[nt]);break;case 69:X.commit(U[nt-4],"",U[nt],U[nt-2]);break;case 70:X.commit(U[nt-2],"",U[nt-4],U[nt]);break;case 71:X.commit(U[nt],"",U[nt-4],U[nt-2]);break;case 72:X.commit(U[nt],"",U[nt-2],U[nt-4]);break;case 73:X.commit(U[nt-2],"",U[nt],U[nt-4]);break;case 74:X.commit(U[nt-4],U[nt],U[nt-2],"");break;case 75:X.commit(U[nt-4],U[nt-2],U[nt],"");break;case 76:X.commit(U[nt-2],U[nt],U[nt-4],"");break;case 77:X.commit(U[nt],U[nt-2],U[nt-4],"");break;case 78:X.commit(U[nt],U[nt-4],U[nt-2],"");break;case 79:X.commit(U[nt-2],U[nt-4],U[nt],"");break;case 80:X.commit(U[nt-4],U[nt],X.commitType.NORMAL,U[nt-2]);break;case 81:X.commit(U[nt-4],U[nt-2],X.commitType.NORMAL,U[nt]);break;case 82:X.commit(U[nt-2],U[nt],X.commitType.NORMAL,U[nt-4]);break;case 83:X.commit(U[nt],U[nt-2],X.commitType.NORMAL,U[nt-4]);break;case 84:X.commit(U[nt],U[nt-4],X.commitType.NORMAL,U[nt-2]);break;case 85:X.commit(U[nt-2],U[nt-4],X.commitType.NORMAL,U[nt]);break;case 86:X.commit(U[nt-6],U[nt-4],U[nt-2],U[nt]);break;case 87:X.commit(U[nt-6],U[nt-4],U[nt],U[nt-2]);break;case 88:X.commit(U[nt-6],U[nt-2],U[nt-4],U[nt]);break;case 89:X.commit(U[nt-6],U[nt],U[nt-4],U[nt-2]);break;case 90:X.commit(U[nt-6],U[nt-2],U[nt],U[nt-4]);break;case 91:X.commit(U[nt-6],U[nt],U[nt-2],U[nt-4]);break;case 92:X.commit(U[nt-4],U[nt-6],U[nt-2],U[nt]);break;case 93:X.commit(U[nt-4],U[nt-6],U[nt],U[nt-2]);break;case 94:X.commit(U[nt-2],U[nt-6],U[nt-4],U[nt]);break;case 95:X.commit(U[nt],U[nt-6],U[nt-4],U[nt-2]);break;case 96:X.commit(U[nt-2],U[nt-6],U[nt],U[nt-4]);break;case 97:X.commit(U[nt],U[nt-6],U[nt-2],U[nt-4]);break;case 98:X.commit(U[nt],U[nt-4],U[nt-2],U[nt-6]);break;case 99:X.commit(U[nt-2],U[nt-4],U[nt],U[nt-6]);break;case 100:X.commit(U[nt],U[nt-2],U[nt-4],U[nt-6]);break;case 101:X.commit(U[nt-2],U[nt],U[nt-4],U[nt-6]);break;case 102:X.commit(U[nt-4],U[nt-2],U[nt],U[nt-6]);break;case 103:X.commit(U[nt-4],U[nt],U[nt-2],U[nt-6]);break;case 104:X.commit(U[nt-2],U[nt-4],U[nt-6],U[nt]);break;case 105:X.commit(U[nt],U[nt-4],U[nt-6],U[nt-2]);break;case 106:X.commit(U[nt-2],U[nt],U[nt-6],U[nt-4]);break;case 107:X.commit(U[nt],U[nt-2],U[nt-6],U[nt-4]);break;case 108:X.commit(U[nt-4],U[nt-2],U[nt-6],U[nt]);break;case 109:X.commit(U[nt-4],U[nt],U[nt-6],U[nt-2]);break;case 110:this.$="";break;case 111:this.$=U[nt];break;case 112:this.$=X.commitType.NORMAL;break;case 113:this.$=X.commitType.REVERSE;break;case 114:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:f,13:p,46:w},{1:[3]},{3:7,4:2,5:a,7:f,13:p,46:w},{6:8,7:m,8:[1,9],9:[1,10],10:11,13:b},i(E,[2,117]),i(E,[2,118]),i(E,[2,119]),{1:[2,1]},{7:[1,13]},{6:14,7:m,10:11,13:b},{8:[1,15]},i(_,[2,9],{11:16,12:[1,17]}),i(A,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:m,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],36:[1,33],39:[1,32]},i(A,[2,7]),{1:[2,3]},{7:[1,36]},i(_,[2,10]),{4:37,7:f,13:p,46:w},i(_,[2,12]),i(I,[2,13]),i(I,[2,14]),i(I,[2,15]),{20:[1,38]},{22:[1,39]},i(I,[2,18]),i(I,[2,19]),i(I,[2,20]),{27:40,33:B,45:N},i(I,[2,110],{40:43,32:[1,46],33:[1,48],34:[1,44],37:[1,45],41:[1,47]}),{27:49,33:B,45:N},{32:[1,50],34:[1,51]},{27:52,33:B,45:N},{1:[2,4]},i(_,[2,11]),i(I,[2,16]),i(I,[2,17]),i(I,[2,21]),i(R,[2,115]),i(R,[2,116]),i(I,[2,45]),{33:[1,53]},{38:54,42:z,43:W,44:et},{33:[1,58]},{33:[1,59]},i(I,[2,111]),i(I,[2,29],{32:[1,60],34:[1,62],37:[1,61]}),{33:[1,63]},{33:[1,64],35:[1,65]},i(I,[2,22],{29:[1,66]}),i(I,[2,46],{32:[1,68],37:[1,67],41:[1,69]}),i(I,[2,47],{32:[1,71],34:[1,70],41:[1,72]}),i(st,[2,112]),i(st,[2,113]),i(st,[2,114]),i(I,[2,50],{34:[1,73],37:[1,74],41:[1,75]}),i(I,[2,61],{32:[1,78],34:[1,76],37:[1,77]}),{33:[1,79]},{38:80,42:z,43:W,44:et},{33:[1,81]},i(I,[2,24],{34:[1,82]}),{32:[1,83]},{32:[1,84]},{30:[1,85]},{38:86,42:z,43:W,44:et},{33:[1,87]},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{38:93,42:z,43:W,44:et},{33:[1,94]},{33:[1,95]},{38:96,42:z,43:W,44:et},{33:[1,97]},i(I,[2,30],{34:[1,99],37:[1,98]}),i(I,[2,31],{32:[1,101],34:[1,100]}),i(I,[2,32],{32:[1,102],37:[1,103]}),{33:[1,104],35:[1,105]},{33:[1,106]},{33:[1,107]},i(I,[2,23]),i(I,[2,48],{32:[1,108],41:[1,109]}),i(I,[2,52],{37:[1,110],41:[1,111]}),i(I,[2,62],{32:[1,113],37:[1,112]}),i(I,[2,49],{32:[1,114],41:[1,115]}),i(I,[2,54],{34:[1,116],41:[1,117]}),i(I,[2,65],{32:[1,119],34:[1,118]}),i(I,[2,51],{37:[1,120],41:[1,121]}),i(I,[2,53],{34:[1,122],41:[1,123]}),i(I,[2,66],{34:[1,125],37:[1,124]}),i(I,[2,63],{32:[1,127],37:[1,126]}),i(I,[2,64],{32:[1,129],34:[1,128]}),i(I,[2,67],{34:[1,131],37:[1,130]}),{38:132,42:z,43:W,44:et},{33:[1,133]},{33:[1,134]},{33:[1,135]},{33:[1,136]},{38:137,42:z,43:W,44:et},i(I,[2,25]),i(I,[2,26]),i(I,[2,27]),i(I,[2,28]),{33:[1,138]},{33:[1,139]},{38:140,42:z,43:W,44:et},{33:[1,141]},{38:142,42:z,43:W,44:et},{33:[1,143]},{33:[1,144]},{33:[1,145]},{33:[1,146]},{33:[1,147]},{33:[1,148]},{33:[1,149]},{38:150,42:z,43:W,44:et},{33:[1,151]},{33:[1,152]},{33:[1,153]},{38:154,42:z,43:W,44:et},{33:[1,155]},{38:156,42:z,43:W,44:et},{33:[1,157]},{33:[1,158]},{33:[1,159]},{38:160,42:z,43:W,44:et},{33:[1,161]},i(I,[2,36],{34:[1,162]}),i(I,[2,37],{37:[1,163]}),i(I,[2,35],{32:[1,164]}),i(I,[2,38],{34:[1,165]}),i(I,[2,33],{37:[1,166]}),i(I,[2,34],{32:[1,167]}),i(I,[2,59],{41:[1,168]}),i(I,[2,72],{32:[1,169]}),i(I,[2,60],{41:[1,170]}),i(I,[2,83],{37:[1,171]}),i(I,[2,73],{32:[1,172]}),i(I,[2,82],{37:[1,173]}),i(I,[2,58],{41:[1,174]}),i(I,[2,71],{32:[1,175]}),i(I,[2,57],{41:[1,176]}),i(I,[2,77],{34:[1,177]}),i(I,[2,70],{32:[1,178]}),i(I,[2,76],{34:[1,179]}),i(I,[2,56],{41:[1,180]}),i(I,[2,84],{37:[1,181]}),i(I,[2,55],{41:[1,182]}),i(I,[2,78],{34:[1,183]}),i(I,[2,79],{34:[1,184]}),i(I,[2,85],{37:[1,185]}),i(I,[2,69],{32:[1,186]}),i(I,[2,80],{37:[1,187]}),i(I,[2,68],{32:[1,188]}),i(I,[2,74],{34:[1,189]}),i(I,[2,75],{34:[1,190]}),i(I,[2,81],{37:[1,191]}),{33:[1,192]},{38:193,42:z,43:W,44:et},{33:[1,194]},{33:[1,195]},{38:196,42:z,43:W,44:et},{33:[1,197]},{33:[1,198]},{33:[1,199]},{33:[1,200]},{38:201,42:z,43:W,44:et},{33:[1,202]},{38:203,42:z,43:W,44:et},{33:[1,204]},{33:[1,205]},{33:[1,206]},{33:[1,207]},{33:[1,208]},{33:[1,209]},{33:[1,210]},{38:211,42:z,43:W,44:et},{33:[1,212]},{33:[1,213]},{33:[1,214]},{38:215,42:z,43:W,44:et},{33:[1,216]},{38:217,42:z,43:W,44:et},{33:[1,218]},{33:[1,219]},{33:[1,220]},{38:221,42:z,43:W,44:et},i(I,[2,39]),i(I,[2,41]),i(I,[2,40]),i(I,[2,42]),i(I,[2,44]),i(I,[2,43]),i(I,[2,100]),i(I,[2,101]),i(I,[2,98]),i(I,[2,99]),i(I,[2,103]),i(I,[2,102]),i(I,[2,107]),i(I,[2,106]),i(I,[2,105]),i(I,[2,104]),i(I,[2,109]),i(I,[2,108]),i(I,[2,97]),i(I,[2,96]),i(I,[2,95]),i(I,[2,94]),i(I,[2,92]),i(I,[2,93]),i(I,[2,91]),i(I,[2,90]),i(I,[2,89]),i(I,[2,88]),i(I,[2,86]),i(I,[2,87])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ft,ut){if(ut.recoverable)this.trace(ft);else{var vt=new Error(ft);throw vt.hash=ut,vt}},parse:function(ft){var ut=this,vt=[0],X=[],pt=[null],U=[],Tt=this.table,nt="",It=0,Ot=0,Bt=2,Et=1,Z=U.slice.call(arguments,1),Ct=Object.create(this.lexer),xt={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(xt.yy[Ht]=this.yy[Ht]);Ct.setInput(ft,xt.yy),xt.yy.lexer=Ct,xt.yy.parser=this,typeof Ct.yylloc>"u"&&(Ct.yylloc={});var Le=Ct.yylloc;U.push(Le);var Ft=Ct.options&&Ct.options.ranges;typeof xt.yy.parseError=="function"?this.parseError=xt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gn(){var te;return te=X.pop()||Ct.lex()||Et,typeof te!="number"&&(te instanceof Array&&(X=te,te=X.pop()),te=ut.symbols_[te]||te),te}for(var Se,me,Ve,Ye,ce={},ke,zt,re,se;;){if(me=vt[vt.length-1],this.defaultActions[me]?Ve=this.defaultActions[me]:((Se===null||typeof Se>"u")&&(Se=gn()),Ve=Tt[me]&&Tt[me][Se]),typeof Ve>"u"||!Ve.length||!Ve[0]){var Pe="";se=[];for(ke in Tt[me])this.terminals_[ke]&&ke>Bt&&se.push("'"+this.terminals_[ke]+"'");Ct.showPosition?Pe="Parse error on line "+(It+1)+`: +`+Ct.showPosition()+` +Expecting `+se.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":Pe="Parse error on line "+(It+1)+": Unexpected "+(Se==Et?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(Pe,{text:Ct.match,token:this.terminals_[Se]||Se,line:Ct.yylineno,loc:Le,expected:se})}if(Ve[0]instanceof Array&&Ve.length>1)throw new Error("Parse Error: multiple actions possible at state: "+me+", token: "+Se);switch(Ve[0]){case 1:vt.push(Se),pt.push(Ct.yytext),U.push(Ct.yylloc),vt.push(Ve[1]),Se=null,Ot=Ct.yyleng,nt=Ct.yytext,It=Ct.yylineno,Le=Ct.yylloc;break;case 2:if(zt=this.productions_[Ve[1]][1],ce.$=pt[pt.length-zt],ce._$={first_line:U[U.length-(zt||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(zt||1)].first_column,last_column:U[U.length-1].last_column},Ft&&(ce._$.range=[U[U.length-(zt||1)].range[0],U[U.length-1].range[1]]),Ye=this.performAction.apply(ce,[nt,Ot,It,xt.yy,Ve[1],pt,U].concat(Z)),typeof Ye<"u")return Ye;zt&&(vt=vt.slice(0,-1*zt*2),pt=pt.slice(0,-1*zt),U=U.slice(0,-1*zt)),vt.push(this.productions_[Ve[1]][0]),pt.push(ce.$),U.push(ce._$),re=Tt[vt[vt.length-2]][vt[vt.length-1]],vt.push(re);break;case 3:return!0}}return!0}},bt=function(){var yt={EOF:1,parseError:function(ut,vt){if(this.yy.parser)this.yy.parser.parseError(ut,vt);else throw new Error(ut)},setInput:function(ft,ut){return this.yy=ut||this.yy||{},this._input=ft,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ft=this._input[0];this.yytext+=ft,this.yyleng++,this.offset++,this.match+=ft,this.matched+=ft;var ut=ft.match(/(?:\r\n?|\n).*/g);return ut?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ft},unput:function(ft){var ut=ft.length,vt=ft.split(/(?:\r\n?|\n)/g);this._input=ft+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ut),this.offset-=ut;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),vt.length-1&&(this.yylineno-=vt.length-1);var pt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:vt?(vt.length===X.length?this.yylloc.first_column:0)+X[X.length-vt.length].length-vt[0].length:this.yylloc.first_column-ut},this.options.ranges&&(this.yylloc.range=[pt[0],pt[0]+this.yyleng-ut]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ft){this.unput(this.match.slice(ft))},pastInput:function(){var ft=this.matched.substr(0,this.matched.length-this.match.length);return(ft.length>20?"...":"")+ft.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ft=this.match;return ft.length<20&&(ft+=this._input.substr(0,20-ft.length)),(ft.substr(0,20)+(ft.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ft=this.pastInput(),ut=new Array(ft.length+1).join("-");return ft+this.upcomingInput()+` +`+ut+"^"},test_match:function(ft,ut){var vt,X,pt;if(this.options.backtrack_lexer&&(pt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(pt.yylloc.range=this.yylloc.range.slice(0))),X=ft[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ft[0].length},this.yytext+=ft[0],this.match+=ft[0],this.matches=ft,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ft[0].length),this.matched+=ft[0],vt=this.performAction.call(this,this.yy,this,ut,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),vt)return vt;if(this._backtrack){for(var U in pt)this[U]=pt[U];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ft,ut,vt,X;this._more||(this.yytext="",this.match="");for(var pt=this._currentRules(),U=0;Uut[0].length)){if(ut=vt,X=U,this.options.backtrack_lexer){if(ft=this.test_match(vt,pt[U]),ft!==!1)return ft;if(this._backtrack){ut=!1;continue}else return!1}else if(!this.options.flex)break}return ut?(ft=this.test_match(ut,pt[X]),ft!==!1?ft:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ut=this.next();return ut||this.lex()},begin:function(ut){this.conditionStack.push(ut)},popState:function(){var ut=this.conditionStack.length-1;return ut>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ut){return ut=this.conditionStack.length-1-Math.abs(ut||0),ut>=0?this.conditionStack[ut]:"INITIAL"},pushState:function(ut){this.begin(ut)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ut,vt,X,pt){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 39;case 12:return 32;case 13:return 37;case 14:return 41;case 15:return 42;case 16:return 43;case 17:return 44;case 18:return 34;case 19:return 28;case 20:return 29;case 21:return 36;case 22:return 31;case 23:return 26;case 24:return 9;case 25:return 9;case 26:return 8;case 27:return"CARET";case 28:this.begin("options");break;case 29:this.popState();break;case 30:return 12;case 31:return 35;case 32:this.begin("string");break;case 33:this.popState();break;case 34:return 33;case 35:return 30;case 36:return 45;case 37:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[29,30],inclusive:!1},string:{rules:[33,34],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,31,32,35,36,37,38],inclusive:!0}}};return yt}();at.lexer=bt;function mt(){this.yy={}}return mt.prototype=at,at.Parser=mt,new mt}();z0t.parser=z0t;const Nze=z0t;let MY=Oe().gitGraph.mainBranchName,Bze=Oe().gitGraph.mainBranchOrder,l1={},vg=null,AF={};AF[MY]={name:MY,order:Bze};let Nf={};Nf[MY]=vg;let J1=MY,BBt="LR",ET=0;function q0t(){return GIt({length:7})}function Rze(i,a){const f=Object.create(null);return i.reduce((p,w)=>{const m=a(w);return f[m]||(f[m]=!0,p.push(w)),p},[])}const jze=function(i){BBt=i};let RBt={};const $ze=function(i){Ut.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{RBt=JSON.parse(i)}catch(a){Ut.error("error while parsing gitGraph options",a.message)}},zze=function(){return RBt},qze=function(i,a,f,p){Ut.debug("Entering commit:",i,a,f,p),a=Kr.sanitizeText(a,Oe()),i=Kr.sanitizeText(i,Oe()),p=Kr.sanitizeText(p,Oe());const w={id:a||ET+"-"+q0t(),message:i,seq:ET++,type:f||LF.NORMAL,tag:p||"",parents:vg==null?[]:[vg.id],branch:J1};vg=w,l1[w.id]=w,Nf[J1]=w.id,Ut.debug("in pushCommit "+w.id)},Hze=function(i,a){if(i=Kr.sanitizeText(i,Oe()),Nf[i]===void 0)Nf[i]=vg!=null?vg.id:null,AF[i]={name:i,order:a?parseInt(a,10):null},jBt(i),Ut.debug("in createBranch");else{let f=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+i+'")');throw f.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},f}},Vze=function(i,a,f,p){i=Kr.sanitizeText(i,Oe()),a=Kr.sanitizeText(a,Oe());const w=l1[Nf[J1]],m=l1[Nf[i]];if(J1===i){let E=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(w===void 0||!w){let E=new Error('Incorrect usage of "merge". Current branch ('+J1+")has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},E}else if(Nf[i]===void 0){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},E}else if(m===void 0||!m){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},E}else if(w===m){let E=new Error('Incorrect usage of "merge". Both branches have same head');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(a&&l1[a]!==void 0){let E=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw E.hash={text:"merge "+i+a+f+p,token:"merge "+i+a+f+p,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+f+" "+p]},E}const b={id:a||ET+"-"+q0t(),message:"merged branch "+i+" into "+J1,seq:ET++,parents:[vg==null?null:vg.id,Nf[i]],branch:J1,type:LF.MERGE,customType:f,customId:!!a,tag:p||""};vg=b,l1[b.id]=b,Nf[J1]=b.id,Ut.debug(Nf),Ut.debug("in mergeBranch")},Gze=function(i,a,f){if(Ut.debug("Entering cherryPick:",i,a,f),i=Kr.sanitizeText(i,Oe()),a=Kr.sanitizeText(a,Oe()),f=Kr.sanitizeText(f,Oe()),!i||l1[i]===void 0){let m=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw m.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},m}let p=l1[i],w=p.branch;if(p.type===LF.MERGE){let m=new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw m.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},m}if(!a||l1[a]===void 0){if(w===J1){let E=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const m=l1[Nf[J1]];if(m===void 0||!m){let E=new Error('Incorrect usage of "cherry-pick". Current branch ('+J1+")has no commits");throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const b={id:ET+"-"+q0t(),message:"cherry-picked "+p+" into "+J1,seq:ET++,parents:[vg==null?null:vg.id,p.id],branch:J1,type:LF.CHERRY_PICK,tag:f??"cherry-pick:"+p.id};vg=b,l1[b.id]=b,Nf[J1]=b.id,Ut.debug(Nf),Ut.debug("in cherryPick")}},jBt=function(i){if(i=Kr.sanitizeText(i,Oe()),Nf[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{J1=i;const a=Nf[J1];vg=l1[a]}};function $Bt(i,a,f){const p=i.indexOf(a);p===-1?i.push(f):i.splice(p,1,f)}function zBt(i){const a=i.reduce((w,m)=>w.seq>m.seq?w:m,i[0]);let f="";i.forEach(function(w){w===a?f+=" *":f+=" |"});const p=[f,a.id,a.seq];for(let w in Nf)Nf[w]===a.id&&p.push(w);if(Ut.debug(p.join(" ")),a.parents&&a.parents.length==2){const w=l1[a.parents[0]];$Bt(i,a,w),i.push(l1[a.parents[1]])}else{if(a.parents.length==0)return;{const w=l1[a.parents];$Bt(i,a,w)}}i=Rze(i,w=>w.id),zBt(i)}const Uze=function(){Ut.debug(l1);const i=qBt()[0];zBt([i])},Wze=function(){l1={},vg=null;let i=Oe().gitGraph.mainBranchName,a=Oe().gitGraph.mainBranchOrder;Nf={},Nf[i]=null,AF={},AF[i]={name:i,order:a},J1=i,ET=0,hg()},Yze=function(){return Object.values(AF).map((a,f)=>a.order!==null?a:{...a,order:parseFloat(`0.${f}`,10)}).sort((a,f)=>a.order-f.order).map(({name:a})=>({name:a}))},Kze=function(){return Nf},Xze=function(){return l1},qBt=function(){const i=Object.keys(l1).map(function(a){return l1[a]});return i.forEach(function(a){Ut.debug(a.id)}),i.sort((a,f)=>a.seq-f.seq),i},Qze=function(){return J1},Zze=function(){return BBt},Jze=function(){return vg},LF={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},tqe={getConfig:()=>Oe().gitGraph,setDirection:jze,setOptions:$ze,getOptions:zze,commit:qze,branch:Hze,merge:Vze,cherryPick:Gze,checkout:jBt,prettyPrint:Uze,clear:Wze,getBranchesAsObjArray:Yze,getBranches:Kze,getCommits:Xze,getCommitsArray:qBt,getCurrentBranch:Qze,getDirection:Zze,getHead:Jze,setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,setDiagramTitle:Nb,getDiagramTitle:pg,commitType:LF};let MF={};const $b={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},TT=8;let td={},DF={},DY=[],IF=0,C0="LR";const eqe=()=>{td={},DF={},MF={},IF=0,DY=[],C0="LR"},HBt=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let f=[];typeof i=="string"?f=i.split(/\\n|\n|/gi):Array.isArray(i)?f=i:f=[];for(const p of f){const w=document.createElementNS("http://www.w3.org/2000/svg","tspan");w.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),w.setAttribute("dy","1em"),w.setAttribute("x","0"),w.setAttribute("class","row"),w.textContent=p.trim(),a.appendChild(w)}return a},VBt=(i,a,f)=>{const p=Oe().gitGraph,w=i.append("g").attr("class","commit-bullets"),m=i.append("g").attr("class","commit-labels");let b=0;C0==="TB"&&(b=30),Object.keys(a).sort((A,I)=>a[A].seq-a[I].seq).forEach(A=>{const I=a[A],B=C0==="TB"?b+10:td[I.branch].pos,N=C0==="TB"?td[I.branch].pos:b+10;if(f){let R,z=I.customType!==void 0&&I.customType!==""?I.customType:I.type;switch(z){case $b.NORMAL:R="commit-normal";break;case $b.REVERSE:R="commit-reverse";break;case $b.HIGHLIGHT:R="commit-highlight";break;case $b.MERGE:R="commit-merge";break;case $b.CHERRY_PICK:R="commit-cherry-pick";break;default:R="commit-normal"}if(z===$b.HIGHLIGHT){const W=w.append("rect");W.attr("x",N-10),W.attr("y",B-10),W.attr("height",20),W.attr("width",20),W.attr("class",`commit ${I.id} commit-highlight${td[I.branch].index%TT} ${R}-outer`),w.append("rect").attr("x",N-6).attr("y",B-6).attr("height",12).attr("width",12).attr("class",`commit ${I.id} commit${td[I.branch].index%TT} ${R}-inner`)}else if(z===$b.CHERRY_PICK)w.append("circle").attr("cx",N).attr("cy",B).attr("r",10).attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",N-3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("circle").attr("cx",N+3).attr("cy",B+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",N+3).attr("y1",B+1).attr("x2",N).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`),w.append("line").attr("x1",N-3).attr("y1",B+1).attr("x2",N).attr("y2",B-5).attr("stroke","#fff").attr("class",`commit ${I.id} ${R}`);else{const W=w.append("circle");if(W.attr("cx",N),W.attr("cy",B),W.attr("r",I.type===$b.MERGE?9:10),W.attr("class",`commit ${I.id} commit${td[I.branch].index%TT}`),z===$b.MERGE){const et=w.append("circle");et.attr("cx",N),et.attr("cy",B),et.attr("r",6),et.attr("class",`commit ${R} ${I.id} commit${td[I.branch].index%TT}`)}z===$b.REVERSE&&w.append("path").attr("d",`M ${N-5},${B-5}L${N+5},${B+5}M${N-5},${B+5}L${N+5},${B-5}`).attr("class",`commit ${R} ${I.id} commit${td[I.branch].index%TT}`)}}if(C0==="TB"?DF[I.id]={x:N,y:b+10}:DF[I.id]={x:b+10,y:B},f){if(I.type!==$b.CHERRY_PICK&&(I.customId&&I.type===$b.MERGE||I.type!==$b.MERGE)&&p.showCommitLabel){const W=m.append("g"),et=W.insert("rect").attr("class","commit-label-bkg"),st=W.append("text").attr("x",b).attr("y",B+25).attr("class","commit-label").text(I.id);let at=st.node().getBBox();if(et.attr("x",b+10-at.width/2-2).attr("y",B+13.5).attr("width",at.width+2*2).attr("height",at.height+2*2),C0==="TB"&&(et.attr("x",N-(at.width+4*4+5)).attr("y",B-12),st.attr("x",N-(at.width+4*4)).attr("y",B+at.height-12)),C0!=="TB"&&st.attr("x",b+10-at.width/2),p.rotateCommitLabel)if(C0==="TB")st.attr("transform","rotate(-45, "+N+", "+B+")"),et.attr("transform","rotate(-45, "+N+", "+B+")");else{let bt=-7.5-(at.width+10)/25*9.5,mt=10+at.width/25*8.5;W.attr("transform","translate("+bt+", "+mt+") rotate(-45, "+b+", "+B+")")}}if(I.tag){const W=m.insert("polygon"),et=m.append("circle"),st=m.append("text").attr("y",B-16).attr("class","tag-label").text(I.tag);let at=st.node().getBBox();st.attr("x",b+10-at.width/2);const bt=at.height/2,mt=B-19.2;W.attr("class","tag-label-bkg").attr("points",` + ${b-at.width/2-4/2},${mt+2} + ${b-at.width/2-4/2},${mt-2} + ${b+10-at.width/2-4},${mt-bt-2} + ${b+10+at.width/2+4},${mt-bt-2} + ${b+10+at.width/2+4},${mt+bt+2} + ${b+10-at.width/2-4},${mt+bt+2}`),et.attr("cx",b-at.width/2+4/2).attr("cy",mt).attr("r",1.5).attr("class","tag-hole"),C0==="TB"&&(W.attr("class","tag-label-bkg").attr("points",` + ${N},${b+2} + ${N},${b-2} + ${N+10},${b-bt-2} + ${N+10+at.width+4},${b-bt-2} + ${N+10+at.width+4},${b+bt+2} + ${N+10},${b+bt+2}`).attr("transform","translate(12,12) rotate(45, "+N+","+b+")"),et.attr("cx",N+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+N+","+b+")"),st.attr("x",N+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+N+","+b+")"))}}b+=50,b>IF&&(IF=b)})},nqe=(i,a,f)=>Object.keys(f).filter(m=>f[m].branch===a.branch&&f[m].seq>i.seq&&f[m].seq0,OF=(i,a,f=0)=>{const p=i+Math.abs(i-a)/2;if(f>5)return p;if(DY.every(b=>Math.abs(b-p)>=10))return DY.push(p),p;const m=Math.abs(i-a);return OF(i,a-m/5,f+1)},rqe=(i,a,f,p)=>{const w=DF[a.id],m=DF[f.id],b=nqe(a,f,p);let E="",_="",A=0,I=0,B=td[f.branch].index,N;if(b){E="A 10 10, 0, 0, 0,",_="A 10 10, 0, 0, 1,",A=10,I=10,B=td[f.branch].index;const R=w.ym.x&&(E="A 20 20, 0, 0, 0,",_="A 20 20, 0, 0, 1,",A=20,I=20,B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x} ${m.y-A} ${_} ${w.x-I} ${m.y} L ${m.x} ${m.y}`),w.x===m.x&&(B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x+A} ${w.y} ${E} ${w.x+I} ${m.y+A} L ${m.x} ${m.y}`)):(w.ym.y&&(E="A 20 20, 0, 0, 0,",A=20,I=20,B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${m.x-A} ${w.y} ${E} ${m.x} ${w.y-I} L ${m.x} ${m.y}`),w.y===m.y&&(B=td[a.branch].index,N=`M ${w.x} ${w.y} L ${w.x} ${m.y-A} ${E} ${w.x+I} ${m.y} L ${m.x} ${m.y}`));i.append("path").attr("d",N).attr("class","arrow arrow"+B%TT)},iqe=(i,a)=>{const f=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(p=>{const w=a[p];w.parents&&w.parents.length>0&&w.parents.forEach(m=>{rqe(f,a[m],w,a)})})},sqe=(i,a)=>{const f=Oe().gitGraph,p=i.append("g");a.forEach((w,m)=>{const b=m%TT,E=td[w.name].pos,_=p.append("line");_.attr("x1",0),_.attr("y1",E),_.attr("x2",IF),_.attr("y2",E),_.attr("class","branch branch"+b),C0==="TB"&&(_.attr("y1",30),_.attr("x1",E),_.attr("y2",IF),_.attr("x2",E)),DY.push(E);let A=w.name;const I=HBt(A),B=p.insert("rect"),R=p.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);R.node().appendChild(I);let z=I.getBBox();B.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-z.width-4-(f.rotateCommitLabel===!0?30:0)).attr("y",-z.height/2+8).attr("width",z.width+18).attr("height",z.height+4),R.attr("transform","translate("+(-z.width-14-(f.rotateCommitLabel===!0?30:0))+", "+(E-z.height/2-1)+")"),C0==="TB"&&(B.attr("x",E-z.width/2-10).attr("y",0),R.attr("transform","translate("+(E-z.width/2-5)+", 0)")),C0!=="TB"&&B.attr("transform","translate(-19, "+(E-z.height/2)+")")})},aqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Nze,db:tqe,renderer:{draw:function(i,a,f,p){eqe();const w=Oe(),m=w.gitGraph;Ut.debug("in gitgraph renderer",i+` +`,"id:",a,f),MF=p.db.getCommits();const b=p.db.getBranchesAsObjArray();C0=p.db.getDirection();const E=yr(`[id="${a}"]`);let _=0;b.forEach((A,I)=>{const B=HBt(A.name),N=E.append("g"),R=N.insert("g").attr("class","branchLabel"),z=R.insert("g").attr("class","label branch-label");z.node().appendChild(B);let W=B.getBBox();td[A.name]={pos:_,index:I},_+=50+(m.rotateCommitLabel?40:0)+(C0==="TB"?W.width/2:0),z.remove(),R.remove(),N.remove()}),VBt(E,MF,!1),m.showBranches&&sqe(E,b),iqe(E,MF),VBt(E,MF,!0),$a.insertTitle(E,"gitTitleText",m.titleTopMargin,p.db.getDiagramTitle()),AOt(void 0,E,m.diagramPadding,m.useMaxWidth??w.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(a=>` + .branch-label${a} { fill: ${i["gitBranchLabel"+a]}; } + .commit${a} { stroke: ${i["git"+a]}; fill: ${i["git"+a]}; } + .commit-highlight${a} { stroke: ${i["gitInv"+a]}; fill: ${i["gitInv"+a]}; } + .label${a} { fill: ${i["git"+a]}; } + .arrow${a} { stroke: ${i["git"+a]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var H0t=function(){var i=function(U,Tt,nt,It){for(nt=nt||{},It=U.length;It--;nt[U[It]]=Tt);return nt},a=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],f=[1,25],p=[1,26],w=[1,27],m=[1,28],b=[1,29],E=[1,30],_=[1,31],A=[1,9],I=[1,10],B=[1,11],N=[1,12],R=[1,13],z=[1,14],W=[1,15],et=[1,16],st=[1,18],at=[1,19],bt=[1,20],mt=[1,21],yt=[1,22],ft=[1,24],ut=[1,32],vt={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(Tt,nt,It,Ot,Bt,Et,Z){var Ct=Et.length-1;switch(Bt){case 1:return Et[Ct-1];case 2:this.$=[];break;case 3:Et[Ct-1].push(Et[Ct]),this.$=Et[Ct-1];break;case 4:case 5:this.$=Et[Ct];break;case 6:case 7:this.$=[];break;case 8:Ot.setWeekday("monday");break;case 9:Ot.setWeekday("tuesday");break;case 10:Ot.setWeekday("wednesday");break;case 11:Ot.setWeekday("thursday");break;case 12:Ot.setWeekday("friday");break;case 13:Ot.setWeekday("saturday");break;case 14:Ot.setWeekday("sunday");break;case 15:Ot.setDateFormat(Et[Ct].substr(11)),this.$=Et[Ct].substr(11);break;case 16:Ot.enableInclusiveEndDates(),this.$=Et[Ct].substr(18);break;case 17:Ot.TopAxis(),this.$=Et[Ct].substr(8);break;case 18:Ot.setAxisFormat(Et[Ct].substr(11)),this.$=Et[Ct].substr(11);break;case 19:Ot.setTickInterval(Et[Ct].substr(13)),this.$=Et[Ct].substr(13);break;case 20:Ot.setExcludes(Et[Ct].substr(9)),this.$=Et[Ct].substr(9);break;case 21:Ot.setIncludes(Et[Ct].substr(9)),this.$=Et[Ct].substr(9);break;case 22:Ot.setTodayMarker(Et[Ct].substr(12)),this.$=Et[Ct].substr(12);break;case 24:Ot.setDiagramTitle(Et[Ct].substr(6)),this.$=Et[Ct].substr(6);break;case 25:this.$=Et[Ct].trim(),Ot.setAccTitle(this.$);break;case 26:case 27:this.$=Et[Ct].trim(),Ot.setAccDescription(this.$);break;case 28:Ot.addSection(Et[Ct].substr(8)),this.$=Et[Ct].substr(8);break;case 30:Ot.addTask(Et[Ct-1],Et[Ct]),this.$="task";break;case 31:this.$=Et[Ct-1],Ot.setClickEvent(Et[Ct-1],Et[Ct],null);break;case 32:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct-1],Et[Ct]);break;case 33:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct-1],null),Ot.setLink(Et[Ct-2],Et[Ct]);break;case 34:this.$=Et[Ct-3],Ot.setClickEvent(Et[Ct-3],Et[Ct-2],Et[Ct-1]),Ot.setLink(Et[Ct-3],Et[Ct]);break;case 35:this.$=Et[Ct-2],Ot.setClickEvent(Et[Ct-2],Et[Ct],null),Ot.setLink(Et[Ct-2],Et[Ct-1]);break;case 36:this.$=Et[Ct-3],Ot.setClickEvent(Et[Ct-3],Et[Ct-1],Et[Ct]),Ot.setLink(Et[Ct-3],Et[Ct-2]);break;case 37:this.$=Et[Ct-1],Ot.setLink(Et[Ct-1],Et[Ct]);break;case 38:case 44:this.$=Et[Ct-1]+" "+Et[Ct];break;case 39:case 40:case 42:this.$=Et[Ct-2]+" "+Et[Ct-1]+" "+Et[Ct];break;case 41:case 43:this.$=Et[Ct-3]+" "+Et[Ct-2]+" "+Et[Ct-1]+" "+Et[Ct];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:f,13:p,14:w,15:m,16:b,17:E,18:_,19:A,20:I,21:B,22:N,23:R,24:z,25:W,26:et,27:st,28:at,30:bt,32:mt,33:yt,34:23,35:ft,37:ut},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:33,11:17,12:f,13:p,14:w,15:m,16:b,17:E,18:_,19:A,20:I,21:B,22:N,23:R,24:z,25:W,26:et,27:st,28:at,30:bt,32:mt,33:yt,34:23,35:ft,37:ut},i(a,[2,5]),i(a,[2,6]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),i(a,[2,18]),i(a,[2,19]),i(a,[2,20]),i(a,[2,21]),i(a,[2,22]),i(a,[2,23]),i(a,[2,24]),{29:[1,34]},{31:[1,35]},i(a,[2,27]),i(a,[2,28]),i(a,[2,29]),{36:[1,36]},i(a,[2,8]),i(a,[2,9]),i(a,[2,10]),i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),{38:[1,37],40:[1,38]},i(a,[2,4]),i(a,[2,25]),i(a,[2,26]),i(a,[2,30]),i(a,[2,31],{39:[1,39],40:[1,40]}),i(a,[2,37],{38:[1,41]}),i(a,[2,32],{40:[1,42]}),i(a,[2,33]),i(a,[2,35],{39:[1,43]}),i(a,[2,34]),i(a,[2,36])],defaultActions:{},parseError:function(Tt,nt){if(nt.recoverable)this.trace(Tt);else{var It=new Error(Tt);throw It.hash=nt,It}},parse:function(Tt){var nt=this,It=[0],Ot=[],Bt=[null],Et=[],Z=this.table,Ct="",xt=0,Ht=0,Le=2,Ft=1,gn=Et.slice.call(arguments,1),Se=Object.create(this.lexer),me={yy:{}};for(var Ve in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ve)&&(me.yy[Ve]=this.yy[Ve]);Se.setInput(Tt,me.yy),me.yy.lexer=Se,me.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ye=Se.yylloc;Et.push(Ye);var ce=Se.options&&Se.options.ranges;typeof me.yy.parseError=="function"?this.parseError=me.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(){var ws;return ws=Ot.pop()||Se.lex()||Ft,typeof ws!="number"&&(ws instanceof Array&&(Ot=ws,ws=Ot.pop()),ws=nt.symbols_[ws]||ws),ws}for(var zt,re,se,Pe,te={},Me,de,on,ni;;){if(re=It[It.length-1],this.defaultActions[re]?se=this.defaultActions[re]:((zt===null||typeof zt>"u")&&(zt=ke()),se=Z[re]&&Z[re][zt]),typeof se>"u"||!se.length||!se[0]){var Ks="";ni=[];for(Me in Z[re])this.terminals_[Me]&&Me>Le&&ni.push("'"+this.terminals_[Me]+"'");Se.showPosition?Ks="Parse error on line "+(xt+1)+`: +`+Se.showPosition()+` +Expecting `+ni.join(", ")+", got '"+(this.terminals_[zt]||zt)+"'":Ks="Parse error on line "+(xt+1)+": Unexpected "+(zt==Ft?"end of input":"'"+(this.terminals_[zt]||zt)+"'"),this.parseError(Ks,{text:Se.match,token:this.terminals_[zt]||zt,line:Se.yylineno,loc:Ye,expected:ni})}if(se[0]instanceof Array&&se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+zt);switch(se[0]){case 1:It.push(zt),Bt.push(Se.yytext),Et.push(Se.yylloc),It.push(se[1]),zt=null,Ht=Se.yyleng,Ct=Se.yytext,xt=Se.yylineno,Ye=Se.yylloc;break;case 2:if(de=this.productions_[se[1]][1],te.$=Bt[Bt.length-de],te._$={first_line:Et[Et.length-(de||1)].first_line,last_line:Et[Et.length-1].last_line,first_column:Et[Et.length-(de||1)].first_column,last_column:Et[Et.length-1].last_column},ce&&(te._$.range=[Et[Et.length-(de||1)].range[0],Et[Et.length-1].range[1]]),Pe=this.performAction.apply(te,[Ct,Ht,xt,me.yy,se[1],Bt,Et].concat(gn)),typeof Pe<"u")return Pe;de&&(It=It.slice(0,-1*de*2),Bt=Bt.slice(0,-1*de),Et=Et.slice(0,-1*de)),It.push(this.productions_[se[1]][0]),Bt.push(te.$),Et.push(te._$),on=Z[It[It.length-2]][It[It.length-1]],It.push(on);break;case 3:return!0}}return!0}},X=function(){var U={EOF:1,parseError:function(nt,It){if(this.yy.parser)this.yy.parser.parseError(nt,It);else throw new Error(nt)},setInput:function(Tt,nt){return this.yy=nt||this.yy||{},this._input=Tt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Tt=this._input[0];this.yytext+=Tt,this.yyleng++,this.offset++,this.match+=Tt,this.matched+=Tt;var nt=Tt.match(/(?:\r\n?|\n).*/g);return nt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tt},unput:function(Tt){var nt=Tt.length,It=Tt.split(/(?:\r\n?|\n)/g);this._input=Tt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-nt),this.offset-=nt;var Ot=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),It.length-1&&(this.yylineno-=It.length-1);var Bt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:It?(It.length===Ot.length?this.yylloc.first_column:0)+Ot[Ot.length-It.length].length-It[0].length:this.yylloc.first_column-nt},this.options.ranges&&(this.yylloc.range=[Bt[0],Bt[0]+this.yyleng-nt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Tt){this.unput(this.match.slice(Tt))},pastInput:function(){var Tt=this.matched.substr(0,this.matched.length-this.match.length);return(Tt.length>20?"...":"")+Tt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Tt=this.match;return Tt.length<20&&(Tt+=this._input.substr(0,20-Tt.length)),(Tt.substr(0,20)+(Tt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Tt=this.pastInput(),nt=new Array(Tt.length+1).join("-");return Tt+this.upcomingInput()+` +`+nt+"^"},test_match:function(Tt,nt){var It,Ot,Bt;if(this.options.backtrack_lexer&&(Bt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Bt.yylloc.range=this.yylloc.range.slice(0))),Ot=Tt[0].match(/(?:\r\n?|\n).*/g),Ot&&(this.yylineno+=Ot.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ot?Ot[Ot.length-1].length-Ot[Ot.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tt[0].length},this.yytext+=Tt[0],this.match+=Tt[0],this.matches=Tt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Tt[0].length),this.matched+=Tt[0],It=this.performAction.call(this,this.yy,this,nt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),It)return It;if(this._backtrack){for(var Et in Bt)this[Et]=Bt[Et];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tt,nt,It,Ot;this._more||(this.yytext="",this.match="");for(var Bt=this._currentRules(),Et=0;Etnt[0].length)){if(nt=It,Ot=Et,this.options.backtrack_lexer){if(Tt=this.test_match(It,Bt[Et]),Tt!==!1)return Tt;if(this._backtrack){nt=!1;continue}else return!1}else if(!this.options.flex)break}return nt?(Tt=this.test_match(nt,Bt[Ot]),Tt!==!1?Tt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var nt=this.next();return nt||this.lex()},begin:function(nt){this.conditionStack.push(nt)},popState:function(){var nt=this.conditionStack.length-1;return nt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(nt){return nt=this.conditionStack.length-1-Math.abs(nt||0),nt>=0?this.conditionStack[nt]:"INITIAL"},pushState:function(nt){this.begin(nt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(nt,It,Ot,Bt){switch(Ot){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:break;case 15:this.begin("href");break;case 16:this.popState();break;case 17:return 40;case 18:this.begin("callbackname");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callbackargs");break;case 21:return 38;case 22:this.popState();break;case 23:return 39;case 24:this.begin("click");break;case 25:this.popState();break;case 26:return 37;case 27:return 4;case 28:return 19;case 29:return 20;case 30:return 21;case 31:return 22;case 32:return 23;case 33:return 25;case 34:return 24;case 35:return 26;case 36:return 12;case 37:return 13;case 38:return 14;case 39:return 15;case 40:return 16;case 41:return 17;case 42:return 18;case 43:return"date";case 44:return 27;case 45:return"accDescription";case 46:return 33;case 47:return 35;case 48:return 36;case 49:return":";case 50:return 6;case 51:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[22,23],inclusive:!1},callbackname:{rules:[19,20,21],inclusive:!1},href:{rules:[16,17],inclusive:!1},click:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,18,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return U}();vt.lexer=X;function pt(){this.yy={}}return pt.prototype=vt,vt.Parser=pt,new pt}();H0t.parser=H0t;const oqe=H0t;var GBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){var f="day";return function(p,w,m){var b=function(A){return A.add(4-A.isoWeekday(),f)},E=w.prototype;E.isoWeekYear=function(){return b(this).year()},E.isoWeek=function(A){if(!this.$utils().u(A))return this.add(7*(A-this.isoWeek()),f);var I,B,N,R,z=b(this),W=(I=this.isoWeekYear(),B=this.$u,N=(B?m.utc:m)().year(I).startOf("year"),R=4-N.isoWeekday(),N.isoWeekday()>4&&(R+=7),N.add(R,f));return z.diff(W,"week")+1},E.isoWeekday=function(A){return this.$utils().u(A)?this.day()||7:this.day(this.day()%7?A:A-7)};var _=E.startOf;E.startOf=function(A,I){var B=this.$utils(),N=!!B.u(I)||I;return B.p(A)==="isoweek"?N?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):_.bind(this)(A,I)}}})})(GBt);var cqe=GBt.exports;const uqe=G7(cqe);var UBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){var f={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},p=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,w=/\d\d/,m=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,E={},_=function(W){return(W=+W)+(W>68?1900:2e3)},A=function(W){return function(et){this[W]=+et}},I=[/[+-]\d\d:?(\d\d)?|Z/,function(W){(this.zone||(this.zone={})).offset=function(et){if(!et||et==="Z")return 0;var st=et.match(/([+-]|\d\d)/g),at=60*st[1]+(+st[2]||0);return at===0?0:st[0]==="+"?-at:at}(W)}],B=function(W){var et=E[W];return et&&(et.indexOf?et:et.s.concat(et.f))},N=function(W,et){var st,at=E.meridiem;if(at){for(var bt=1;bt<=24;bt+=1)if(W.indexOf(at(bt,0,et))>-1){st=bt>12;break}}else st=W===(et?"pm":"PM");return st},R={A:[b,function(W){this.afternoon=N(W,!1)}],a:[b,function(W){this.afternoon=N(W,!0)}],S:[/\d/,function(W){this.milliseconds=100*+W}],SS:[w,function(W){this.milliseconds=10*+W}],SSS:[/\d{3}/,function(W){this.milliseconds=+W}],s:[m,A("seconds")],ss:[m,A("seconds")],m:[m,A("minutes")],mm:[m,A("minutes")],H:[m,A("hours")],h:[m,A("hours")],HH:[m,A("hours")],hh:[m,A("hours")],D:[m,A("day")],DD:[w,A("day")],Do:[b,function(W){var et=E.ordinal,st=W.match(/\d+/);if(this.day=st[0],et)for(var at=1;at<=31;at+=1)et(at).replace(/\[|\]/g,"")===W&&(this.day=at)}],M:[m,A("month")],MM:[w,A("month")],MMM:[b,function(W){var et=B("months"),st=(B("monthsShort")||et.map(function(at){return at.slice(0,3)})).indexOf(W)+1;if(st<1)throw new Error;this.month=st%12||st}],MMMM:[b,function(W){var et=B("months").indexOf(W)+1;if(et<1)throw new Error;this.month=et%12||et}],Y:[/[+-]?\d+/,A("year")],YY:[w,function(W){this.year=_(W)}],YYYY:[/\d{4}/,A("year")],Z:I,ZZ:I};function z(W){var et,st;et=W,st=E&&E.formats;for(var at=(W=et.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,pt,U){var Tt=U&&U.toUpperCase();return pt||st[U]||f[U]||st[Tt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(nt,It,Ot){return It||Ot.slice(1)})})).match(p),bt=at.length,mt=0;mt-1)return new Date((Et==="X"?1e3:1)*Bt);var Ct=z(Et)(Bt),xt=Ct.year,Ht=Ct.month,Le=Ct.day,Ft=Ct.hours,gn=Ct.minutes,Se=Ct.seconds,me=Ct.milliseconds,Ve=Ct.zone,Ye=new Date,ce=Le||(xt||Ht?1:Ye.getDate()),ke=xt||Ye.getFullYear(),zt=0;xt&&!Ht||(zt=Ht>0?Ht-1:Ye.getMonth());var re=Ft||0,se=gn||0,Pe=Se||0,te=me||0;return Ve?new Date(Date.UTC(ke,zt,ce,re,se,Pe,te+60*Ve.offset*1e3)):Z?new Date(Date.UTC(ke,zt,ce,re,se,Pe,te)):new Date(ke,zt,ce,re,se,Pe,te)}catch{return new Date("")}}(yt,vt,ft),this.init(),Tt&&Tt!==!0&&(this.$L=this.locale(Tt).$L),U&&yt!=this.format(vt)&&(this.$d=new Date("")),E={}}else if(vt instanceof Array)for(var nt=vt.length,It=1;It<=nt;It+=1){ut[1]=vt[It-1];var Ot=st.apply(this,ut);if(Ot.isValid()){this.$d=Ot.$d,this.$L=Ot.$L,this.init();break}It===nt&&(this.$d=new Date(""))}else bt.call(this,mt)}}})})(UBt);var lqe=UBt.exports;const hqe=G7(lqe);var WBt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){return function(f,p){var w=p.prototype,m=w.format;w.format=function(b){var E=this,_=this.$locale();if(!this.isValid())return m.bind(this)(b);var A=this.$utils(),I=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(B){switch(B){case"Q":return Math.ceil((E.$M+1)/3);case"Do":return _.ordinal(E.$D);case"gggg":return E.weekYear();case"GGGG":return E.isoWeekYear();case"wo":return _.ordinal(E.week(),"W");case"w":case"ww":return A.s(E.week(),B==="w"?1:2,"0");case"W":case"WW":return A.s(E.isoWeek(),B==="W"?1:2,"0");case"k":case"kk":return A.s(String(E.$H===0?24:E.$H),B==="k"?1:2,"0");case"X":return Math.floor(E.$d.getTime()/1e3);case"x":return E.$d.getTime();case"z":return"["+E.offsetName()+"]";case"zzz":return"["+E.offsetName("long")+"]";default:return B}});return m.bind(this)(I)}}})})(WBt);var fqe=WBt.exports;const dqe=G7(fqe);w0.extend(uqe),w0.extend(hqe),w0.extend(dqe);let x3="",V0t="",G0t,U0t="",PF=[],FF=[],W0t={},Y0t=[],IY=[],uL="",K0t="";const YBt=["active","done","crit","milestone"];let X0t=[],NF=!1,Q0t=!1,Z0t="sunday",J0t=0;const gqe=function(){Y0t=[],IY=[],uL="",X0t=[],OY=0,egt=void 0,PY=void 0,h1=[],x3="",V0t="",K0t="",G0t=void 0,U0t="",PF=[],FF=[],NF=!1,Q0t=!1,J0t=0,W0t={},hg(),Z0t="sunday"},pqe=function(i){V0t=i},bqe=function(){return V0t},wqe=function(i){G0t=i},vqe=function(){return G0t},mqe=function(i){U0t=i},yqe=function(){return U0t},xqe=function(i){x3=i},kqe=function(){NF=!0},Eqe=function(){return NF},Tqe=function(){Q0t=!0},Cqe=function(){return Q0t},_qe=function(i){K0t=i},Sqe=function(){return K0t},Aqe=function(){return x3},Lqe=function(i){PF=i.toLowerCase().split(/[\s,]+/)},Mqe=function(){return PF},Dqe=function(i){FF=i.toLowerCase().split(/[\s,]+/)},Iqe=function(){return FF},Oqe=function(){return W0t},Pqe=function(i){uL=i,Y0t.push(i)},Fqe=function(){return Y0t},Nqe=function(){let i=tRt();const a=10;let f=0;for(;!i&&f=6&&f.includes("weekends")||f.includes(i.format("dddd").toLowerCase())?!0:f.includes(i.format(a.trim()))},Bqe=function(i){Z0t=i},Rqe=function(){return Z0t},XBt=function(i,a,f,p){if(!f.length||i.manualEndTime)return;let w;i.startTime instanceof Date?w=w0(i.startTime):w=w0(i.startTime,a,!0),w=w.add(1,"d");let m;i.endTime instanceof Date?m=w0(i.endTime):m=w0(i.endTime,a,!0);const[b,E]=jqe(w,m,a,f,p);i.endTime=b.toDate(),i.renderEndTime=E},jqe=function(i,a,f,p,w){let m=!1,b=null;for(;i<=a;)m||(b=a.toDate()),m=KBt(i,f,p,w),m&&(a=a.add(1,"d")),i=i.add(1,"d");return[a,b]},tgt=function(i,a,f){f=f.trim();const w=/^after\s+([\d\w- ]+)/.exec(f.trim());if(w!==null){let b=null;if(w[1].split(" ").forEach(function(E){let _=hL(E);_!==void 0&&(b?_.endTime>b.endTime&&(b=_):b=_)}),b)return b.endTime;{const E=new Date;return E.setHours(0,0,0,0),E}}let m=w0(f,a.trim(),!0);if(m.isValid())return m.toDate();{Ut.debug("Invalid date:"+f),Ut.debug("With date format:"+a.trim());const b=new Date(f);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+f);return b}},QBt=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},ZBt=function(i,a,f,p=!1){f=f.trim();let w=w0(f,a.trim(),!0);if(w.isValid())return p&&(w=w.add(1,"d")),w.toDate();let m=w0(i);const[b,E]=QBt(f);if(!Number.isNaN(b)){const _=m.add(b,E);_.isValid()&&(m=_)}return m.toDate()};let OY=0;const lL=function(i){return i===void 0?(OY=OY+1,"task"+OY):i},$qe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const p=f.split(","),w={};rRt(p,w,YBt);for(let b=0;b{window.open(f,"_self")}),W0t[p]=f)}),eRt(i,"clickable")},eRt=function(i,a){i.split(",").forEach(function(f){let p=hL(f);p!==void 0&&p.classes.push(a)})},Gqe=function(i,a,f){if(Oe().securityLevel!=="loose"||a===void 0)return;let p=[];if(typeof f=="string"){p=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m{$a.runFunc(a,...p)})},nRt=function(i,a){X0t.push(function(){const f=document.querySelector(`[id="${i}"]`);f!==null&&f.addEventListener("click",function(){a()})},function(){const f=document.querySelector(`[id="${i}-text"]`);f!==null&&f.addEventListener("click",function(){a()})})},Uqe={getConfig:()=>Oe().gantt,clear:gqe,setDateFormat:xqe,getDateFormat:Aqe,enableInclusiveEndDates:kqe,endDatesAreInclusive:Eqe,enableTopAxis:Tqe,topAxisEnabled:Cqe,setAxisFormat:pqe,getAxisFormat:bqe,setTickInterval:wqe,getTickInterval:vqe,setTodayMarker:mqe,getTodayMarker:yqe,setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,setDisplayMode:_qe,getDisplayMode:Sqe,setAccDescription:dg,getAccDescription:gg,addSection:Pqe,getSections:Fqe,getTasks:Nqe,addTask:qqe,findTaskById:hL,addTaskOrg:Hqe,setIncludes:Lqe,getIncludes:Mqe,setExcludes:Dqe,getExcludes:Iqe,setClickEvent:function(i,a,f){i.split(",").forEach(function(p){Gqe(p,a,f)}),eRt(i,"clickable")},setLink:Vqe,getLinks:Oqe,bindFunctions:function(i){X0t.forEach(function(a){a(i)})},parseDuration:QBt,isInvalidDate:KBt,setWeekday:Bqe,getWeekday:Rqe};function rRt(i,a,f){let p=!0;for(;p;)p=!1,f.forEach(function(w){const m="^\\s*"+w+"\\s*$",b=new RegExp(m);i[0].match(b)&&(a[w]=!0,i.shift(1),p=!0)})}const Wqe=function(){Ut.debug("Something is calling, setConf, remove the call")},iRt={monday:BP,tuesday:JMt,wednesday:tDt,thursday:tT,friday:eDt,saturday:nDt,sunday:NP},Yqe=(i,a)=>{let f=[...i].map(()=>-1/0),p=[...i].sort((m,b)=>m.startTime-b.startTime||m.order-b.order),w=0;for(const m of p)for(let b=0;b=f[b]){f[b]=m.endTime,m.order=b+a,b>w&&(w=b);break}return w};let N5;const Kqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:oqe,db:Uqe,renderer:{setConf:Wqe,draw:function(i,a,f,p){const w=Oe().gantt,m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=m==="sandbox"?b.nodes()[0].contentDocument:document,A=_.getElementById(a);N5=A.parentElement.offsetWidth,N5===void 0&&(N5=1200),w.useWidth!==void 0&&(N5=w.useWidth);const I=p.db.getTasks();let B=[];for(const vt of I)B.push(vt.type);B=ut(B);const N={};let R=2*w.topPadding;if(p.db.getDisplayMode()==="compact"||w.displayMode==="compact"){const vt={};for(const pt of I)vt[pt.section]===void 0?vt[pt.section]=[pt]:vt[pt.section].push(pt);let X=0;for(const pt of Object.keys(vt)){const U=Yqe(vt[pt],X)+1;X+=U,R+=U*(w.barHeight+w.barGap),N[pt]=U}}else{R+=I.length*(w.barHeight+w.barGap);for(const vt of B)N[vt]=I.filter(X=>X.type===vt).length}A.setAttribute("viewBox","0 0 "+N5+" "+R);const z=E.select(`[id="${a}"]`),W=Y7e().domain([Mxe(I,function(vt){return vt.startTime}),Lxe(I,function(vt){return vt.endTime})]).rangeRound([0,N5-w.leftPadding-w.rightPadding]);function et(vt,X){const pt=vt.startTime,U=X.startTime;let Tt=0;return pt>U?Tt=1:ptxt.order))].map(xt=>vt.find(Ht=>Ht.order===xt));z.append("g").selectAll("rect").data(Bt).enter().append("rect").attr("x",0).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+pt-2}).attr("width",function(){return It-w.rightPadding/2}).attr("height",X).attr("class",function(xt){for(const[Ht,Le]of B.entries())if(xt.type===Le)return"section section"+Ht%w.numberSectionStyles;return"section section0"});const Et=z.append("g").selectAll("rect").data(vt).enter(),Z=p.db.getLinks();if(Et.append("rect").attr("id",function(xt){return xt.id}).attr("rx",3).attr("ry",3).attr("x",function(xt){return xt.milestone?W(xt.startTime)+U+.5*(W(xt.endTime)-W(xt.startTime))-.5*Tt:W(xt.startTime)+U}).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+pt}).attr("width",function(xt){return xt.milestone?Tt:W(xt.renderEndTime||xt.endTime)-W(xt.startTime)}).attr("height",Tt).attr("transform-origin",function(xt,Ht){return Ht=xt.order,(W(xt.startTime)+U+.5*(W(xt.endTime)-W(xt.startTime))).toString()+"px "+(Ht*X+pt+.5*Tt).toString()+"px"}).attr("class",function(xt){const Ht="task";let Le="";xt.classes.length>0&&(Le=xt.classes.join(" "));let Ft=0;for(const[Se,me]of B.entries())xt.type===me&&(Ft=Se%w.numberSectionStyles);let gn="";return xt.active?xt.crit?gn+=" activeCrit":gn=" active":xt.done?xt.crit?gn=" doneCrit":gn=" done":xt.crit&&(gn+=" crit"),gn.length===0&&(gn=" task"),xt.milestone&&(gn=" milestone "+gn),gn+=Ft,gn+=" "+Le,Ht+gn}),Et.append("text").attr("id",function(xt){return xt.id+"-text"}).text(function(xt){return xt.task}).attr("font-size",w.fontSize).attr("x",function(xt){let Ht=W(xt.startTime),Le=W(xt.renderEndTime||xt.endTime);xt.milestone&&(Ht+=.5*(W(xt.endTime)-W(xt.startTime))-.5*Tt),xt.milestone&&(Le=Ht+Tt);const Ft=this.getBBox().width;return Ft>Le-Ht?Le+Ft+1.5*w.leftPadding>It?Ht+U-5:Le+U+5:(Le-Ht)/2+Ht+U}).attr("y",function(xt,Ht){return Ht=xt.order,Ht*X+w.barHeight/2+(w.fontSize/2-2)+pt}).attr("text-height",Tt).attr("class",function(xt){const Ht=W(xt.startTime);let Le=W(xt.endTime);xt.milestone&&(Le=Ht+Tt);const Ft=this.getBBox().width;let gn="";xt.classes.length>0&&(gn=xt.classes.join(" "));let Se=0;for(const[Ve,Ye]of B.entries())xt.type===Ye&&(Se=Ve%w.numberSectionStyles);let me="";return xt.active&&(xt.crit?me="activeCritText"+Se:me="activeText"+Se),xt.done?xt.crit?me=me+" doneCritText"+Se:me=me+" doneText"+Se:xt.crit&&(me=me+" critText"+Se),xt.milestone&&(me+=" milestoneText"),Ft>Le-Ht?Le+Ft+1.5*w.leftPadding>It?gn+" taskTextOutsideLeft taskTextOutside"+Se+" "+me:gn+" taskTextOutsideRight taskTextOutside"+Se+" "+me+" width-"+Ft:gn+" taskText taskText"+Se+" "+me+" width-"+Ft}),Oe().securityLevel==="sandbox"){let xt;xt=yr("#i"+a);const Ht=xt.nodes()[0].contentDocument;Et.filter(function(Le){return Z[Le.id]!==void 0}).each(function(Le){var Ft=Ht.querySelector("#"+Le.id),gn=Ht.querySelector("#"+Le.id+"-text");const Se=Ft.parentNode;var me=Ht.createElement("a");me.setAttribute("xlink:href",Z[Le.id]),me.setAttribute("target","_top"),Se.appendChild(me),me.appendChild(Ft),me.appendChild(gn)})}}function bt(vt,X,pt,U,Tt,nt,It,Ot){if(It.length===0&&Ot.length===0)return;let Bt,Et;for(const{startTime:Ft,endTime:gn}of nt)(Bt===void 0||FtEt)&&(Et=gn);if(!Bt||!Et)return;if(w0(Et).diff(w0(Bt),"year")>5){Ut.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Z=p.db.getDateFormat(),Ct=[];let xt=null,Ht=w0(Bt);for(;Ht.valueOf()<=Et;)p.db.isInvalidDate(Ht,Z,It,Ot)?xt?xt.end=Ht:xt={start:Ht,end:Ht}:xt&&(Ct.push(xt),xt=null),Ht=Ht.add(1,"d");z.append("g").selectAll("rect").data(Ct).enter().append("rect").attr("id",function(Ft){return"exclude-"+Ft.start.format("YYYY-MM-DD")}).attr("x",function(Ft){return W(Ft.start)+pt}).attr("y",w.gridLineStartPadding).attr("width",function(Ft){const gn=Ft.end.add(1,"day");return W(gn)-W(Ft.start)}).attr("height",Tt-X-w.gridLineStartPadding).attr("transform-origin",function(Ft,gn){return(W(Ft.start)+pt+.5*(W(Ft.end)-W(Ft.start))).toString()+"px "+(gn*vt+.5*Tt).toString()+"px"}).attr("class","exclude-range")}function mt(vt,X,pt,U){let Tt=jxe(W).tickSize(-U+X+w.gridLineStartPadding).tickFormat(ZU(p.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));const It=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(p.db.getTickInterval()||w.tickInterval);if(It!==null){const Ot=It[1],Bt=It[2],Et=p.db.getWeekday()||w.weekday;switch(Bt){case"millisecond":Tt.ticks(LA.every(Ot));break;case"second":Tt.ticks(sk.every(Ot));break;case"minute":Tt.ticks(PP.every(Ot));break;case"hour":Tt.ticks(FP.every(Ot));break;case"day":Tt.ticks(Z7.every(Ot));break;case"week":Tt.ticks(iRt[Et].every(Ot));break;case"month":Tt.ticks(RP.every(Ot));break}}if(z.append("g").attr("class","grid").attr("transform","translate("+vt+", "+(U-50)+")").call(Tt).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),p.db.topAxisEnabled()||w.topAxis){let Ot=Rxe(W).tickSize(-U+X+w.gridLineStartPadding).tickFormat(ZU(p.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));if(It!==null){const Bt=It[1],Et=It[2],Z=p.db.getWeekday()||w.weekday;switch(Et){case"millisecond":Ot.ticks(LA.every(Bt));break;case"second":Ot.ticks(sk.every(Bt));break;case"minute":Ot.ticks(PP.every(Bt));break;case"hour":Ot.ticks(FP.every(Bt));break;case"day":Ot.ticks(Z7.every(Bt));break;case"week":Ot.ticks(iRt[Z].every(Bt));break;case"month":Ot.ticks(RP.every(Bt));break}}z.append("g").attr("class","grid").attr("transform","translate("+vt+", "+X+")").call(Ot).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function yt(vt,X){let pt=0;const U=Object.keys(N).map(Tt=>[Tt,N[Tt]]);z.append("g").selectAll("text").data(U).enter().append(function(Tt){const nt=Tt[0].split(Kr.lineBreakRegex),It=-(nt.length-1)/2,Ot=_.createElementNS("http://www.w3.org/2000/svg","text");Ot.setAttribute("dy",It+"em");for(const[Bt,Et]of nt.entries()){const Z=_.createElementNS("http://www.w3.org/2000/svg","tspan");Z.setAttribute("alignment-baseline","central"),Z.setAttribute("x","10"),Bt>0&&Z.setAttribute("dy","1em"),Z.textContent=Et,Ot.appendChild(Z)}return Ot}).attr("x",10).attr("y",function(Tt,nt){if(nt>0)for(let It=0;It` + .mermaid-main-font { + font-family: "trebuchet ms", verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + // font-size: ${i.ganttFontSize}; + // text-height: 14px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + + // .taskText:not([font-size]) { + // font-size: ${i.ganttFontSize}; + // } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + // font-size: ${i.ganttFontSize}; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + // font-size: ${i.ganttFontSize}; + } + + /* Special case clickable */ + .task.clickable { + cursor: pointer; + } + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor} ; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } +`}},Symbol.toStringTag,{value:"Module"}));var ngt=function(){var i=function(m,b,E,_){for(E=E||{},_=m.length;_--;E[m[_]]=b);return E},a=[6,9,10],f={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,E,_,A,I,B,N){switch(B.length-1,I){case 1:return A;case 4:break;case 6:A.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(a,[2,3]),i(a,[2,4]),i(a,[2,5]),i(a,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,E){if(E.recoverable)this.trace(b);else{var _=new Error(b);throw _.hash=E,_}},parse:function(b){var E=this,_=[0],A=[],I=[null],B=[],N=this.table,R="",z=0,W=0,et=2,st=1,at=B.slice.call(arguments,1),bt=Object.create(this.lexer),mt={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(mt.yy[yt]=this.yy[yt]);bt.setInput(b,mt.yy),mt.yy.lexer=bt,mt.yy.parser=this,typeof bt.yylloc>"u"&&(bt.yylloc={});var ft=bt.yylloc;B.push(ft);var ut=bt.options&&bt.options.ranges;typeof mt.yy.parseError=="function"?this.parseError=mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function vt(){var Ct;return Ct=A.pop()||bt.lex()||st,typeof Ct!="number"&&(Ct instanceof Array&&(A=Ct,Ct=A.pop()),Ct=E.symbols_[Ct]||Ct),Ct}for(var X,pt,U,Tt,nt={},It,Ot,Bt,Et;;){if(pt=_[_.length-1],this.defaultActions[pt]?U=this.defaultActions[pt]:((X===null||typeof X>"u")&&(X=vt()),U=N[pt]&&N[pt][X]),typeof U>"u"||!U.length||!U[0]){var Z="";Et=[];for(It in N[pt])this.terminals_[It]&&It>et&&Et.push("'"+this.terminals_[It]+"'");bt.showPosition?Z="Parse error on line "+(z+1)+`: +`+bt.showPosition()+` +Expecting `+Et.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Z="Parse error on line "+(z+1)+": Unexpected "+(X==st?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Z,{text:bt.match,token:this.terminals_[X]||X,line:bt.yylineno,loc:ft,expected:Et})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pt+", token: "+X);switch(U[0]){case 1:_.push(X),I.push(bt.yytext),B.push(bt.yylloc),_.push(U[1]),X=null,W=bt.yyleng,R=bt.yytext,z=bt.yylineno,ft=bt.yylloc;break;case 2:if(Ot=this.productions_[U[1]][1],nt.$=I[I.length-Ot],nt._$={first_line:B[B.length-(Ot||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(Ot||1)].first_column,last_column:B[B.length-1].last_column},ut&&(nt._$.range=[B[B.length-(Ot||1)].range[0],B[B.length-1].range[1]]),Tt=this.performAction.apply(nt,[R,W,z,mt.yy,U[1],I,B].concat(at)),typeof Tt<"u")return Tt;Ot&&(_=_.slice(0,-1*Ot*2),I=I.slice(0,-1*Ot),B=B.slice(0,-1*Ot)),_.push(this.productions_[U[1]][0]),I.push(nt.$),B.push(nt._$),Bt=N[_[_.length-2]][_[_.length-1]],_.push(Bt);break;case 3:return!0}}return!0}},p=function(){var m={EOF:1,parseError:function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},setInput:function(b,E){return this.yy=E||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var E=b.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var E=b.length,_=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===A.length?this.yylloc.first_column:0)+A[A.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),E=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+E+"^"},test_match:function(b,E){var _,A,I;if(this.options.backtrack_lexer&&(I={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(I.yylloc.range=this.yylloc.range.slice(0))),A=b[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var B in I)this[B]=I[B];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,E,_,A;this._more||(this.yytext="",this.match="");for(var I=this._currentRules(),B=0;BE[0].length)){if(E=_,A=B,this.options.backtrack_lexer){if(b=this.test_match(_,I[B]),b!==!1)return b;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(b=this.test_match(E,I[A]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var E=this.next();return E||this.lex()},begin:function(E){this.conditionStack.push(E)},popState:function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},pushState:function(E){this.begin(E)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(E,_,A,I){switch(A){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return m}();f.lexer=p;function w(){this.yy={}}return w.prototype=f,f.Parser=w,new w}();ngt.parser=ngt;const Xqe=ngt,sRt={info:!1};let rgt=sRt.info;const Qqe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Xqe,db:{clear:()=>{rgt=sRt.info},setInfo:i=>{rgt=i},getInfo:()=>rgt},renderer:{draw:(i,a,f)=>{Ut.debug(`rendering info diagram +`+i);const p=VW(a);k0(p,100,400,!0),p.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${f}`)}}}},Symbol.toStringTag,{value:"Module"}));var igt=function(){var i=function(bt,mt,yt,ft){for(yt=yt||{},ft=bt.length;ft--;yt[bt[ft]]=mt);return yt},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[1,10,12,14,16,18,19,20,21,22],b=[2,4],E=[1,5,10,12,14,16,18,19,20,21,22],_=[20,21,22],A=[2,7],I=[1,12],B=[1,13],N=[1,14],R=[1,15],z=[1,16],W=[1,17],et={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(mt,yt,ft,ut,vt,X,pt){var U=X.length-1;switch(vt){case 3:ut.setShowData(!0);break;case 6:this.$=X[U-1];break;case 8:ut.addSection(X[U-1],ut.cleanupValue(X[U]));break;case 9:this.$=X[U].trim(),ut.setDiagramTitle(this.$);break;case 10:this.$=X[U].trim(),ut.setAccTitle(this.$);break;case 11:case 12:this.$=X[U].trim(),ut.setAccDescription(this.$);break;case 13:ut.addSection(X[U].substr(8)),this.$=X[U].substr(8);break}},table:[{3:1,4:2,5:a,20:f,21:p,22:w},{1:[3]},{3:7,4:2,5:a,20:f,21:p,22:w},i(m,b,{6:8,7:[1,9]}),i(E,[2,14]),i(E,[2,15]),i(E,[2,16]),{1:[2,1]},i(_,A,{8:10,9:11,1:[2,2],10:I,12:B,14:N,16:R,18:z,19:W}),i(m,b,{6:18}),i(m,[2,5]),{4:19,20:f,21:p,22:w},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(_,[2,12]),i(_,[2,13]),i(_,A,{8:10,9:11,1:[2,3],10:I,12:B,14:N,16:R,18:z,19:W}),i(m,[2,6]),i(_,[2,8]),i(_,[2,9]),i(_,[2,10]),i(_,[2,11])],defaultActions:{7:[2,1]},parseError:function(mt,yt){if(yt.recoverable)this.trace(mt);else{var ft=new Error(mt);throw ft.hash=yt,ft}},parse:function(mt){var yt=this,ft=[0],ut=[],vt=[null],X=[],pt=this.table,U="",Tt=0,nt=0,It=2,Ot=1,Bt=X.slice.call(arguments,1),Et=Object.create(this.lexer),Z={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(Z.yy[Ct]=this.yy[Ct]);Et.setInput(mt,Z.yy),Z.yy.lexer=Et,Z.yy.parser=this,typeof Et.yylloc>"u"&&(Et.yylloc={});var xt=Et.yylloc;X.push(xt);var Ht=Et.options&&Et.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Le(){var se;return se=ut.pop()||Et.lex()||Ot,typeof se!="number"&&(se instanceof Array&&(ut=se,se=ut.pop()),se=yt.symbols_[se]||se),se}for(var Ft,gn,Se,me,Ve={},Ye,ce,ke,zt;;){if(gn=ft[ft.length-1],this.defaultActions[gn]?Se=this.defaultActions[gn]:((Ft===null||typeof Ft>"u")&&(Ft=Le()),Se=pt[gn]&&pt[gn][Ft]),typeof Se>"u"||!Se.length||!Se[0]){var re="";zt=[];for(Ye in pt[gn])this.terminals_[Ye]&&Ye>It&&zt.push("'"+this.terminals_[Ye]+"'");Et.showPosition?re="Parse error on line "+(Tt+1)+`: +`+Et.showPosition()+` +Expecting `+zt.join(", ")+", got '"+(this.terminals_[Ft]||Ft)+"'":re="Parse error on line "+(Tt+1)+": Unexpected "+(Ft==Ot?"end of input":"'"+(this.terminals_[Ft]||Ft)+"'"),this.parseError(re,{text:Et.match,token:this.terminals_[Ft]||Ft,line:Et.yylineno,loc:xt,expected:zt})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Ft);switch(Se[0]){case 1:ft.push(Ft),vt.push(Et.yytext),X.push(Et.yylloc),ft.push(Se[1]),Ft=null,nt=Et.yyleng,U=Et.yytext,Tt=Et.yylineno,xt=Et.yylloc;break;case 2:if(ce=this.productions_[Se[1]][1],Ve.$=vt[vt.length-ce],Ve._$={first_line:X[X.length-(ce||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(ce||1)].first_column,last_column:X[X.length-1].last_column},Ht&&(Ve._$.range=[X[X.length-(ce||1)].range[0],X[X.length-1].range[1]]),me=this.performAction.apply(Ve,[U,nt,Tt,Z.yy,Se[1],vt,X].concat(Bt)),typeof me<"u")return me;ce&&(ft=ft.slice(0,-1*ce*2),vt=vt.slice(0,-1*ce),X=X.slice(0,-1*ce)),ft.push(this.productions_[Se[1]][0]),vt.push(Ve.$),X.push(Ve._$),ke=pt[ft[ft.length-2]][ft[ft.length-1]],ft.push(ke);break;case 3:return!0}}return!0}},st=function(){var bt={EOF:1,parseError:function(yt,ft){if(this.yy.parser)this.yy.parser.parseError(yt,ft);else throw new Error(yt)},setInput:function(mt,yt){return this.yy=yt||this.yy||{},this._input=mt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var mt=this._input[0];this.yytext+=mt,this.yyleng++,this.offset++,this.match+=mt,this.matched+=mt;var yt=mt.match(/(?:\r\n?|\n).*/g);return yt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),mt},unput:function(mt){var yt=mt.length,ft=mt.split(/(?:\r\n?|\n)/g);this._input=mt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-yt),this.offset-=yt;var ut=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ft.length-1&&(this.yylineno-=ft.length-1);var vt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ft?(ft.length===ut.length?this.yylloc.first_column:0)+ut[ut.length-ft.length].length-ft[0].length:this.yylloc.first_column-yt},this.options.ranges&&(this.yylloc.range=[vt[0],vt[0]+this.yyleng-yt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(mt){this.unput(this.match.slice(mt))},pastInput:function(){var mt=this.matched.substr(0,this.matched.length-this.match.length);return(mt.length>20?"...":"")+mt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var mt=this.match;return mt.length<20&&(mt+=this._input.substr(0,20-mt.length)),(mt.substr(0,20)+(mt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var mt=this.pastInput(),yt=new Array(mt.length+1).join("-");return mt+this.upcomingInput()+` +`+yt+"^"},test_match:function(mt,yt){var ft,ut,vt;if(this.options.backtrack_lexer&&(vt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(vt.yylloc.range=this.yylloc.range.slice(0))),ut=mt[0].match(/(?:\r\n?|\n).*/g),ut&&(this.yylineno+=ut.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ut?ut[ut.length-1].length-ut[ut.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+mt[0].length},this.yytext+=mt[0],this.match+=mt[0],this.matches=mt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(mt[0].length),this.matched+=mt[0],ft=this.performAction.call(this,this.yy,this,yt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ft)return ft;if(this._backtrack){for(var X in vt)this[X]=vt[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var mt,yt,ft,ut;this._more||(this.yytext="",this.match="");for(var vt=this._currentRules(),X=0;Xyt[0].length)){if(yt=ft,ut=X,this.options.backtrack_lexer){if(mt=this.test_match(ft,vt[X]),mt!==!1)return mt;if(this._backtrack){yt=!1;continue}else return!1}else if(!this.options.flex)break}return yt?(mt=this.test_match(yt,vt[ut]),mt!==!1?mt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var yt=this.next();return yt||this.lex()},begin:function(yt){this.conditionStack.push(yt)},popState:function(){var yt=this.conditionStack.length-1;return yt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(yt){return yt=this.conditionStack.length-1-Math.abs(yt||0),yt>=0?this.conditionStack[yt]:"INITIAL"},pushState:function(yt){this.begin(yt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(yt,ft,ut,vt){switch(ut){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return bt}();et.lexer=st;function at(){this.yy={}}return at.prototype=et,et.Parser=at,new at}();igt.parser=igt;const Zqe=igt,aRt=Zh.pie,FY={sections:{},showData:!1,config:aRt};let NY=FY.sections,sgt=FY.showData;const Jqe=structuredClone(aRt),tHe={getConfig:()=>structuredClone(Jqe),clear:()=>{NY=structuredClone(FY.sections),sgt=FY.showData,hg()},setDiagramTitle:Nb,getDiagramTitle:pg,setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addSection:(i,a)=>{i=Q1(i,Oe()),NY[i]===void 0&&(NY[i]=a,Ut.debug(`added new section: ${i}, with value: ${a}`))},getSections:()=>NY,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{sgt=i},getShowData:()=>sgt},eHe=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,nHe=i=>{const a=Object.entries(i).map(p=>({label:p[0],value:p[1]})).sort((p,w)=>w.value-p.value);return uTe().value(p=>p.value)(a)},rHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Zqe,db:tHe,renderer:{draw:(i,a,f,p)=>{var pt,U;Ut.debug(`rendering pie chart +`+i);const w=p.db,m=Oe(),b=rF(w.getConfig(),m.pie),E=450,_=((U=(pt=document.getElementById(a))==null?void 0:pt.parentElement)==null?void 0:U.offsetWidth)??b.useWidth,A=VW(a);A.attr("viewBox",`0 0 ${_} ${E}`),k0(A,E,_,b.useMaxWidth);const I=40,B=18,N=4,R=A.append("g");R.attr("transform","translate("+_/2+","+E/2+")");const{themeVariables:z}=m;let[W]=VA(z.pieOuterStrokeWidth);W??(W=2);const et=b.textPosition,st=Math.min(_,E)/2-I,at=OA().innerRadius(0).outerRadius(st),bt=OA().innerRadius(st*et).outerRadius(st*et);R.append("circle").attr("cx",0).attr("cy",0).attr("r",st+W/2).attr("class","pieOuterCircle");const mt=w.getSections(),yt=nHe(mt),ft=[z.pie1,z.pie2,z.pie3,z.pie4,z.pie5,z.pie6,z.pie7,z.pie8,z.pie9,z.pie10,z.pie11,z.pie12],ut=XU(ft);R.selectAll("mySlices").data(yt).enter().append("path").attr("d",at).attr("fill",Tt=>ut(Tt.data.label)).attr("class","pieCircle");let vt=0;Object.keys(mt).forEach(Tt=>{vt+=mt[Tt]}),R.selectAll("mySlices").data(yt).enter().append("text").text(Tt=>(Tt.data.value/vt*100).toFixed(0)+"%").attr("transform",Tt=>"translate("+bt.centroid(Tt)+")").style("text-anchor","middle").attr("class","slice"),R.append("text").text(w.getDiagramTitle()).attr("x",0).attr("y",-(E-50)/2).attr("class","pieTitleText");const X=R.selectAll(".legend").data(ut.domain()).enter().append("g").attr("class","legend").attr("transform",(Tt,nt)=>{const It=B+N,Ot=It*ut.domain().length/2,Bt=12*B,Et=nt*It-Ot;return"translate("+Bt+","+Et+")"});X.append("rect").attr("width",B).attr("height",B).style("fill",ut).style("stroke",ut),X.data(yt).append("text").attr("x",B+N).attr("y",B-N).text(Tt=>{const{label:nt,value:It}=Tt.data;return w.getShowData()?`${nt} [${It}]`:nt})}},styles:eHe}},Symbol.toStringTag,{value:"Module"}));var agt=function(){var i=function(Se,me,Ve,Ye){for(Ve=Ve||{},Ye=Se.length;Ye--;Ve[Se[Ye]]=me);return Ve},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],E=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],_=[32,33,34],A=[2,7],I=[1,13],B=[1,17],N=[1,18],R=[1,19],z=[1,20],W=[1,21],et=[1,22],st=[1,23],at=[1,24],bt=[1,25],mt=[1,26],yt=[1,27],ft=[1,30],ut=[1,31],vt=[1,32],X=[1,33],pt=[1,34],U=[1,35],Tt=[1,36],nt=[1,37],It=[1,38],Ot=[1,39],Bt=[1,40],Et=[1,41],Z=[1,42],Ct=[1,57],xt=[1,58],Ht=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Le={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(me,Ve,Ye,ce,ke,zt,re){var se=zt.length-1;switch(ke){case 12:this.$=zt[se].trim(),ce.setDiagramTitle(this.$);break;case 13:this.$=zt[se].trim(),ce.setAccTitle(this.$);break;case 14:case 15:this.$=zt[se].trim(),ce.setAccDescription(this.$);break;case 16:ce.addSection(zt[se].substr(8)),this.$=zt[se].substr(8);break;case 17:ce.addPoint(zt[se-3],zt[se-1],zt[se]);break;case 18:ce.setXAxisLeftText(zt[se-2]),ce.setXAxisRightText(zt[se]);break;case 19:zt[se-1].text+=" ⟶ ",ce.setXAxisLeftText(zt[se-1]);break;case 20:ce.setXAxisLeftText(zt[se]);break;case 21:ce.setYAxisBottomText(zt[se-2]),ce.setYAxisTopText(zt[se]);break;case 22:zt[se-1].text+=" ⟶ ",ce.setYAxisBottomText(zt[se-1]);break;case 23:ce.setYAxisBottomText(zt[se]);break;case 24:ce.setQuadrant1Text(zt[se]);break;case 25:ce.setQuadrant2Text(zt[se]);break;case 26:ce.setQuadrant3Text(zt[se]);break;case 27:ce.setQuadrant4Text(zt[se]);break;case 31:this.$={text:zt[se],type:"text"};break;case 32:this.$={text:zt[se-1].text+""+zt[se],type:zt[se-1].type};break;case 33:this.$={text:zt[se],type:"text"};break;case 34:this.$={text:zt[se],type:"markdown"};break;case 35:this.$=zt[se];break;case 36:this.$=zt[se-1]+""+zt[se];break}},table:[{3:1,4:2,5:a,6:f,32:p,33:w,34:m},{1:[3]},{3:8,4:2,5:a,6:f,32:p,33:w,34:m},{3:9,4:2,5:a,6:f,32:p,33:w,34:m},i(b,[2,4],{7:10}),i(E,[2,28]),i(E,[2,29]),i(E,[2,30]),{1:[2,1]},{1:[2,2]},i(_,A,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:I,13:B,15:N,17:R,19:z,20:W,25:et,27:st,28:at,29:bt,30:mt,31:yt,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(b,[2,5]),{4:43,32:p,33:w,34:m},i(_,A,{10:14,11:15,12:16,21:28,35:29,9:44,5:I,13:B,15:N,17:R,19:z,20:W,25:et,27:st,28:at,29:bt,30:mt,31:yt,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(_,[2,9]),i(_,[2,10]),i(_,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(_,[2,15]),i(_,[2,16]),{21:48,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:49,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:50,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:51,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:52,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{21:53,35:29,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z},{5:Ct,22:[1,54],35:56,36:55,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt},i(Ht,[2,31]),i(Ht,[2,33]),i(Ht,[2,34]),i(Ht,[2,37]),i(Ht,[2,38]),i(Ht,[2,39]),i(Ht,[2,40]),i(Ht,[2,41]),i(Ht,[2,42]),i(Ht,[2,43]),i(Ht,[2,44]),i(Ht,[2,45]),i(Ht,[2,46]),i(Ht,[2,47]),i(b,[2,6]),i(_,[2,8]),i(_,[2,12]),i(_,[2,13]),i(_,[2,14]),i(_,[2,20],{36:55,35:56,5:Ct,26:[1,59],40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,23],{36:55,35:56,5:Ct,26:[1,60],40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,24],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,25],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,26],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,27],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),{23:[1,61]},i(Ht,[2,32]),i(Ht,[2,48]),i(Ht,[2,49]),i(Ht,[2,50]),i(_,[2,19],{35:29,21:62,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),i(_,[2,22],{35:29,21:63,37:ft,38:ut,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z}),{24:[1,64]},i(_,[2,18],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,21],{36:55,35:56,5:Ct,40:vt,41:X,42:pt,43:U,44:Tt,45:nt,46:It,47:Ot,48:Bt,49:Et,50:Z,51:xt}),i(_,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(me,Ve){if(Ve.recoverable)this.trace(me);else{var Ye=new Error(me);throw Ye.hash=Ve,Ye}},parse:function(me){var Ve=this,Ye=[0],ce=[],ke=[null],zt=[],re=this.table,se="",Pe=0,te=0,Me=2,de=1,on=zt.slice.call(arguments,1),ni=Object.create(this.lexer),Ks={yy:{}};for(var ws in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ws)&&(Ks.yy[ws]=this.yy[ws]);ni.setInput(me,Ks.yy),Ks.yy.lexer=ni,Ks.yy.parser=this,typeof ni.yylloc>"u"&&(ni.yylloc={});var fo=ni.yylloc;zt.push(fo);var Xi=ni.options&&ni.options.ranges;typeof Ks.yy.parseError=="function"?this.parseError=Ks.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Er(){var Gs;return Gs=ce.pop()||ni.lex()||de,typeof Gs!="number"&&(Gs instanceof Array&&(ce=Gs,Gs=ce.pop()),Gs=Ve.symbols_[Gs]||Gs),Gs}for(var Xn,di,Ee,Kn,He={},Ti,pn,Es,qa;;){if(di=Ye[Ye.length-1],this.defaultActions[di]?Ee=this.defaultActions[di]:((Xn===null||typeof Xn>"u")&&(Xn=Er()),Ee=re[di]&&re[di][Xn]),typeof Ee>"u"||!Ee.length||!Ee[0]){var Ma="";qa=[];for(Ti in re[di])this.terminals_[Ti]&&Ti>Me&&qa.push("'"+this.terminals_[Ti]+"'");ni.showPosition?Ma="Parse error on line "+(Pe+1)+`: +`+ni.showPosition()+` +Expecting `+qa.join(", ")+", got '"+(this.terminals_[Xn]||Xn)+"'":Ma="Parse error on line "+(Pe+1)+": Unexpected "+(Xn==de?"end of input":"'"+(this.terminals_[Xn]||Xn)+"'"),this.parseError(Ma,{text:ni.match,token:this.terminals_[Xn]||Xn,line:ni.yylineno,loc:fo,expected:qa})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+di+", token: "+Xn);switch(Ee[0]){case 1:Ye.push(Xn),ke.push(ni.yytext),zt.push(ni.yylloc),Ye.push(Ee[1]),Xn=null,te=ni.yyleng,se=ni.yytext,Pe=ni.yylineno,fo=ni.yylloc;break;case 2:if(pn=this.productions_[Ee[1]][1],He.$=ke[ke.length-pn],He._$={first_line:zt[zt.length-(pn||1)].first_line,last_line:zt[zt.length-1].last_line,first_column:zt[zt.length-(pn||1)].first_column,last_column:zt[zt.length-1].last_column},Xi&&(He._$.range=[zt[zt.length-(pn||1)].range[0],zt[zt.length-1].range[1]]),Kn=this.performAction.apply(He,[se,te,Pe,Ks.yy,Ee[1],ke,zt].concat(on)),typeof Kn<"u")return Kn;pn&&(Ye=Ye.slice(0,-1*pn*2),ke=ke.slice(0,-1*pn),zt=zt.slice(0,-1*pn)),Ye.push(this.productions_[Ee[1]][0]),ke.push(He.$),zt.push(He._$),Es=re[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(Es);break;case 3:return!0}}return!0}},Ft=function(){var Se={EOF:1,parseError:function(Ve,Ye){if(this.yy.parser)this.yy.parser.parseError(Ve,Ye);else throw new Error(Ve)},setInput:function(me,Ve){return this.yy=Ve||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var Ve=me.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},unput:function(me){var Ve=me.length,Ye=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===ce.length?this.yylloc.first_column:0)+ce[ce.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(me){this.unput(this.match.slice(me))},pastInput:function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var me=this.pastInput(),Ve=new Array(me.length+1).join("-");return me+this.upcomingInput()+` +`+Ve+"^"},test_match:function(me,Ve){var Ye,ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),ce=me[0].match(/(?:\r\n?|\n).*/g),ce&&(this.yylineno+=ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ce?ce[ce.length-1].length-ce[ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],Ye=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var zt in ke)this[zt]=ke[zt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,Ve,Ye,ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),zt=0;ztVe[0].length)){if(Ve=Ye,ce=zt,this.options.backtrack_lexer){if(me=this.test_match(Ye,ke[zt]),me!==!1)return me;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(me=this.test_match(Ve,ke[ce]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ve=this.next();return Ve||this.lex()},begin:function(Ve){this.conditionStack.push(Ve)},popState:function(){var Ve=this.conditionStack.length-1;return Ve>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ve){return Ve=this.conditionStack.length-1-Math.abs(Ve||0),Ve>=0?this.conditionStack[Ve]:"INITIAL"},pushState:function(Ve){this.begin(Ve)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ve,Ye,ce,ke){switch(ce){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Se}();Le.lexer=Ft;function gn(){this.yy={}}return gn.prototype=Le,Le.Parser=gn,new gn}();agt.parser=agt;const iHe=agt,mg=X1t();class sHe{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,f,p,w,m,b,E,_,A,I,B,N,R,z,W,et,st,at;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=Zh.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((f=Zh.quadrantChart)==null?void 0:f.chartHeight)||500,titlePadding:((p=Zh.quadrantChart)==null?void 0:p.titlePadding)||10,titleFontSize:((w=Zh.quadrantChart)==null?void 0:w.titleFontSize)||20,quadrantPadding:((m=Zh.quadrantChart)==null?void 0:m.quadrantPadding)||5,xAxisLabelPadding:((b=Zh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((E=Zh.quadrantChart)==null?void 0:E.yAxisLabelPadding)||5,xAxisLabelFontSize:((_=Zh.quadrantChart)==null?void 0:_.xAxisLabelFontSize)||16,yAxisLabelFontSize:((A=Zh.quadrantChart)==null?void 0:A.yAxisLabelFontSize)||16,quadrantLabelFontSize:((I=Zh.quadrantChart)==null?void 0:I.quadrantLabelFontSize)||16,quadrantTextTopPadding:((B=Zh.quadrantChart)==null?void 0:B.quadrantTextTopPadding)||5,pointTextPadding:((N=Zh.quadrantChart)==null?void 0:N.pointTextPadding)||5,pointLabelFontSize:((R=Zh.quadrantChart)==null?void 0:R.pointLabelFontSize)||12,pointRadius:((z=Zh.quadrantChart)==null?void 0:z.pointRadius)||5,xAxisPosition:((W=Zh.quadrantChart)==null?void 0:W.xAxisPosition)||"top",yAxisPosition:((et=Zh.quadrantChart)==null?void 0:et.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((st=Zh.quadrantChart)==null?void 0:st.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((at=Zh.quadrantChart)==null?void 0:at.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:mg.quadrant1Fill,quadrant2Fill:mg.quadrant2Fill,quadrant3Fill:mg.quadrant3Fill,quadrant4Fill:mg.quadrant4Fill,quadrant1TextFill:mg.quadrant1TextFill,quadrant2TextFill:mg.quadrant2TextFill,quadrant3TextFill:mg.quadrant3TextFill,quadrant4TextFill:mg.quadrant4TextFill,quadrantPointFill:mg.quadrantPointFill,quadrantPointTextFill:mg.quadrantPointTextFill,quadrantXAxisTextFill:mg.quadrantXAxisTextFill,quadrantYAxisTextFill:mg.quadrantYAxisTextFill,quadrantTitleFill:mg.quadrantTitleFill,quadrantInternalBorderStrokeFill:mg.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:mg.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Ut.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Ut.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Ut.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,f,p,w){const m=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&f?m:0,bottom:a==="bottom"&&f?m:0},E=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,_={left:this.config.yAxisPosition==="left"&&p?E:0,right:this.config.yAxisPosition==="right"&&p?E:0},A=this.config.titleFontSize+this.config.titlePadding*2,I={top:w?A:0},B=this.config.quadrantPadding+_.left,N=this.config.quadrantPadding+b.top+I.top,R=this.config.chartWidth-this.config.quadrantPadding*2-_.left-_.right,z=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-I.top,W=R/2,et=z/2;return{xAxisSpace:b,yAxisSpace:_,titleSpace:I,quadrantSpace:{quadrantLeft:B,quadrantTop:N,quadrantWidth:R,quadrantHalfWidth:W,quadrantHeight:z,quadrantHalfHeight:et}}}getAxisLabels(a,f,p,w){const{quadrantSpace:m,titleSpace:b}=w,{quadrantHalfHeight:E,quadrantHeight:_,quadrantLeft:A,quadrantHalfWidth:I,quadrantTop:B,quadrantWidth:N}=m,R=!!this.data.xAxisRightText,z=!!this.data.yAxisTopText,W=[];return this.data.xAxisLeftText&&f&&W.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&f&&W.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:A+I+(R?I/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+B+_+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:R?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&p&&W.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+N+this.config.quadrantPadding,y:B+_-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&p&&W.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+A+N+this.config.quadrantPadding,y:B+E-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),W}getQuadrants(a){const{quadrantSpace:f}=a,{quadrantHalfHeight:p,quadrantLeft:w,quadrantHalfWidth:m,quadrantTop:b}=f,E=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+m,y:b,width:m,height:p,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b,width:m,height:p,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b+p,width:m,height:p,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+m,y:b+p,width:m,height:p,fill:this.themeConfig.quadrant4Fill}];for(const _ of E)_.text.x=_.x+_.width/2,this.data.points.length===0?(_.text.y=_.y+_.height/2,_.text.horizontalPos="middle"):(_.text.y=_.y+this.config.quadrantTextTopPadding,_.text.horizontalPos="top");return E}getQuadrantPoints(a){const{quadrantSpace:f}=a,{quadrantHeight:p,quadrantLeft:w,quadrantTop:m,quadrantWidth:b}=f,E=AA().domain([0,1]).range([w,b+w]),_=AA().domain([0,1]).range([p+m,m]);return this.data.points.map(I=>({x:E(I.x),y:_(I.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:I.text,fill:this.themeConfig.quadrantPointTextFill,x:E(I.x),y:_(I.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const f=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:p}=a,{quadrantHalfHeight:w,quadrantHeight:m,quadrantLeft:b,quadrantHalfWidth:E,quadrantTop:_,quadrantWidth:A}=p;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_,x2:b+A+f,y2:_},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+A,y1:_+f,x2:b+A,y2:_+m-f},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:_+m,x2:b+A+f,y2:_+m},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:_+f,x2:b,y2:_+m-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+E,y1:_+f,x2:b+E,y2:_+m-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+f,y1:_+w,x2:b+A-f,y2:_+w}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),f=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),p=this.config.showTitle&&!!this.data.titleText,w=this.data.points.length>0?"bottom":this.config.xAxisPosition,m=this.calculateSpace(w,a,f,p);return{points:this.getQuadrantPoints(m),quadrants:this.getQuadrants(m),axisLabels:this.getAxisLabels(w,a,f,m),borderLines:this.getBorders(m),title:this.getTitle(p)}}}const aHe=Oe();function B5(i){return Q1(i.trim(),aHe)}const _0=new sHe;function oHe(i){_0.setData({quadrant1Text:B5(i.text)})}function cHe(i){_0.setData({quadrant2Text:B5(i.text)})}function uHe(i){_0.setData({quadrant3Text:B5(i.text)})}function lHe(i){_0.setData({quadrant4Text:B5(i.text)})}function hHe(i){_0.setData({xAxisLeftText:B5(i.text)})}function fHe(i){_0.setData({xAxisRightText:B5(i.text)})}function dHe(i){_0.setData({yAxisTopText:B5(i.text)})}function gHe(i){_0.setData({yAxisBottomText:B5(i.text)})}function pHe(i,a,f){_0.addPoints([{x:a,y:f,text:B5(i.text)}])}function bHe(i){_0.setConfig({chartWidth:i})}function wHe(i){_0.setConfig({chartHeight:i})}function vHe(){const i=Oe(),{themeVariables:a,quadrantChart:f}=i;return f&&_0.setConfig(f),_0.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),_0.setData({titleText:pg()}),_0.build()}const mHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:iHe,db:{setWidth:bHe,setHeight:wHe,setQuadrant1Text:oHe,setQuadrant2Text:cHe,setQuadrant3Text:uHe,setQuadrant4Text:lHe,setXAxisLeftText:hHe,setXAxisRightText:fHe,setYAxisTopText:dHe,setYAxisBottomText:gHe,addPoint:pHe,getQuadrantData:vHe,clear:function(){_0.clear(),hg()},setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,getAccDescription:gg,setAccDescription:dg},renderer:{draw:(i,a,f,p)=>{var vt,X,pt;function w(U){return U==="top"?"hanging":"middle"}function m(U){return U==="left"?"start":"middle"}function b(U){return`translate(${U.x}, ${U.y}) rotate(${U.rotation||0})`}const E=Oe();Ut.debug(`Rendering quadrant chart +`+i);const _=E.securityLevel;let A;_==="sandbox"&&(A=yr("#i"+a));const B=yr(_==="sandbox"?A.nodes()[0].contentDocument.body:"body").select(`[id="${a}"]`),N=B.append("g").attr("class","main"),R=((vt=E.quadrantChart)==null?void 0:vt.chartWidth)||500,z=((X=E.quadrantChart)==null?void 0:X.chartHeight)||500;k0(B,z,R,((pt=E.quadrantChart)==null?void 0:pt.useMaxWidth)||!0),B.attr("viewBox","0 0 "+R+" "+z),p.db.setHeight(z),p.db.setWidth(R);const W=p.db.getQuadrantData(),et=N.append("g").attr("class","quadrants"),st=N.append("g").attr("class","border"),at=N.append("g").attr("class","data-points"),bt=N.append("g").attr("class","labels"),mt=N.append("g").attr("class","title");W.title&&mt.append("text").attr("x",0).attr("y",0).attr("fill",W.title.fill).attr("font-size",W.title.fontSize).attr("dominant-baseline",w(W.title.horizontalPos)).attr("text-anchor",m(W.title.verticalPos)).attr("transform",b(W.title)).text(W.title.text),W.borderLines&&st.selectAll("line").data(W.borderLines).enter().append("line").attr("x1",U=>U.x1).attr("y1",U=>U.y1).attr("x2",U=>U.x2).attr("y2",U=>U.y2).style("stroke",U=>U.strokeFill).style("stroke-width",U=>U.strokeWidth);const yt=et.selectAll("g.quadrant").data(W.quadrants).enter().append("g").attr("class","quadrant");yt.append("rect").attr("x",U=>U.x).attr("y",U=>U.y).attr("width",U=>U.width).attr("height",U=>U.height).attr("fill",U=>U.fill),yt.append("text").attr("x",0).attr("y",0).attr("fill",U=>U.text.fill).attr("font-size",U=>U.text.fontSize).attr("dominant-baseline",U=>w(U.text.horizontalPos)).attr("text-anchor",U=>m(U.text.verticalPos)).attr("transform",U=>b(U.text)).text(U=>U.text.text),bt.selectAll("g.label").data(W.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(U=>U.text).attr("fill",U=>U.fill).attr("font-size",U=>U.fontSize).attr("dominant-baseline",U=>w(U.horizontalPos)).attr("text-anchor",U=>m(U.verticalPos)).attr("transform",U=>b(U));const ut=at.selectAll("g.data-point").data(W.points).enter().append("g").attr("class","data-point");ut.append("circle").attr("cx",U=>U.x).attr("cy",U=>U.y).attr("r",U=>U.radius).attr("fill",U=>U.fill),ut.append("text").attr("x",0).attr("y",0).text(U=>U.text.text).attr("fill",U=>U.text.fill).attr("font-size",U=>U.text.fontSize).attr("dominant-baseline",U=>w(U.text.horizontalPos)).attr("text-anchor",U=>m(U.text.verticalPos)).attr("transform",U=>b(U.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var ogt=function(){var i=function(Ot,Bt,Et,Z){for(Et=Et||{},Z=Ot.length;Z--;Et[Ot[Z]]=Bt);return Et},a=[1,10,12,14,16,18,19,21,23],f=[2,6],p=[1,3],w=[1,5],m=[1,6],b=[1,7],E=[1,5,10,12,14,16,18,19,21,23,34,35,36],_=[1,25],A=[1,26],I=[1,28],B=[1,29],N=[1,30],R=[1,31],z=[1,32],W=[1,33],et=[1,34],st=[1,35],at=[1,36],bt=[1,37],mt=[1,43],yt=[1,42],ft=[1,47],ut=[1,50],vt=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],pt=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],U=[1,64],Tt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(Bt,Et,Z,Ct,xt,Ht,Le){var Ft=Ht.length-1;switch(xt){case 5:Ct.setOrientation(Ht[Ft]);break;case 9:Ct.setDiagramTitle(Ht[Ft].text.trim());break;case 12:Ct.setLineData({text:"",type:"text"},Ht[Ft]);break;case 13:Ct.setLineData(Ht[Ft-1],Ht[Ft]);break;case 14:Ct.setBarData({text:"",type:"text"},Ht[Ft]);break;case 15:Ct.setBarData(Ht[Ft-1],Ht[Ft]);break;case 16:this.$=Ht[Ft].trim(),Ct.setAccTitle(this.$);break;case 17:case 18:this.$=Ht[Ft].trim(),Ct.setAccDescription(this.$);break;case 19:this.$=Ht[Ft-1];break;case 20:this.$=[Number(Ht[Ft-2]),...Ht[Ft]];break;case 21:this.$=[Number(Ht[Ft])];break;case 22:Ct.setXAxisTitle(Ht[Ft]);break;case 23:Ct.setXAxisTitle(Ht[Ft-1]);break;case 24:Ct.setXAxisTitle({type:"text",text:""});break;case 25:Ct.setXAxisBand(Ht[Ft]);break;case 26:Ct.setXAxisRangeData(Number(Ht[Ft-2]),Number(Ht[Ft]));break;case 27:this.$=Ht[Ft-1];break;case 28:this.$=[Ht[Ft-2],...Ht[Ft]];break;case 29:this.$=[Ht[Ft]];break;case 30:Ct.setYAxisTitle(Ht[Ft]);break;case 31:Ct.setYAxisTitle(Ht[Ft-1]);break;case 32:Ct.setYAxisTitle({type:"text",text:""});break;case 33:Ct.setYAxisRangeData(Number(Ht[Ft-2]),Number(Ht[Ft]));break;case 37:this.$={text:Ht[Ft],type:"text"};break;case 38:this.$={text:Ht[Ft],type:"text"};break;case 39:this.$={text:Ht[Ft],type:"markdown"};break;case 40:this.$=Ht[Ft];break;case 41:this.$=Ht[Ft-1]+""+Ht[Ft];break}},table:[i(a,f,{3:1,4:2,7:4,5:p,34:w,35:m,36:b}),{1:[3]},i(a,f,{4:2,7:4,3:8,5:p,34:w,35:m,36:b}),i(a,f,{4:2,7:4,6:9,3:10,5:p,8:[1,11],34:w,35:m,36:b}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},i(E,[2,34]),i(E,[2,35]),i(E,[2,36]),{1:[2,1]},i(a,f,{4:2,7:4,3:21,5:p,34:w,35:m,36:b}),{1:[2,3]},i(E,[2,5]),i(a,[2,7],{4:22,34:w,35:m,36:b}),{11:23,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:39,13:38,24:mt,27:yt,29:40,30:41,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:45,15:44,27:ft,33:46,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:49,17:48,24:ut,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{11:52,17:51,24:ut,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},{20:[1,53]},{22:[1,54]},i(vt,[2,18]),{1:[2,2]},i(vt,[2,8]),i(vt,[2,9]),i(X,[2,37],{40:55,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt}),i(X,[2,38]),i(X,[2,39]),i(pt,[2,40]),i(pt,[2,42]),i(pt,[2,43]),i(pt,[2,44]),i(pt,[2,45]),i(pt,[2,46]),i(pt,[2,47]),i(pt,[2,48]),i(pt,[2,49]),i(pt,[2,50]),i(pt,[2,51]),i(vt,[2,10]),i(vt,[2,22],{30:41,29:56,24:mt,27:yt}),i(vt,[2,24]),i(vt,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},i(vt,[2,11]),i(vt,[2,30],{33:60,27:ft}),i(vt,[2,32]),{31:[1,61]},i(vt,[2,12]),{17:62,24:ut},{25:63,27:U},i(vt,[2,14]),{17:65,24:ut},i(vt,[2,16]),i(vt,[2,17]),i(pt,[2,41]),i(vt,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(vt,[2,31]),{27:[1,69]},i(vt,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(vt,[2,15]),i(vt,[2,26]),i(vt,[2,27]),{11:59,32:72,37:24,38:_,39:A,40:27,41:I,42:B,43:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt},i(vt,[2,33]),i(vt,[2,19]),{25:73,27:U},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(Bt,Et){if(Et.recoverable)this.trace(Bt);else{var Z=new Error(Bt);throw Z.hash=Et,Z}},parse:function(Bt){var Et=this,Z=[0],Ct=[],xt=[null],Ht=[],Le=this.table,Ft="",gn=0,Se=0,me=2,Ve=1,Ye=Ht.slice.call(arguments,1),ce=Object.create(this.lexer),ke={yy:{}};for(var zt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zt)&&(ke.yy[zt]=this.yy[zt]);ce.setInput(Bt,ke.yy),ke.yy.lexer=ce,ke.yy.parser=this,typeof ce.yylloc>"u"&&(ce.yylloc={});var re=ce.yylloc;Ht.push(re);var se=ce.options&&ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var Xn;return Xn=Ct.pop()||ce.lex()||Ve,typeof Xn!="number"&&(Xn instanceof Array&&(Ct=Xn,Xn=Ct.pop()),Xn=Et.symbols_[Xn]||Xn),Xn}for(var te,Me,de,on,ni={},Ks,ws,fo,Xi;;){if(Me=Z[Z.length-1],this.defaultActions[Me]?de=this.defaultActions[Me]:((te===null||typeof te>"u")&&(te=Pe()),de=Le[Me]&&Le[Me][te]),typeof de>"u"||!de.length||!de[0]){var Er="";Xi=[];for(Ks in Le[Me])this.terminals_[Ks]&&Ks>me&&Xi.push("'"+this.terminals_[Ks]+"'");ce.showPosition?Er="Parse error on line "+(gn+1)+`: +`+ce.showPosition()+` +Expecting `+Xi.join(", ")+", got '"+(this.terminals_[te]||te)+"'":Er="Parse error on line "+(gn+1)+": Unexpected "+(te==Ve?"end of input":"'"+(this.terminals_[te]||te)+"'"),this.parseError(Er,{text:ce.match,token:this.terminals_[te]||te,line:ce.yylineno,loc:re,expected:Xi})}if(de[0]instanceof Array&&de.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+te);switch(de[0]){case 1:Z.push(te),xt.push(ce.yytext),Ht.push(ce.yylloc),Z.push(de[1]),te=null,Se=ce.yyleng,Ft=ce.yytext,gn=ce.yylineno,re=ce.yylloc;break;case 2:if(ws=this.productions_[de[1]][1],ni.$=xt[xt.length-ws],ni._$={first_line:Ht[Ht.length-(ws||1)].first_line,last_line:Ht[Ht.length-1].last_line,first_column:Ht[Ht.length-(ws||1)].first_column,last_column:Ht[Ht.length-1].last_column},se&&(ni._$.range=[Ht[Ht.length-(ws||1)].range[0],Ht[Ht.length-1].range[1]]),on=this.performAction.apply(ni,[Ft,Se,gn,ke.yy,de[1],xt,Ht].concat(Ye)),typeof on<"u")return on;ws&&(Z=Z.slice(0,-1*ws*2),xt=xt.slice(0,-1*ws),Ht=Ht.slice(0,-1*ws)),Z.push(this.productions_[de[1]][0]),xt.push(ni.$),Ht.push(ni._$),fo=Le[Z[Z.length-2]][Z[Z.length-1]],Z.push(fo);break;case 3:return!0}}return!0}},nt=function(){var Ot={EOF:1,parseError:function(Et,Z){if(this.yy.parser)this.yy.parser.parseError(Et,Z);else throw new Error(Et)},setInput:function(Bt,Et){return this.yy=Et||this.yy||{},this._input=Bt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Bt=this._input[0];this.yytext+=Bt,this.yyleng++,this.offset++,this.match+=Bt,this.matched+=Bt;var Et=Bt.match(/(?:\r\n?|\n).*/g);return Et?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Bt},unput:function(Bt){var Et=Bt.length,Z=Bt.split(/(?:\r\n?|\n)/g);this._input=Bt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Et),this.offset-=Et;var Ct=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Z.length-1&&(this.yylineno-=Z.length-1);var xt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Z?(Z.length===Ct.length?this.yylloc.first_column:0)+Ct[Ct.length-Z.length].length-Z[0].length:this.yylloc.first_column-Et},this.options.ranges&&(this.yylloc.range=[xt[0],xt[0]+this.yyleng-Et]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Bt){this.unput(this.match.slice(Bt))},pastInput:function(){var Bt=this.matched.substr(0,this.matched.length-this.match.length);return(Bt.length>20?"...":"")+Bt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Bt=this.match;return Bt.length<20&&(Bt+=this._input.substr(0,20-Bt.length)),(Bt.substr(0,20)+(Bt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Bt=this.pastInput(),Et=new Array(Bt.length+1).join("-");return Bt+this.upcomingInput()+` +`+Et+"^"},test_match:function(Bt,Et){var Z,Ct,xt;if(this.options.backtrack_lexer&&(xt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(xt.yylloc.range=this.yylloc.range.slice(0))),Ct=Bt[0].match(/(?:\r\n?|\n).*/g),Ct&&(this.yylineno+=Ct.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ct?Ct[Ct.length-1].length-Ct[Ct.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Bt[0].length},this.yytext+=Bt[0],this.match+=Bt[0],this.matches=Bt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Bt[0].length),this.matched+=Bt[0],Z=this.performAction.call(this,this.yy,this,Et,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Z)return Z;if(this._backtrack){for(var Ht in xt)this[Ht]=xt[Ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Bt,Et,Z,Ct;this._more||(this.yytext="",this.match="");for(var xt=this._currentRules(),Ht=0;HtEt[0].length)){if(Et=Z,Ct=Ht,this.options.backtrack_lexer){if(Bt=this.test_match(Z,xt[Ht]),Bt!==!1)return Bt;if(this._backtrack){Et=!1;continue}else return!1}else if(!this.options.flex)break}return Et?(Bt=this.test_match(Et,xt[Ct]),Bt!==!1?Bt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Et=this.next();return Et||this.lex()},begin:function(Et){this.conditionStack.push(Et)},popState:function(){var Et=this.conditionStack.length-1;return Et>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Et){return Et=this.conditionStack.length-1-Math.abs(Et||0),Et>=0?this.conditionStack[Et]:"INITIAL"},pushState:function(Et){this.begin(Et)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Et,Z,Ct,xt){switch(Ct){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Ot}();Tt.lexer=nt;function It(){this.yy={}}return It.prototype=Tt,Tt.Parser=It,new It}();ogt.parser=ogt;const yHe=ogt;function oRt(i){return i.type==="bar"}function cRt(i){return i.type==="band"}function BF(i){return i.type==="linear"}class uRt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((m,b)=>Math.max(b.length,m),0)*f,height:f};const p={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const m of a){const b=k$e(w,1,m),E=b?b.width:m.length*f,_=b?b.height:f;p.width=Math.max(p.width,E),p.height=Math.max(p.height,_)}return w.remove(),p}}const lRt=.7,hRt=.2;class fRt{constructor(a,f,p,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=p,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){lRt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(lRt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const p=this.getLabelDimension(),w=hRt*a.width;this.outerPadding=Math.min(p.width/2,w);const m=p.height+this.axisConfig.labelPadding*2;this.labelTextHeight=p.height,m<=f&&(f-=m,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const p=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=p.height+this.axisConfig.titlePadding*2;this.titleTextHeight=p.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const p=this.getLabelDimension(),w=hRt*a.height;this.outerPadding=Math.min(p.height/2,w);const m=p.width+this.axisConfig.labelPadding*2;m<=f&&(f-=m,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const p=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=p.height+this.axisConfig.titlePadding*2;this.titleTextHeight=p.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${f},${this.getScaleValue(p)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(p)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${this.getScaleValue(p)},${f} L ${this.getScaleValue(p)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(p=>({path:`M ${this.getScaleValue(p)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(p)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class xHe extends fRt{constructor(a,f,p,w,m){super(a,w,m,f),this.categories=p,this.scale=S1t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=S1t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Ut.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class kHe extends fRt{constructor(a,f,p,w,m){super(a,w,m,f),this.domain=p,this.scale=AA().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=AA().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function dRt(i,a,f,p){const w=new uRt(p);return cRt(i)?new xHe(a,f,i.categories,i.title,w):new kHe(a,f,[i.min,i.max],i.title,w)}class EHe{constructor(a,f,p,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=p,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),p=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=p&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=p,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function THe(i,a,f,p){const w=new uRt(p);return new EHe(w,i,a,f)}class CHe{constructor(a,f,p,w,m){this.plotData=a,this.xAxis=f,this.yAxis=p,this.orientation=w,this.plotIndex=m}getDrawableElement(){const a=this.plotData.data.map(p=>[this.xAxis.getScaleValue(p[0]),this.yAxis.getScaleValue(p[1])]);let f;return this.orientation==="horizontal"?f=E5().y(p=>p[0]).x(p=>p[1])(a):f=E5().x(p=>p[0]).y(p=>p[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class _He{constructor(a,f,p,w,m,b){this.barData=a,this.boundingRect=f,this.xAxis=p,this.yAxis=w,this.orientation=m,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(m=>[this.xAxis.getScaleValue(m[0]),this.yAxis.getScaleValue(m[1])]),f=.05,p=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=p/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(m=>({x:this.boundingRect.x,y:m[0]-w,height:p,width:m[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(m=>({x:m[0]-w,y:m[1],width:p,height:this.boundingRect.y+this.boundingRect.height-m[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class SHe{constructor(a,f,p){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,p]of this.chartData.plots.entries())switch(p.type){case"line":{const w=new CHe(p,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new _He(p,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function AHe(i,a,f){return new SHe(i,a,f)}class LHe{constructor(a,f,p,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:THe(a,f,p,w),plot:AHe(a,f,p),xAxis:dRt(f.xAxis,a.xAxis,{titleColor:p.xAxisTitleColor,labelColor:p.xAxisLabelColor,tickColor:p.xAxisTickColor,axisLineColor:p.xAxisLineColor},w),yAxis:dRt(f.yAxis,a.yAxis,{titleColor:p.yAxisTitleColor,labelColor:p.yAxisLabelColor,tickColor:p.yAxisTickColor,axisLineColor:p.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,p=0,w=0,m=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:m,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),p=E.width,a-=E.width,a>0&&(m+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:m,height:b}),this.componentStore.plot.setBoundingBoxXY({x:p,y:w}),this.componentStore.xAxis.setRange([p,p+m]),this.componentStore.xAxis.setBoundingBoxXY({x:p,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(_=>oRt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,p=0,w=0,m=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),_=this.componentStore.plot.calculateSpace({width:b,height:E});a-=_.width,f-=_.height,_=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),p=_.height,f-=_.height,this.componentStore.xAxis.setAxisPosition("left"),_=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=_.width,w=_.width,this.componentStore.yAxis.setAxisPosition("top"),_=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=_.height,m=p+_.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:m}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:p}),this.componentStore.xAxis.setRange([m,m+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:m}),this.chartData.plots.some(A=>oRt(A))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class MHe{static build(a,f,p,w){return new LHe(a,f,p,w).getDrawableElement()}}let RF=0,gRt,jF=bRt(),$F=pRt(),fu=wRt(),cgt=$F.plotColorPalette.split(",").map(i=>i.trim()),BY=!1,ugt=!1;function pRt(){const i=X1t(),a=Fd();return rF(i.xyChart,a.themeVariables.xyChart)}function bRt(){const i=Fd();return rF(Zh.xyChart,i.xyChart)}function wRt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function lgt(i){const a=Fd();return Q1(i.trim(),a)}function DHe(i){gRt=i}function IHe(i){i==="horizontal"?jF.chartOrientation="horizontal":jF.chartOrientation="vertical"}function OHe(i){fu.xAxis.title=lgt(i.text)}function vRt(i,a){fu.xAxis={type:"linear",title:fu.xAxis.title,min:i,max:a},BY=!0}function PHe(i){fu.xAxis={type:"band",title:fu.xAxis.title,categories:i.map(a=>lgt(a.text))},BY=!0}function FHe(i){fu.yAxis.title=lgt(i.text)}function NHe(i,a){fu.yAxis={type:"linear",title:fu.yAxis.title,min:i,max:a},ugt=!0}function BHe(i){const a=Math.min(...i),f=Math.max(...i),p=BF(fu.yAxis)?fu.yAxis.min:1/0,w=BF(fu.yAxis)?fu.yAxis.max:-1/0;fu.yAxis={type:"linear",title:fu.yAxis.title,min:Math.min(p,a),max:Math.max(w,f)}}function mRt(i){let a=[];if(i.length===0)return a;if(!BY){const f=BF(fu.xAxis)?fu.xAxis.min:1/0,p=BF(fu.xAxis)?fu.xAxis.max:-1/0;vRt(Math.min(f,1),Math.max(p,i.length))}if(ugt||BHe(i),cRt(fu.xAxis)&&(a=fu.xAxis.categories.map((f,p)=>[f,i[p]])),BF(fu.xAxis)){const f=fu.xAxis.min,p=fu.xAxis.max,w=(p-f+1)/i.length,m=[];for(let b=f;b<=p;b+=w)m.push(`${b}`);a=m.map((b,E)=>[b,i[E]])}return a}function yRt(i){return cgt[i===0?0:i%cgt.length]}function RHe(i,a){const f=mRt(a);fu.plots.push({type:"line",strokeFill:yRt(RF),strokeWidth:2,data:f}),RF++}function jHe(i,a){const f=mRt(a);fu.plots.push({type:"bar",fill:yRt(RF),data:f}),RF++}function $He(){if(fu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return fu.title=pg(),MHe.build(jF,fu,$F,gRt)}function zHe(){return $F}function qHe(){return jF}const HHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:yHe,db:{getDrawableElem:$He,clear:function(){hg(),RF=0,jF=bRt(),fu=wRt(),$F=pRt(),cgt=$F.plotColorPalette.split(",").map(i=>i.trim()),BY=!1,ugt=!1},setAccTitle:E0,getAccTitle:fg,setDiagramTitle:Nb,getDiagramTitle:pg,getAccDescription:gg,setAccDescription:dg,setOrientation:IHe,setXAxisTitle:OHe,setXAxisRangeData:vRt,setXAxisBand:PHe,setYAxisTitle:FHe,setYAxisRangeData:NHe,setLineData:RHe,setBarData:jHe,setTmpSVGG:DHe,getChartThemeConfig:zHe,getChartConfig:qHe},renderer:{draw:(i,a,f,p)=>{const w=p.db,m=w.getChartThemeConfig(),b=w.getChartConfig();function E(et){return et==="top"?"text-before-edge":"middle"}function _(et){return et==="left"?"start":et==="right"?"end":"middle"}function A(et){return`translate(${et.x}, ${et.y}) rotate(${et.rotation||0})`}Ut.debug(`Rendering xychart chart +`+i);const I=VW(a),B=I.append("g").attr("class","main"),N=B.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");k0(I,b.height,b.width,!0),I.attr("viewBox",`0 0 ${b.width} ${b.height}`),N.attr("fill",m.backgroundColor),w.setTmpSVGG(I.append("g").attr("class","mermaid-tmp-group"));const R=w.getDrawableElem(),z={};function W(et){let st=B,at="";for(const[bt]of et.entries()){let mt=B;bt>0&&z[at]&&(mt=z[at]),at+=et[bt],st=z[at],st||(st=z[at]=mt.append("g").attr("class",et[bt]))}return st}for(const et of R){if(et.data.length===0)continue;const st=W(et.groupTexts);switch(et.type){case"rect":st.selectAll("rect").data(et.data).enter().append("rect").attr("x",at=>at.x).attr("y",at=>at.y).attr("width",at=>at.width).attr("height",at=>at.height).attr("fill",at=>at.fill).attr("stroke",at=>at.strokeFill).attr("stroke-width",at=>at.strokeWidth);break;case"text":st.selectAll("text").data(et.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",at=>at.fill).attr("font-size",at=>at.fontSize).attr("dominant-baseline",at=>E(at.verticalPos)).attr("text-anchor",at=>_(at.horizontalPos)).attr("transform",at=>A(at)).text(at=>at.text);break;case"path":st.selectAll("path").data(et.data).enter().append("path").attr("d",at=>at.path).attr("fill",at=>at.fill?at.fill:"none").attr("stroke",at=>at.strokeFill).attr("stroke-width",at=>at.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var hgt=function(){var i=function(Se,me,Ve,Ye){for(Ve=Ve||{},Ye=Se.length;Ye--;Ve[Se[Ye]]=me);return Ve},a=[1,3],f=[1,4],p=[1,5],w=[1,6],m=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],E=[2,7],_=[1,22],A=[1,23],I=[1,24],B=[1,25],N=[1,26],R=[1,27],z=[1,20],W=[1,28],et=[1,29],st=[62,63],at=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],bt=[1,47],mt=[1,48],yt=[1,49],ft=[1,50],ut=[1,51],vt=[1,52],X=[1,53],pt=[53,54],U=[1,64],Tt=[1,60],nt=[1,61],It=[1,62],Ot=[1,63],Bt=[1,65],Et=[1,69],Z=[1,70],Ct=[1,67],xt=[1,68],Ht=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Le={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(me,Ve,Ye,ce,ke,zt,re){var se=zt.length-1;switch(ke){case 4:this.$=zt[se].trim(),ce.setAccTitle(this.$);break;case 5:case 6:this.$=zt[se].trim(),ce.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:ce.addRequirement(zt[se-3],zt[se-4]);break;case 14:ce.setNewReqId(zt[se-2]);break;case 15:ce.setNewReqText(zt[se-2]);break;case 16:ce.setNewReqRisk(zt[se-2]);break;case 17:ce.setNewReqVerifyMethod(zt[se-2]);break;case 20:this.$=ce.RequirementType.REQUIREMENT;break;case 21:this.$=ce.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=ce.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=ce.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=ce.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=ce.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=ce.RiskLevel.LOW_RISK;break;case 27:this.$=ce.RiskLevel.MED_RISK;break;case 28:this.$=ce.RiskLevel.HIGH_RISK;break;case 29:this.$=ce.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=ce.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=ce.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=ce.VerifyType.VERIFY_TEST;break;case 33:ce.addElement(zt[se-3]);break;case 34:ce.setNewElementType(zt[se-2]);break;case 35:ce.setNewElementDocRef(zt[se-2]);break;case 38:ce.addRelationship(zt[se-2],zt[se],zt[se-4]);break;case 39:ce.addRelationship(zt[se-2],zt[se-4],zt[se]);break;case 40:this.$=ce.Relationships.CONTAINS;break;case 41:this.$=ce.Relationships.COPIES;break;case 42:this.$=ce.Relationships.DERIVES;break;case 43:this.$=ce.Relationships.SATISFIES;break;case 44:this.$=ce.Relationships.VERIFIES;break;case 45:this.$=ce.Relationships.REFINES;break;case 46:this.$=ce.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:f,11:p,13:w},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:f,11:p,13:w},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(m,[2,6]),{3:12,4:2,6:a,9:f,11:p,13:w},{1:[2,2]},{4:17,5:b,7:13,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},i(m,[2,4]),i(m,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:32,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:33,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:34,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{4:17,5:b,7:35,8:E,9:f,11:p,13:w,14:14,15:15,16:16,17:19,23:21,31:_,32:A,33:I,34:B,35:N,36:R,44:z,62:W,63:et},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(st,[2,20]),i(st,[2,21]),i(st,[2,22]),i(st,[2,23]),i(st,[2,24]),i(st,[2,25]),i(at,[2,49]),i(at,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:bt,56:mt,57:yt,58:ft,59:ut,60:vt,61:X},{52:54,55:bt,56:mt,57:yt,58:ft,59:ut,60:vt,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(pt,[2,40]),i(pt,[2,41]),i(pt,[2,42]),i(pt,[2,43]),i(pt,[2,44]),i(pt,[2,45]),i(pt,[2,46]),{54:[1,58]},{5:U,20:59,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:Et,30:Z,46:66,47:Ct,49:xt},{23:71,62:W,63:et},{23:72,62:W,63:et},i(Ht,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:U,20:77,21:Tt,24:nt,26:It,28:Ot,30:Bt},i(Ht,[2,19]),i(Ht,[2,33]),{22:[1,78]},{22:[1,79]},{5:Et,30:Z,46:80,47:Ct,49:xt},i(Ht,[2,37]),i(Ht,[2,38]),i(Ht,[2,39]),{23:81,62:W,63:et},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ht,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ht,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:U,20:106,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:107,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:108,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:U,20:109,21:Tt,24:nt,26:It,28:Ot,30:Bt},{5:Et,30:Z,46:110,47:Ct,49:xt},{5:Et,30:Z,46:111,47:Ct,49:xt},i(Ht,[2,14]),i(Ht,[2,15]),i(Ht,[2,16]),i(Ht,[2,17]),i(Ht,[2,34]),i(Ht,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(me,Ve){if(Ve.recoverable)this.trace(me);else{var Ye=new Error(me);throw Ye.hash=Ve,Ye}},parse:function(me){var Ve=this,Ye=[0],ce=[],ke=[null],zt=[],re=this.table,se="",Pe=0,te=0,Me=2,de=1,on=zt.slice.call(arguments,1),ni=Object.create(this.lexer),Ks={yy:{}};for(var ws in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ws)&&(Ks.yy[ws]=this.yy[ws]);ni.setInput(me,Ks.yy),Ks.yy.lexer=ni,Ks.yy.parser=this,typeof ni.yylloc>"u"&&(ni.yylloc={});var fo=ni.yylloc;zt.push(fo);var Xi=ni.options&&ni.options.ranges;typeof Ks.yy.parseError=="function"?this.parseError=Ks.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Er(){var Gs;return Gs=ce.pop()||ni.lex()||de,typeof Gs!="number"&&(Gs instanceof Array&&(ce=Gs,Gs=ce.pop()),Gs=Ve.symbols_[Gs]||Gs),Gs}for(var Xn,di,Ee,Kn,He={},Ti,pn,Es,qa;;){if(di=Ye[Ye.length-1],this.defaultActions[di]?Ee=this.defaultActions[di]:((Xn===null||typeof Xn>"u")&&(Xn=Er()),Ee=re[di]&&re[di][Xn]),typeof Ee>"u"||!Ee.length||!Ee[0]){var Ma="";qa=[];for(Ti in re[di])this.terminals_[Ti]&&Ti>Me&&qa.push("'"+this.terminals_[Ti]+"'");ni.showPosition?Ma="Parse error on line "+(Pe+1)+`: +`+ni.showPosition()+` +Expecting `+qa.join(", ")+", got '"+(this.terminals_[Xn]||Xn)+"'":Ma="Parse error on line "+(Pe+1)+": Unexpected "+(Xn==de?"end of input":"'"+(this.terminals_[Xn]||Xn)+"'"),this.parseError(Ma,{text:ni.match,token:this.terminals_[Xn]||Xn,line:ni.yylineno,loc:fo,expected:qa})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+di+", token: "+Xn);switch(Ee[0]){case 1:Ye.push(Xn),ke.push(ni.yytext),zt.push(ni.yylloc),Ye.push(Ee[1]),Xn=null,te=ni.yyleng,se=ni.yytext,Pe=ni.yylineno,fo=ni.yylloc;break;case 2:if(pn=this.productions_[Ee[1]][1],He.$=ke[ke.length-pn],He._$={first_line:zt[zt.length-(pn||1)].first_line,last_line:zt[zt.length-1].last_line,first_column:zt[zt.length-(pn||1)].first_column,last_column:zt[zt.length-1].last_column},Xi&&(He._$.range=[zt[zt.length-(pn||1)].range[0],zt[zt.length-1].range[1]]),Kn=this.performAction.apply(He,[se,te,Pe,Ks.yy,Ee[1],ke,zt].concat(on)),typeof Kn<"u")return Kn;pn&&(Ye=Ye.slice(0,-1*pn*2),ke=ke.slice(0,-1*pn),zt=zt.slice(0,-1*pn)),Ye.push(this.productions_[Ee[1]][0]),ke.push(He.$),zt.push(He._$),Es=re[Ye[Ye.length-2]][Ye[Ye.length-1]],Ye.push(Es);break;case 3:return!0}}return!0}},Ft=function(){var Se={EOF:1,parseError:function(Ve,Ye){if(this.yy.parser)this.yy.parser.parseError(Ve,Ye);else throw new Error(Ve)},setInput:function(me,Ve){return this.yy=Ve||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var Ve=me.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},unput:function(me){var Ve=me.length,Ye=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ye.length-1&&(this.yylineno-=Ye.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ye?(Ye.length===ce.length?this.yylloc.first_column:0)+ce[ce.length-Ye.length].length-Ye[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(me){this.unput(this.match.slice(me))},pastInput:function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var me=this.pastInput(),Ve=new Array(me.length+1).join("-");return me+this.upcomingInput()+` +`+Ve+"^"},test_match:function(me,Ve){var Ye,ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),ce=me[0].match(/(?:\r\n?|\n).*/g),ce&&(this.yylineno+=ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ce?ce[ce.length-1].length-ce[ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],Ye=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ye)return Ye;if(this._backtrack){for(var zt in ke)this[zt]=ke[zt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,Ve,Ye,ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),zt=0;ztVe[0].length)){if(Ve=Ye,ce=zt,this.options.backtrack_lexer){if(me=this.test_match(Ye,ke[zt]),me!==!1)return me;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(me=this.test_match(Ve,ke[ce]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ve=this.next();return Ve||this.lex()},begin:function(Ve){this.conditionStack.push(Ve)},popState:function(){var Ve=this.conditionStack.length-1;return Ve>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ve){return Ve=this.conditionStack.length-1-Math.abs(Ve||0),Ve>=0?this.conditionStack[Ve]:"INITIAL"},pushState:function(Ve){this.begin(Ve)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ve,Ye,ce,ke){switch(ce){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return Ye.yytext=Ye.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return Se}();Le.lexer=Ft;function gn(){this.yy={}}return gn.prototype=Le,Le.Parser=gn,new gn}();hgt.parser=hgt;const VHe=hgt;let fgt=[],wp={},zF={},yk={},qF={};const GHe={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>Oe().req,addRequirement:(i,a)=>(zF[i]===void 0&&(zF[i]={name:i,type:a,id:wp.id,text:wp.text,risk:wp.risk,verifyMethod:wp.verifyMethod}),wp={},zF[i]),getRequirements:()=>zF,setNewReqId:i=>{wp!==void 0&&(wp.id=i)},setNewReqText:i=>{wp!==void 0&&(wp.text=i)},setNewReqRisk:i=>{wp!==void 0&&(wp.risk=i)},setNewReqVerifyMethod:i=>{wp!==void 0&&(wp.verifyMethod=i)},setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addElement:i=>(qF[i]===void 0&&(qF[i]={name:i,type:yk.type,docRef:yk.docRef},Ut.info("Added new requirement: ",i)),yk={},qF[i]),getElements:()=>qF,setNewElementType:i=>{yk!==void 0&&(yk.type=i)},setNewElementDocRef:i=>{yk!==void 0&&(yk.docRef=i)},addRelationship:(i,a,f)=>{fgt.push({type:i,src:a,dst:f})},getRelationships:()=>fgt,clear:()=>{fgt=[],wp={},zF={},yk={},qF={},hg()}},UHe=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,dgt={CONTAINS:"contains",ARROW:"arrow"},xRt={ReqMarkers:dgt,insertLineEndings:(i,a)=>{let f=i.append("defs").append("marker").attr("id",dgt.CONTAINS+"_line_ending").attr("refX",0).attr("refY",a.line_height/2).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("g");f.append("circle").attr("cx",a.line_height/2).attr("cy",a.line_height/2).attr("r",a.line_height/2).attr("fill","none"),f.append("line").attr("x1",0).attr("x2",a.line_height).attr("y1",a.line_height/2).attr("y2",a.line_height/2).attr("stroke-width",1),f.append("line").attr("y1",0).attr("y2",a.line_height).attr("x1",a.line_height/2).attr("x2",a.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",dgt.ARROW+"_line_ending").attr("refX",a.line_height).attr("refY",.5*a.line_height).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${a.line_height},${a.line_height/2} + M${a.line_height},${a.line_height/2} + L0,${a.line_height}`).attr("stroke-width",1)}};let Eh={},kRt=0;const ERt=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Eh.rect_min_width+"px").attr("height",Eh.rect_min_height+"px"),TRt=(i,a,f)=>{let p=Eh.rect_min_width/2,w=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",p).attr("y",Eh.rect_padding).attr("dominant-baseline","hanging"),m=0;f.forEach(A=>{m==0?w.append("tspan").attr("text-anchor","middle").attr("x",Eh.rect_min_width/2).attr("dy",0).text(A):w.append("tspan").attr("text-anchor","middle").attr("x",Eh.rect_min_width/2).attr("dy",Eh.line_height*.75).text(A),m++});let b=1.5*Eh.rect_padding,E=m*Eh.line_height*.75,_=b+E;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Eh.rect_min_width).attr("y1",_).attr("y2",_),{titleNode:w,y:_}},CRt=(i,a,f,p)=>{let w=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Eh.rect_padding).attr("y",p).attr("dominant-baseline","hanging"),m=0;const b=30;let E=[];return f.forEach(_=>{let A=_.length;for(;A>b&&m<3;){let I=_.substring(0,b);_=_.substring(b,_.length),A=_.length,E[E.length]=I,m++}if(m==3){let I=E[E.length-1];E[E.length-1]=I.substring(0,I.length-4)+"..."}else E[E.length]=_;m=0}),E.forEach(_=>{w.append("tspan").attr("x",Eh.rect_padding).attr("dy",Eh.line_height).text(_)}),w},WHe=(i,a,f,p)=>{const w=a.node().getTotalLength(),m=a.node().getPointAtLength(w*.5),b="rel"+kRt;kRt++;const _=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",m.x).attr("y",m.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(p).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",m.x-_.width/2).attr("y",m.y-_.height/2).attr("width",_.width).attr("height",_.height).attr("fill","white").attr("fill-opacity","85%")},YHe=function(i,a,f,p,w){const m=f.edge(fL(a.src),fL(a.dst)),b=E5().x(function(_){return _.x}).y(function(_){return _.y}),E=i.insert("path","#"+p).attr("class","er relationshipLine").attr("d",b(m.points)).attr("fill","none");a.type==w.db.Relationships.CONTAINS?E.attr("marker-start","url("+Kr.getUrl(Eh.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(E.attr("stroke-dasharray","10,7"),E.attr("marker-end","url("+Kr.getUrl(Eh.arrowMarkerAbsolute)+"#"+xRt.ReqMarkers.ARROW+"_line_ending)")),WHe(i,E,Eh,`<<${a.type}>>`)},KHe=(i,a,f)=>{Object.keys(i).forEach(p=>{let w=i[p];p=fL(p),Ut.info("Added new requirement: ",p);const m=f.append("g").attr("id",p),b="req-"+p,E=ERt(m,b);let _=TRt(m,p+"_title",[`<<${w.type}>>`,`${w.name}`]);CRt(m,p+"_body",[`Id: ${w.id}`,`Text: ${w.text}`,`Risk: ${w.risk}`,`Verification: ${w.verifyMethod}`],_.y);const A=E.node().getBBox();a.setNode(p,{width:A.width,height:A.height,shape:"rect",id:p})})},XHe=(i,a,f)=>{Object.keys(i).forEach(p=>{let w=i[p];const m=fL(p),b=f.append("g").attr("id",m),E="element-"+m,_=ERt(b,E);let A=TRt(b,E+"_title",["<>",`${p}`]);CRt(b,E+"_body",[`Type: ${w.type||"Not Specified"}`,`Doc Ref: ${w.docRef||"None"}`],A.y);const I=_.node().getBBox();a.setNode(m,{width:I.width,height:I.height,shape:"rect",id:m})})},QHe=(i,a)=>(i.forEach(function(f){let p=fL(f.src),w=fL(f.dst);a.setEdge(p,w,{relationship:f})}),i),ZHe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&(i.select("#"+f),i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )"))})},fL=i=>i.replace(/\s/g,"").replace(/\./g,"_"),JHe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:VHe,db:GHe,renderer:{draw:(i,a,f,p)=>{Eh=Oe().requirement;const w=Eh.securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const E=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);xRt.insertLineEndings(E,Eh);const _=new c1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Eh.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let A=p.db.getRequirements(),I=p.db.getElements(),B=p.db.getRelationships();KHe(A,_,E),XHe(I,_,E),QHe(B,_),aL(_),ZHe(E,_),B.forEach(function(et){YHe(E,et,_,a,p)});const N=Eh.rect_padding,R=E.node().getBBox(),z=R.width+N*2,W=R.height+N*2;k0(E,W,z,Eh.useMaxWidth),E.attr("viewBox",`${R.x-N} ${R.y-N} ${z} ${W}`)}},styles:UHe}},Symbol.toStringTag,{value:"Module"}));var ggt=function(){var i=function(ce,ke,zt,re){for(zt=zt||{},re=ce.length;re--;zt[ce[re]]=ke);return zt},a=[1,2],f=[1,3],p=[1,4],w=[2,4],m=[1,9],b=[1,11],E=[1,13],_=[1,14],A=[1,16],I=[1,17],B=[1,18],N=[1,24],R=[1,25],z=[1,26],W=[1,27],et=[1,28],st=[1,29],at=[1,30],bt=[1,31],mt=[1,32],yt=[1,33],ft=[1,34],ut=[1,35],vt=[1,36],X=[1,37],pt=[1,38],U=[1,39],Tt=[1,41],nt=[1,42],It=[1,43],Ot=[1,44],Bt=[1,45],Et=[1,46],Z=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ct=[4,5,16,50,52,53],xt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ht=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Le=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],gn=[68,69,70],Se=[1,120],me={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(ke,zt,re,se,Pe,te,Me){var de=te.length-1;switch(Pe){case 3:return se.apply(te[de]),te[de];case 4:case 9:this.$=[];break;case 5:case 10:te[de-1].push(te[de]),this.$=te[de-1];break;case 6:case 7:case 11:case 12:this.$=te[de];break;case 8:case 13:this.$=[];break;case 15:te[de].type="createParticipant",this.$=te[de];break;case 16:te[de-1].unshift({type:"boxStart",boxData:se.parseBoxData(te[de-2])}),te[de-1].push({type:"boxEnd",boxText:te[de-2]}),this.$=te[de-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(te[de-2]),sequenceIndexStep:Number(te[de-1]),sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(te[de-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:se.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:se.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:se.LINETYPE.ACTIVE_START,actor:te[de-1]};break;case 23:this.$={type:"activeEnd",signalType:se.LINETYPE.ACTIVE_END,actor:te[de-1]};break;case 29:se.setDiagramTitle(te[de].substring(6)),this.$=te[de].substring(6);break;case 30:se.setDiagramTitle(te[de].substring(7)),this.$=te[de].substring(7);break;case 31:this.$=te[de].trim(),se.setAccTitle(this.$);break;case 32:case 33:this.$=te[de].trim(),se.setAccDescription(this.$);break;case 34:te[de-1].unshift({type:"loopStart",loopText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.LOOP_START}),te[de-1].push({type:"loopEnd",loopText:te[de-2],signalType:se.LINETYPE.LOOP_END}),this.$=te[de-1];break;case 35:te[de-1].unshift({type:"rectStart",color:se.parseMessage(te[de-2]),signalType:se.LINETYPE.RECT_START}),te[de-1].push({type:"rectEnd",color:se.parseMessage(te[de-2]),signalType:se.LINETYPE.RECT_END}),this.$=te[de-1];break;case 36:te[de-1].unshift({type:"optStart",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.OPT_START}),te[de-1].push({type:"optEnd",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.OPT_END}),this.$=te[de-1];break;case 37:te[de-1].unshift({type:"altStart",altText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.ALT_START}),te[de-1].push({type:"altEnd",signalType:se.LINETYPE.ALT_END}),this.$=te[de-1];break;case 38:te[de-1].unshift({type:"parStart",parText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.PAR_START}),te[de-1].push({type:"parEnd",signalType:se.LINETYPE.PAR_END}),this.$=te[de-1];break;case 39:te[de-1].unshift({type:"parStart",parText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.PAR_OVER_START}),te[de-1].push({type:"parEnd",signalType:se.LINETYPE.PAR_END}),this.$=te[de-1];break;case 40:te[de-1].unshift({type:"criticalStart",criticalText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.CRITICAL_START}),te[de-1].push({type:"criticalEnd",signalType:se.LINETYPE.CRITICAL_END}),this.$=te[de-1];break;case 41:te[de-1].unshift({type:"breakStart",breakText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.BREAK_START}),te[de-1].push({type:"breakEnd",optText:se.parseMessage(te[de-2]),signalType:se.LINETYPE.BREAK_END}),this.$=te[de-1];break;case 43:this.$=te[de-3].concat([{type:"option",optionText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.CRITICAL_OPTION},te[de]]);break;case 45:this.$=te[de-3].concat([{type:"and",parText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.PAR_AND},te[de]]);break;case 47:this.$=te[de-3].concat([{type:"else",altText:se.parseMessage(te[de-1]),signalType:se.LINETYPE.ALT_ELSE},te[de]]);break;case 48:te[de-3].draw="participant",te[de-3].type="addParticipant",te[de-3].description=se.parseMessage(te[de-1]),this.$=te[de-3];break;case 49:te[de-1].draw="participant",te[de-1].type="addParticipant",this.$=te[de-1];break;case 50:te[de-3].draw="actor",te[de-3].type="addParticipant",te[de-3].description=se.parseMessage(te[de-1]),this.$=te[de-3];break;case 51:te[de-1].draw="actor",te[de-1].type="addParticipant",this.$=te[de-1];break;case 52:te[de-1].type="destroyParticipant",this.$=te[de-1];break;case 53:this.$=[te[de-1],{type:"addNote",placement:te[de-2],actor:te[de-1].actor,text:te[de]}];break;case 54:te[de-2]=[].concat(te[de-1],te[de-1]).slice(0,2),te[de-2][0]=te[de-2][0].actor,te[de-2][1]=te[de-2][1].actor,this.$=[te[de-1],{type:"addNote",placement:se.PLACEMENT.OVER,actor:te[de-2].slice(0,2),text:te[de]}];break;case 55:this.$=[te[de-1],{type:"addLinks",actor:te[de-1].actor,text:te[de]}];break;case 56:this.$=[te[de-1],{type:"addALink",actor:te[de-1].actor,text:te[de]}];break;case 57:this.$=[te[de-1],{type:"addProperties",actor:te[de-1].actor,text:te[de]}];break;case 58:this.$=[te[de-1],{type:"addDetails",actor:te[de-1].actor,text:te[de]}];break;case 61:this.$=[te[de-2],te[de]];break;case 62:this.$=te[de];break;case 63:this.$=se.PLACEMENT.LEFTOF;break;case 64:this.$=se.PLACEMENT.RIGHTOF;break;case 65:this.$=[te[de-4],te[de-1],{type:"addMessage",from:te[de-4].actor,to:te[de-1].actor,signalType:te[de-3],msg:te[de],activate:!0},{type:"activeStart",signalType:se.LINETYPE.ACTIVE_START,actor:te[de-1]}];break;case 66:this.$=[te[de-4],te[de-1],{type:"addMessage",from:te[de-4].actor,to:te[de-1].actor,signalType:te[de-3],msg:te[de]},{type:"activeEnd",signalType:se.LINETYPE.ACTIVE_END,actor:te[de-4]}];break;case 67:this.$=[te[de-3],te[de-1],{type:"addMessage",from:te[de-3].actor,to:te[de-1].actor,signalType:te[de-2],msg:te[de]}];break;case 68:this.$={type:"addParticipant",actor:te[de]};break;case 69:this.$=se.LINETYPE.SOLID_OPEN;break;case 70:this.$=se.LINETYPE.DOTTED_OPEN;break;case 71:this.$=se.LINETYPE.SOLID;break;case 72:this.$=se.LINETYPE.DOTTED;break;case 73:this.$=se.LINETYPE.SOLID_CROSS;break;case 74:this.$=se.LINETYPE.DOTTED_CROSS;break;case 75:this.$=se.LINETYPE.SOLID_POINT;break;case 76:this.$=se.LINETYPE.DOTTED_POINT;break;case 77:this.$=se.parseMessage(te[de].trim().substring(1));break}},table:[{3:1,4:a,5:f,6:p},{1:[3]},{3:5,4:a,5:f,6:p},{3:6,4:a,5:f,6:p},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:m,5:b,8:8,9:10,12:12,13:E,14:_,17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},i(Z,[2,5]),{9:47,12:12,13:E,14:_,17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},i(Z,[2,7]),i(Z,[2,8]),i(Z,[2,14]),{12:48,50:X,52:pt,53:U},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Et},{22:55,70:Et},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Z,[2,29]),i(Z,[2,30]),{32:[1,61]},{34:[1,62]},i(Z,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Et},{22:72,70:Et},{22:73,70:Et},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Et},{22:88,70:Et},{22:89,70:Et},{22:90,70:Et},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Z,[2,6]),i(Z,[2,15]),i(Ct,[2,9],{10:91}),i(Z,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Z,[2,21]),{5:[1,95]},{5:[1,96]},i(Z,[2,24]),i(Z,[2,25]),i(Z,[2,26]),i(Z,[2,27]),i(Z,[2,28]),i(Z,[2,31]),i(Z,[2,32]),i(xt,w,{7:97}),i(xt,w,{7:98}),i(xt,w,{7:99}),i(Ht,w,{40:100,7:101}),i(Le,w,{42:102,7:103}),i(Le,w,{7:103,42:104}),i(Ft,w,{45:105,7:106}),i(xt,w,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Et},i(gn,[2,69]),i(gn,[2,70]),i(gn,[2,71]),i(gn,[2,72]),i(gn,[2,73]),i(gn,[2,74]),i(gn,[2,75]),i(gn,[2,76]),{22:116,70:Et},{22:118,58:117,70:Et},{70:[2,63]},{70:[2,64]},{56:119,79:Se},{56:121,79:Se},{56:122,79:Se},{56:123,79:Se},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:pt,53:U},{5:[1,129]},i(Z,[2,19]),i(Z,[2,20]),i(Z,[2,22]),i(Z,[2,23]),{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,130],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,131],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,132],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,133]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,46],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,49:[1,134],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,135]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,44],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,48:[1,136],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{16:[1,137]},{16:[1,138]},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[2,42],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,47:[1,139],50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{4:m,5:b,8:8,9:10,12:12,13:E,14:_,16:[1,140],17:15,18:A,21:I,22:40,23:B,24:19,25:20,26:21,27:22,28:23,29:N,30:R,31:z,33:W,35:et,36:st,37:at,38:bt,39:mt,41:yt,43:ft,44:ut,46:vt,50:X,52:pt,53:U,54:Tt,59:nt,60:It,61:Ot,62:Bt,70:Et},{15:[1,141]},i(Z,[2,49]),{15:[1,142]},i(Z,[2,51]),i(Z,[2,52]),{22:143,70:Et},{22:144,70:Et},{56:145,79:Se},{56:146,79:Se},{56:147,79:Se},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Z,[2,16]),i(Ct,[2,10]),{12:149,50:X,52:pt,53:U},i(Ct,[2,12]),i(Ct,[2,13]),i(Z,[2,18]),i(Z,[2,34]),i(Z,[2,35]),i(Z,[2,36]),i(Z,[2,37]),{15:[1,150]},i(Z,[2,38]),{15:[1,151]},i(Z,[2,39]),i(Z,[2,40]),{15:[1,152]},i(Z,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Se},{56:156,79:Se},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Et},i(Ct,[2,11]),i(Ht,w,{7:101,40:158}),i(Le,w,{7:103,42:159}),i(Ft,w,{7:106,45:160}),i(Z,[2,48]),i(Z,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(ke,zt){if(zt.recoverable)this.trace(ke);else{var re=new Error(ke);throw re.hash=zt,re}},parse:function(ke){var zt=this,re=[0],se=[],Pe=[null],te=[],Me=this.table,de="",on=0,ni=0,Ks=2,ws=1,fo=te.slice.call(arguments,1),Xi=Object.create(this.lexer),Er={yy:{}};for(var Xn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Xn)&&(Er.yy[Xn]=this.yy[Xn]);Xi.setInput(ke,Er.yy),Er.yy.lexer=Xi,Er.yy.parser=this,typeof Xi.yylloc>"u"&&(Xi.yylloc={});var di=Xi.yylloc;te.push(di);var Ee=Xi.options&&Xi.options.ranges;typeof Er.yy.parseError=="function"?this.parseError=Er.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Kn(){var zs;return zs=se.pop()||Xi.lex()||ws,typeof zs!="number"&&(zs instanceof Array&&(se=zs,zs=se.pop()),zs=zt.symbols_[zs]||zs),zs}for(var He,Ti,pn,Es,qa={},Ma,Gs,Po,vs;;){if(Ti=re[re.length-1],this.defaultActions[Ti]?pn=this.defaultActions[Ti]:((He===null||typeof He>"u")&&(He=Kn()),pn=Me[Ti]&&Me[Ti][He]),typeof pn>"u"||!pn.length||!pn[0]){var ru="";vs=[];for(Ma in Me[Ti])this.terminals_[Ma]&&Ma>Ks&&vs.push("'"+this.terminals_[Ma]+"'");Xi.showPosition?ru="Parse error on line "+(on+1)+`: +`+Xi.showPosition()+` +Expecting `+vs.join(", ")+", got '"+(this.terminals_[He]||He)+"'":ru="Parse error on line "+(on+1)+": Unexpected "+(He==ws?"end of input":"'"+(this.terminals_[He]||He)+"'"),this.parseError(ru,{text:Xi.match,token:this.terminals_[He]||He,line:Xi.yylineno,loc:di,expected:vs})}if(pn[0]instanceof Array&&pn.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ti+", token: "+He);switch(pn[0]){case 1:re.push(He),Pe.push(Xi.yytext),te.push(Xi.yylloc),re.push(pn[1]),He=null,ni=Xi.yyleng,de=Xi.yytext,on=Xi.yylineno,di=Xi.yylloc;break;case 2:if(Gs=this.productions_[pn[1]][1],qa.$=Pe[Pe.length-Gs],qa._$={first_line:te[te.length-(Gs||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(Gs||1)].first_column,last_column:te[te.length-1].last_column},Ee&&(qa._$.range=[te[te.length-(Gs||1)].range[0],te[te.length-1].range[1]]),Es=this.performAction.apply(qa,[de,ni,on,Er.yy,pn[1],Pe,te].concat(fo)),typeof Es<"u")return Es;Gs&&(re=re.slice(0,-1*Gs*2),Pe=Pe.slice(0,-1*Gs),te=te.slice(0,-1*Gs)),re.push(this.productions_[pn[1]][0]),Pe.push(qa.$),te.push(qa._$),Po=Me[re[re.length-2]][re[re.length-1]],re.push(Po);break;case 3:return!0}}return!0}},Ve=function(){var ce={EOF:1,parseError:function(zt,re){if(this.yy.parser)this.yy.parser.parseError(zt,re);else throw new Error(zt)},setInput:function(ke,zt){return this.yy=zt||this.yy||{},this._input=ke,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ke=this._input[0];this.yytext+=ke,this.yyleng++,this.offset++,this.match+=ke,this.matched+=ke;var zt=ke.match(/(?:\r\n?|\n).*/g);return zt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ke},unput:function(ke){var zt=ke.length,re=ke.split(/(?:\r\n?|\n)/g);this._input=ke+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-zt),this.offset-=zt;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),re.length-1&&(this.yylineno-=re.length-1);var Pe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:re?(re.length===se.length?this.yylloc.first_column:0)+se[se.length-re.length].length-re[0].length:this.yylloc.first_column-zt},this.options.ranges&&(this.yylloc.range=[Pe[0],Pe[0]+this.yyleng-zt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ke){this.unput(this.match.slice(ke))},pastInput:function(){var ke=this.matched.substr(0,this.matched.length-this.match.length);return(ke.length>20?"...":"")+ke.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ke=this.match;return ke.length<20&&(ke+=this._input.substr(0,20-ke.length)),(ke.substr(0,20)+(ke.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ke=this.pastInput(),zt=new Array(ke.length+1).join("-");return ke+this.upcomingInput()+` +`+zt+"^"},test_match:function(ke,zt){var re,se,Pe;if(this.options.backtrack_lexer&&(Pe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Pe.yylloc.range=this.yylloc.range.slice(0))),se=ke[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ke[0].length},this.yytext+=ke[0],this.match+=ke[0],this.matches=ke,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ke[0].length),this.matched+=ke[0],re=this.performAction.call(this,this.yy,this,zt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),re)return re;if(this._backtrack){for(var te in Pe)this[te]=Pe[te];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ke,zt,re,se;this._more||(this.yytext="",this.match="");for(var Pe=this._currentRules(),te=0;tezt[0].length)){if(zt=re,se=te,this.options.backtrack_lexer){if(ke=this.test_match(re,Pe[te]),ke!==!1)return ke;if(this._backtrack){zt=!1;continue}else return!1}else if(!this.options.flex)break}return zt?(ke=this.test_match(zt,Pe[se]),ke!==!1?ke:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var zt=this.next();return zt||this.lex()},begin:function(zt){this.conditionStack.push(zt)},popState:function(){var zt=this.conditionStack.length-1;return zt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(zt){return zt=this.conditionStack.length-1-Math.abs(zt||0),zt>=0?this.conditionStack[zt]:"INITIAL"},pushState:function(zt){this.begin(zt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(zt,re,se,Pe){switch(se){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return re.yytext=re.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return re.yytext=re.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return ce}();me.lexer=Ve;function Ye(){this.yy={}}return Ye.prototype=me,me.Parser=Ye,new Ye}();ggt.parser=ggt;const tVe=ggt;let HF,R5={},pgt={},bgt={},dL=[],zb=[],RY=!1,wgt,j5,VF,gL;const eVe=function(i){dL.push({name:i.text,wrap:i.wrap===void 0&&CT()||!!i.wrap,fill:i.color,actorKeys:[]}),j5=dL.slice(-1)[0]},vgt=function(i,a,f,p){let w=j5;const m=R5[i];if(m){if(j5&&m.box&&j5!==m.box)throw new Error("A same participant should only be defined in one Box: "+m.name+" can't be in '"+m.box.name+"' and in '"+j5.name+"' at the same time.");if(w=m.box?m.box:j5,m.box=w,m&&a===m.name&&f==null)return}(f==null||f.text==null)&&(f={text:a,wrap:null,type:p}),(p==null||f.text==null)&&(f={text:a,wrap:null,type:p}),R5[i]={box:w,name:a,description:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,prevActor:HF,links:{},properties:{},actorCnt:null,rectData:null,type:p||"participant"},HF&&R5[HF]&&(R5[HF].nextActor=i),j5&&j5.actorKeys.push(i),HF=i},nVe=i=>{let a,f=0;for(a=0;a>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return zb.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,type:p,activate:w}),!0},iVe=function(){return dL.length>0},sVe=function(){return dL.some(i=>i.name)},aVe=function(){return zb},oVe=function(){return dL},cVe=function(){return R5},uVe=function(){return pgt},lVe=function(){return bgt},GF=function(i){return R5[i]},hVe=function(){return Object.keys(R5)},fVe=function(){RY=!0},dVe=function(){RY=!1},gVe=()=>RY,pVe=function(i){wgt=i},CT=()=>wgt!==void 0?wgt:Oe().sequence.wrap,bVe=function(){R5={},pgt={},bgt={},dL=[],zb=[],RY=!1,hg()},wVe=function(i){const a=i.trim(),f={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Ut.debug("parseMessage:",f),f},vVe=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let f=a!=null&&a[1]?a[1].trim():"transparent",p=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",f)||(f="transparent",p=i.trim());else{const m=new Option().style;m.color=f,m.color!==f&&(f="transparent",p=i.trim())}return{color:f,text:p!==void 0?Q1(p.replace(/^:?(?:no)?wrap:/,""),Oe()):void 0,wrap:p!==void 0?p.match(/^:?wrap:/)!==null?!0:p.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},UF={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},mVe={FILLED:0,OPEN:1},yVe={LEFTOF:0,RIGHTOF:1,OVER:2},_Rt=function(i,a,f){f.text,f.wrap===void 0&&CT()||f.wrap;const p=[].concat(i,i);zb.push({from:p[0],to:p[1],message:f.text,wrap:f.wrap===void 0&&CT()||!!f.wrap,type:UF.NOTE,placement:a})},SRt=function(i,a){const f=GF(i);try{let p=Q1(a.text,Oe());p=p.replace(/&/g,"&"),p=p.replace(/=/g,"=");const w=JSON.parse(p);mgt(f,w)}catch(p){Ut.error("error while parsing actor link text",p)}},xVe=function(i,a){const f=GF(i);try{const b={};let E=Q1(a.text,Oe());var p=E.indexOf("@");E=E.replace(/&/g,"&"),E=E.replace(/=/g,"=");var w=E.slice(0,p-1).trim(),m=E.slice(p+1).trim();b[w]=m,mgt(f,b)}catch(b){Ut.error("error while parsing actor link text",b)}};function mgt(i,a){if(i.links==null)i.links=a;else for(let f in a)i.links[f]=a[f]}const ARt=function(i,a){const f=GF(i);try{let p=Q1(a.text,Oe());const w=JSON.parse(p);LRt(f,w)}catch(p){Ut.error("error while parsing actor properties text",p)}};function LRt(i,a){if(i.properties==null)i.properties=a;else for(let f in a)i.properties[f]=a[f]}function kVe(){j5=void 0}const MRt=function(i,a){const f=GF(i),p=document.getElementById(a.text);try{const w=p.innerHTML,m=JSON.parse(w);m.properties&&LRt(f,m.properties),m.links&&mgt(f,m.links)}catch(w){Ut.error("error while parsing actor details text",w)}},EVe=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},DRt=function(i){if(Array.isArray(i))i.forEach(function(a){DRt(a)});else switch(i.type){case"sequenceIndex":zb.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":vgt(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(R5[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");VF=i.actor,vgt(i.actor,i.actor,i.description,i.draw),pgt[i.actor]=zb.length;break;case"destroyParticipant":gL=i.actor,bgt[i.actor]=zb.length;break;case"activeStart":ef(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":ef(i.actor,void 0,void 0,i.signalType);break;case"addNote":_Rt(i.actor,i.placement,i.text);break;case"addLinks":SRt(i.actor,i.text);break;case"addALink":xVe(i.actor,i.text);break;case"addProperties":ARt(i.actor,i.text);break;case"addDetails":MRt(i.actor,i.text);break;case"addMessage":if(VF){if(i.to!==VF)throw new Error("The created participant "+VF+" does not have an associated creating message after its declaration. Please check the sequence diagram.");VF=void 0}else if(gL){if(i.to!==gL&&i.from!==gL)throw new Error("The destroyed participant "+gL+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");gL=void 0}ef(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":eVe(i.boxData);break;case"boxEnd":kVe();break;case"loopStart":ef(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":ef(void 0,void 0,void 0,i.signalType);break;case"rectStart":ef(void 0,void 0,i.color,i.signalType);break;case"rectEnd":ef(void 0,void 0,void 0,i.signalType);break;case"optStart":ef(void 0,void 0,i.optText,i.signalType);break;case"optEnd":ef(void 0,void 0,void 0,i.signalType);break;case"altStart":ef(void 0,void 0,i.altText,i.signalType);break;case"else":ef(void 0,void 0,i.altText,i.signalType);break;case"altEnd":ef(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":E0(i.text);break;case"parStart":ef(void 0,void 0,i.parText,i.signalType);break;case"and":ef(void 0,void 0,i.parText,i.signalType);break;case"parEnd":ef(void 0,void 0,void 0,i.signalType);break;case"criticalStart":ef(void 0,void 0,i.criticalText,i.signalType);break;case"option":ef(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":ef(void 0,void 0,void 0,i.signalType);break;case"breakStart":ef(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":ef(void 0,void 0,void 0,i.signalType);break}},IRt={addActor:vgt,addMessage:rVe,addSignal:ef,addLinks:SRt,addDetails:MRt,addProperties:ARt,autoWrap:CT,setWrap:pVe,enableSequenceNumbers:fVe,disableSequenceNumbers:dVe,showSequenceNumbers:gVe,getMessages:aVe,getActors:cVe,getCreatedActors:uVe,getDestroyedActors:lVe,getActor:GF,getActorKeys:hVe,getActorProperty:EVe,getAccTitle:fg,getBoxes:oVe,getDiagramTitle:pg,setDiagramTitle:Nb,getConfig:()=>Oe().sequence,clear:bVe,parseMessage:wVe,parseBoxData:vVe,LINETYPE:UF,ARROWTYPE:mVe,PLACEMENT:yVe,addNote:_Rt,setAccTitle:E0,apply:DRt,setAccDescription:dg,getAccDescription:gg,hasAtLeastOneBox:iVe,hasAtLeastOneBoxWithTitle:sVe},TVe=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,_T=18*2,ygt=function(i,a){return JW(i,a)},ORt=(i,a)=>{vAe(()=>{const f=document.querySelectorAll(i);f.length!==0&&(f[0].addEventListener("mouseover",function(){AVe("actor"+a+"_popup")}),f[0].addEventListener("mouseout",function(){LVe("actor"+a+"_popup")}))})},CVe=function(i,a,f,p,w){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const m=a.links,b=a.actorCnt,E=a.rectData;var _="none";w&&(_="block !important");const A=i.append("g");A.attr("id","actor"+b+"_popup"),A.attr("class","actorPopupMenu"),A.attr("display",_),ORt("#actor"+b+"_popup",b);var I="";E.class!==void 0&&(I=" "+E.class);let B=E.width>f?E.width:f;const N=A.append("rect");if(N.attr("class","actorPopupMenuPanel"+I),N.attr("x",E.x),N.attr("y",E.height),N.attr("fill",E.fill),N.attr("stroke",E.stroke),N.attr("width",B),N.attr("height",E.height),N.attr("rx",E.rx),N.attr("ry",E.ry),m!=null){var R=20;for(let et in m){var z=A.append("a"),W=ik(m[et]);z.attr("xlink:href",W),z.attr("target","_blank"),GVe(p)(et,z,E.x+10,E.height+R,B,20,{class:"actor"},p),R+=30}}return N.attr("height",R),{height:E.height+R,width:B}},_Ve=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'block'; }"},SVe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = 'none'; }"},AVe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="block")},LVe=function(i){var a=document.getElementById(i);a!=null&&(a.style.display="none")},pL=function(i,a){let f=0,p=0;const w=a.text.split(Kr.lineBreakRegex),[m,b]=VA(a.fontSize);let E=[],_=0,A=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":A=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":A=()=>Math.round(a.y+(f+p+a.textMargin)/2);break;case"bottom":case"end":A=()=>Math.round(a.y+(f+p+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[I,B]of w.entries()){a.textMargin!==void 0&&a.textMargin===0&&m!==void 0&&(_=I*m);const N=i.append("text");N.attr("x",a.x),N.attr("y",A()),a.anchor!==void 0&&N.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&N.style("font-family",a.fontFamily),b!==void 0&&N.style("font-size",b),a.fontWeight!==void 0&&N.style("font-weight",a.fontWeight),a.fill!==void 0&&N.attr("fill",a.fill),a.class!==void 0&&N.attr("class",a.class),a.dy!==void 0?N.attr("dy",a.dy):_!==0&&N.attr("dy",_);const R=B||jIt;if(a.tspan){const z=N.append("tspan");z.attr("x",a.x),a.fill!==void 0&&z.attr("fill",a.fill),z.text(R)}else N.text(R);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(p+=(N._groups||N)[0][0].getBBox().height,f=p),E.push(N)}return E},PRt=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");return p.attr("points",f(a.x,a.y,a.width,a.height,7)),p.attr("class","labelBox"),a.y=a.y+a.height/2,pL(i,a),p};let gm=-1;const FRt=(i,a,f,p)=>{i.select&&f.forEach(w=>{const m=a[w],b=i.select("#actor"+m.actorCnt);!p.mirrorActors&&m.stopy?b.attr("y2",m.stopy+m.height/2):p.mirrorActors&&b.attr("y2",m.stopy)})},MVe=function(i,a,f,p){const w=p?a.stopy:a.starty,m=a.x+a.width/2,b=w+5,E=i.append("g").lower();var _=E;p||(gm++,_.append("line").attr("id","actor"+gm).attr("x1",m).attr("y1",b).attr("x2",m).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),_=E.append("g"),a.actorCnt=gm,a.links!=null&&(_.attr("id","root-"+gm),ORt("#root-"+gm,gm)));const A=bT();var I="actor";a.properties!=null&&a.properties.class?I=a.properties.class:A.fill="#eaeaea",A.x=a.x,A.y=w,A.width=a.width,A.height=a.height,A.class=I,A.rx=3,A.ry=3;const B=ygt(_,A);if(a.rectData=A,a.properties!=null&&a.properties.icon){const R=a.properties.icon.trim();R.charAt(0)==="@"?$De(_,A.x+A.width-20,A.y+10,R.substr(1)):jDe(_,A.x+A.width-20,A.y+10,R)}xgt(f)(a.description,_,A.x,A.y,A.width,A.height,{class:"actor"},f);let N=a.height;if(B.node){const R=B.node().getBBox();a.height=R.height,N=R.height}return N},DVe=function(i,a,f,p){const w=p?a.stopy:a.starty,m=a.x+a.width/2,b=w+80;i.lower(),p||(gm++,i.append("line").attr("id","actor"+gm).attr("x1",m).attr("y1",b).attr("x2",m).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=gm);const E=i.append("g");E.attr("class","actor-man");const _=bT();_.x=a.x,_.y=w,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,E.append("line").attr("id","actor-man-torso"+gm).attr("x1",m).attr("y1",w+25).attr("x2",m).attr("y2",w+45),E.append("line").attr("id","actor-man-arms"+gm).attr("x1",m-_T/2).attr("y1",w+33).attr("x2",m+_T/2).attr("y2",w+33),E.append("line").attr("x1",m-_T/2).attr("y1",w+60).attr("x2",m).attr("y2",w+45),E.append("line").attr("x1",m).attr("y1",w+45).attr("x2",m+_T/2-2).attr("y2",w+60);const A=E.append("circle");A.attr("cx",a.x+a.width/2),A.attr("cy",w+10),A.attr("r",15),A.attr("width",a.width),A.attr("height",a.height);const I=E.node().getBBox();return a.height=I.height,xgt(f)(a.description,E,_.x,_.y+35,_.width,_.height,{class:"actor"},f),a.height},IVe=function(i,a,f,p){switch(a.type){case"actor":return DVe(i,a,f,p);case"participant":return MVe(i,a,f,p)}},OVe=function(i,a,f){const w=i.append("g");NRt(w,a),a.name&&xgt(f)(a.name,w,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},f),w.lower()},PVe=function(i){return i.append("g")},FVe=function(i,a,f,p,w){const m=bT(),b=a.anchored;m.x=a.startx,m.y=a.starty,m.class="activation"+w%3,m.width=a.stopx-a.startx,m.height=f-a.starty,ygt(b,m)},NVe=function(i,a,f,p){const{boxMargin:w,boxTextMargin:m,labelBoxHeight:b,labelBoxWidth:E,messageFontFamily:_,messageFontSize:A,messageFontWeight:I}=p,B=i.append("g"),N=function(W,et,st,at){return B.append("line").attr("x1",W).attr("y1",et).attr("x2",st).attr("y2",at).attr("class","loopLine")};N(a.startx,a.starty,a.stopx,a.starty),N(a.stopx,a.starty,a.stopx,a.stopy),N(a.startx,a.stopy,a.stopx,a.stopy),N(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(W){N(a.startx,W.y,a.stopx,W.y).style("stroke-dasharray","3, 3")});let R=Rdt();R.text=f,R.x=a.startx,R.y=a.starty,R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.anchor="middle",R.valign="middle",R.tspan=!1,R.width=E||50,R.height=b||20,R.textMargin=m,R.class="labelText",PRt(B,R),R=BRt(),R.text=a.title,R.x=a.startx+E/2+(a.stopx-a.startx)/2,R.y=a.starty+w+m,R.anchor="middle",R.valign="middle",R.textMargin=m,R.class="loopText",R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.wrap=!0;let z=pL(B,R);return a.sectionTitles!==void 0&&a.sectionTitles.forEach(function(W,et){if(W.message){R.text=W.message,R.x=a.startx+(a.stopx-a.startx)/2,R.y=a.sections[et].y+w+m,R.class="loopText",R.anchor="middle",R.valign="middle",R.tspan=!1,R.fontFamily=_,R.fontSize=A,R.fontWeight=I,R.wrap=a.wrap,z=pL(B,R);let st=Math.round(z.map(at=>(at._groups||at)[0][0].getBBox().height).reduce((at,bt)=>at+bt));a.sections[et].height+=st-(w+m)}}),a.height=Math.round(a.stopy-a.starty),B},NRt=function(i,a){mPt(i,a)},BVe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},RVe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},jVe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},$Ve=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},zVe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},qVe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},HVe=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},BRt=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},VVe=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},xgt=function(){function i(w,m,b,E,_,A,I){const B=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(w);p(B,I)}function a(w,m,b,E,_,A,I,B){const{actorFontSize:N,actorFontFamily:R,actorFontWeight:z}=B,[W,et]=VA(N),st=w.split(Kr.lineBreakRegex);for(let at=0;ati.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,jRt(Oe())},updateVal:function(i,a,f,p){i[a]===void 0?i[a]=f:i[a]=p(f,i[a])},updateBounds:function(i,a,f,p){const w=this;let m=0;function b(E){return function(A){m++;const I=w.sequenceItems.length-m+1;w.updateVal(A,"starty",a-I*fn.boxMargin,Math.min),w.updateVal(A,"stopy",p+I*fn.boxMargin,Math.max),w.updateVal(Fr.data,"startx",i-I*fn.boxMargin,Math.min),w.updateVal(Fr.data,"stopx",f+I*fn.boxMargin,Math.max),E!=="activation"&&(w.updateVal(A,"startx",i-I*fn.boxMargin,Math.min),w.updateVal(A,"stopx",f+I*fn.boxMargin,Math.max),w.updateVal(Fr.data,"starty",a-I*fn.boxMargin,Math.min),w.updateVal(Fr.data,"stopy",p+I*fn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,f,p){const w=Kr.getMin(i,f),m=Kr.getMax(i,f),b=Kr.getMin(a,p),E=Kr.getMax(a,p);this.updateVal(Fr.data,"startx",w,Math.min),this.updateVal(Fr.data,"starty",b,Math.min),this.updateVal(Fr.data,"stopx",m,Math.max),this.updateVal(Fr.data,"stopy",E,Math.max),this.updateBounds(w,b,m,E)},newActivation:function(i,a,f){const p=f[i.from.actor],w=jY(i.from.actor).length||0,m=p.x+p.width/2+(w-1)*fn.activationWidth/2;this.activations.push({startx:m,starty:this.verticalPos+2,stopx:m+fn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:nf.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(f){return f.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:Fr.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=Kr.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},UVe=function(i,a){Fr.bumpVerticalPos(fn.boxMargin),a.height=fn.boxMargin,a.starty=Fr.getVerticalPos();const f=bT();f.x=a.startx,f.y=a.starty,f.width=a.width||fn.width,f.class="note";const p=i.append("g"),w=nf.drawRect(p,f),m=Rdt();m.x=a.startx,m.y=a.starty,m.width=f.width,m.dy="1em",m.text=a.message,m.class="noteText",m.fontFamily=fn.noteFontFamily,m.fontSize=fn.noteFontSize,m.fontWeight=fn.noteFontWeight,m.anchor=fn.noteAlign,m.textMargin=fn.noteMargin,m.valign="center";const b=pL(p,m),E=Math.round(b.map(_=>(_._groups||_)[0][0].getBBox().height).reduce((_,A)=>_+A));w.attr("height",E+2*fn.noteMargin),a.height+=E+2*fn.noteMargin,Fr.bumpVerticalPos(E+2*fn.noteMargin),a.stopy=a.starty+E+2*fn.noteMargin,a.stopx=a.startx+f.width,Fr.insert(a.startx,a.starty,a.stopx,a.stopy),Fr.models.addNote(a)},ST=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),bL=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),kgt=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});function WVe(i,a){Fr.bumpVerticalPos(10);const{startx:f,stopx:p,message:w}=a,m=Kr.splitBreaks(w).length,b=$a.calculateTextDimensions(w,ST(fn)),E=b.height/m;a.height+=E,Fr.bumpVerticalPos(E);let _,A=b.height-10;const I=b.width;if(f===p){_=Fr.getVerticalPos()+A,fn.rightAngles||(A+=fn.boxMargin,_=Fr.getVerticalPos()+A),A+=30;const B=Kr.getMax(I/2,fn.width/2);Fr.insert(f-B,Fr.getVerticalPos()-10+A,p+B,Fr.getVerticalPos()+30+A)}else A+=fn.boxMargin,_=Fr.getVerticalPos()+A,Fr.insert(f,_-10,p,_);return Fr.bumpVerticalPos(A),a.height+=A,a.stopy=a.starty+a.height,Fr.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),_}const YVe=function(i,a,f,p){const{startx:w,stopx:m,starty:b,message:E,type:_,sequenceIndex:A,sequenceVisible:I}=a,B=$a.calculateTextDimensions(E,ST(fn)),N=Rdt();N.x=w,N.y=b+10,N.width=m-w,N.class="messageText",N.dy="1em",N.text=E,N.fontFamily=fn.messageFontFamily,N.fontSize=fn.messageFontSize,N.fontWeight=fn.messageFontWeight,N.anchor=fn.messageAlign,N.valign="center",N.textMargin=fn.wrapPadding,N.tspan=!1,pL(i,N);const R=B.width;let z;w===m?fn.rightAngles?z=i.append("path").attr("d",`M ${w},${f} H ${w+Kr.getMax(fn.width/2,R/2)} V ${f+25} H ${w}`):z=i.append("path").attr("d","M "+w+","+f+" C "+(w+60)+","+(f-10)+" "+(w+60)+","+(f+30)+" "+w+","+(f+20)):(z=i.append("line"),z.attr("x1",w),z.attr("y1",f),z.attr("x2",m),z.attr("y2",f)),_===p.db.LINETYPE.DOTTED||_===p.db.LINETYPE.DOTTED_CROSS||_===p.db.LINETYPE.DOTTED_POINT||_===p.db.LINETYPE.DOTTED_OPEN?(z.style("stroke-dasharray","3, 3"),z.attr("class","messageLine1")):z.attr("class","messageLine0");let W="";fn.arrowMarkerAbsolute&&(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,W=W.replace(/\(/g,"\\("),W=W.replace(/\)/g,"\\)")),z.attr("stroke-width",2),z.attr("stroke","none"),z.style("fill","none"),(_===p.db.LINETYPE.SOLID||_===p.db.LINETYPE.DOTTED)&&z.attr("marker-end","url("+W+"#arrowhead)"),(_===p.db.LINETYPE.SOLID_POINT||_===p.db.LINETYPE.DOTTED_POINT)&&z.attr("marker-end","url("+W+"#filled-head)"),(_===p.db.LINETYPE.SOLID_CROSS||_===p.db.LINETYPE.DOTTED_CROSS)&&z.attr("marker-end","url("+W+"#crosshead)"),(I||fn.showSequenceNumbers)&&(z.attr("marker-start","url("+W+"#sequencenumber)"),i.append("text").attr("x",w).attr("y",f+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(A))},KVe=function(i,a,f,p,w,m,b){let E=0,_=0,A,I=0;for(const B of p){const N=a[B],R=N.box;A&&A!=R&&(b||Fr.models.addBox(A),_+=fn.boxMargin+A.margin),R&&R!=A&&(b||(R.x=E+_,R.y=w),_+=R.margin),N.width=N.width||fn.width,N.height=Kr.getMax(N.height||fn.height,fn.height),N.margin=N.margin||fn.actorMargin,I=Kr.getMax(I,N.height),f[N.name]&&(_+=N.width/2),N.x=E+_,N.starty=Fr.getVerticalPos(),Fr.insert(N.x,w,N.x+N.width,N.height),E+=N.width+_,N.box&&(N.box.width=E+R.margin-N.box.x),_=N.margin,A=N.box,Fr.models.addActor(N)}A&&!b&&Fr.models.addBox(A),Fr.bumpVerticalPos(I)},Egt=function(i,a,f,p){if(p){let w=0;Fr.bumpVerticalPos(fn.boxMargin*2);for(const m of f){const b=a[m];b.stopy||(b.stopy=Fr.getVerticalPos());const E=nf.drawActor(i,b,fn,!0);w=Kr.getMax(w,E)}Fr.bumpVerticalPos(w+fn.boxMargin)}else for(const w of f){const m=a[w];nf.drawActor(i,m,fn,!1)}},RRt=function(i,a,f,p){let w=0,m=0;for(const b of f){const E=a[b],_=JVe(E),A=nf.drawPopup(i,E,_,fn,fn.forceMenus,p);A.height>w&&(w=A.height),A.width+E.x>m&&(m=A.width+E.x)}return{maxHeight:w,maxWidth:m}},jRt=function(i){Z1(fn,i),i.fontFamily&&(fn.actorFontFamily=fn.noteFontFamily=fn.messageFontFamily=i.fontFamily),i.fontSize&&(fn.actorFontSize=fn.noteFontSize=fn.messageFontSize=i.fontSize),i.fontWeight&&(fn.actorFontWeight=fn.noteFontWeight=fn.messageFontWeight=i.fontWeight)},jY=function(i){return Fr.activations.filter(function(a){return a.actor===i})},$Rt=function(i,a){const f=a[i],p=jY(i),w=p.reduce(function(b,E){return Kr.getMin(b,E.startx)},f.x+f.width/2-1),m=p.reduce(function(b,E){return Kr.getMax(b,E.stopx)},f.x+f.width/2+1);return[w,m]};function k3(i,a,f,p,w){Fr.bumpVerticalPos(f);let m=p;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,E=ST(fn);a.message=$a.wrapLabel(`[${a.message}]`,b-2*fn.wrapPadding,E),a.width=b,a.wrap=!0;const _=$a.calculateTextDimensions(a.message,E),A=Kr.getMax(_.height,fn.labelBoxHeight);m=p+A,Ut.debug(`${A} - ${a.message}`)}w(a),Fr.bumpVerticalPos(m)}function XVe(i,a,f,p,w,m,b){function E(A,I){A.x{Et.add(Z.from),Et.add(Z.to)}),z=z.filter(Z=>Et.has(Z))}KVe(A,I,B,z,0,W,!1);const mt=rGe(W,I,bt,p);nf.insertArrowHead(A),nf.insertArrowCrossHead(A),nf.insertArrowFilledHead(A),nf.insertSequenceNumber(A);function yt(Et,Z){const Ct=Fr.endActivation(Et);Ct.starty+18>Z&&(Ct.starty=Z-6,Z+=12),nf.drawActivation(A,Ct,Z,fn,jY(Et.from.actor).length),Fr.insert(Ct.startx,Z-10,Ct.stopx,Z)}let ft=1,ut=1;const vt=[],X=[];W.forEach(function(Et,Z){let Ct,xt,Ht;switch(Et.type){case p.db.LINETYPE.NOTE:Fr.resetVerticalPos(),xt=Et.noteModel,UVe(A,xt);break;case p.db.LINETYPE.ACTIVE_START:Fr.newActivation(Et,A,I);break;case p.db.LINETYPE.ACTIVE_END:yt(Et,Fr.getVerticalPos());break;case p.db.LINETYPE.LOOP_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.LOOP_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"loop",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.RECT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin,Le=>Fr.newLoop(void 0,Le.message));break;case p.db.LINETYPE.RECT_END:Ct=Fr.endLoop(),X.push(Ct),Fr.models.addLoop(Ct),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos());break;case p.db.LINETYPE.OPT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.OPT_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"opt",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.ALT_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.ALT_ELSE:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.ALT_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"alt",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.PAR_START:case p.db.LINETYPE.PAR_OVER_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le)),Fr.saveVerticalPos();break;case p.db.LINETYPE.PAR_AND:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.PAR_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"par",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.AUTONUMBER:ft=Et.message.start||ft,ut=Et.message.step||ut,Et.message.visible?p.db.enableSequenceNumbers():p.db.disableSequenceNumbers();break;case p.db.LINETYPE.CRITICAL_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.CRITICAL_OPTION:k3(mt,Et,fn.boxMargin+fn.boxTextMargin,fn.boxMargin,Le=>Fr.addSectionToLoop(Le));break;case p.db.LINETYPE.CRITICAL_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"critical",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;case p.db.LINETYPE.BREAK_START:k3(mt,Et,fn.boxMargin,fn.boxMargin+fn.boxTextMargin,Le=>Fr.newLoop(Le));break;case p.db.LINETYPE.BREAK_END:Ct=Fr.endLoop(),nf.drawLoop(A,Ct,"break",fn),Fr.bumpVerticalPos(Ct.stopy-Fr.getVerticalPos()),Fr.models.addLoop(Ct);break;default:try{Ht=Et.msgModel,Ht.starty=Fr.getVerticalPos(),Ht.sequenceIndex=ft,Ht.sequenceVisible=p.db.showSequenceNumbers();const Le=WVe(A,Ht);XVe(Et,Ht,Le,Z,I,B,N),vt.push({messageModel:Ht,lineStartY:Le}),Fr.models.addMessage(Ht)}catch(Le){Ut.error("error while drawing message",Le)}}[p.db.LINETYPE.SOLID_OPEN,p.db.LINETYPE.DOTTED_OPEN,p.db.LINETYPE.SOLID,p.db.LINETYPE.DOTTED,p.db.LINETYPE.SOLID_CROSS,p.db.LINETYPE.DOTTED_CROSS,p.db.LINETYPE.SOLID_POINT,p.db.LINETYPE.DOTTED_POINT].includes(Et.type)&&(ft=ft+ut)}),Ut.debug("createdActors",B),Ut.debug("destroyedActors",N),Egt(A,I,z,!1),vt.forEach(Et=>YVe(A,Et.messageModel,Et.lineStartY,p)),fn.mirrorActors&&Egt(A,I,z,!0),X.forEach(Et=>nf.drawBackgroundRect(A,Et)),FRt(A,I,z,fn),Fr.models.boxes.forEach(function(Et){Et.height=Fr.getVerticalPos()-Et.y,Fr.insert(Et.x,Et.y,Et.x+Et.width,Et.height),Et.startx=Et.x,Et.starty=Et.y,Et.stopx=Et.startx+Et.width,Et.stopy=Et.starty+Et.height,Et.stroke="rgb(0,0,0, 0.5)",nf.drawBox(A,Et,fn)}),st&&Fr.bumpVerticalPos(fn.boxMargin);const pt=RRt(A,I,z,_),{bounds:U}=Fr.getBounds();let Tt=U.stopy-U.starty;Tt{const b=i[m];b.wrap&&(b.description=$a.wrapLabel(b.description,fn.width-2*fn.wrapPadding,kgt(fn)));const E=$a.calculateTextDimensions(b.description,kgt(fn));b.width=b.wrap?fn.width:Kr.getMax(fn.width,E.width+2*fn.wrapPadding),b.height=b.wrap?Kr.getMax(E.height,fn.height):fn.height,p=Kr.getMax(p,b.height)});for(const m in a){const b=i[m];if(!b)continue;const E=i[b.nextActor];if(!E){const B=a[m]+fn.actorMargin-b.width/2;b.margin=Kr.getMax(B,fn.actorMargin);continue}const A=a[m]+fn.actorMargin-b.width/2-E.width/2;b.margin=Kr.getMax(A,fn.actorMargin)}let w=0;return f.forEach(m=>{const b=ST(fn);let E=m.actorKeys.reduce((I,B)=>I+=i[B].width+(i[B].margin||0),0);E-=2*fn.boxTextMargin,m.wrap&&(m.name=$a.wrapLabel(m.name,E-2*fn.wrapPadding,b));const _=$a.calculateTextDimensions(m.name,b);w=Kr.getMax(_.height,w);const A=Kr.getMax(E,_.width+2*fn.wrapPadding);if(m.margin=fn.boxTextMargin,Em.textMaxHeight=w),Kr.getMax(p,fn.height)}const eGe=function(i,a,f){const p=a[i.from].x,w=a[i.to].x,m=i.wrap&&i.message;let b=$a.calculateTextDimensions(m?$a.wrapLabel(i.message,fn.width,bL(fn)):i.message,bL(fn));const E={width:m?fn.width:Kr.getMax(fn.width,b.width+2*fn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===f.db.PLACEMENT.RIGHTOF?(E.width=m?Kr.getMax(fn.width,b.width):Kr.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*fn.noteMargin),E.startx=p+(a[i.from].width+fn.actorMargin)/2):i.placement===f.db.PLACEMENT.LEFTOF?(E.width=m?Kr.getMax(fn.width,b.width+2*fn.noteMargin):Kr.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*fn.noteMargin),E.startx=p-E.width+(a[i.from].width-fn.actorMargin)/2):i.to===i.from?(b=$a.calculateTextDimensions(m?$a.wrapLabel(i.message,Kr.getMax(fn.width,a[i.from].width),bL(fn)):i.message,bL(fn)),E.width=m?Kr.getMax(fn.width,a[i.from].width):Kr.getMax(a[i.from].width,fn.width,b.width+2*fn.noteMargin),E.startx=p+(a[i.from].width-E.width)/2):(E.width=Math.abs(p+a[i.from].width/2-(w+a[i.to].width/2))+fn.actorMargin,E.startx=p2,B=W=>E?-W:W;i.from===i.to?A=_:(i.activate&&!I&&(A+=B(fn.activationWidth/2-1)),[f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(A+=B(3)));const N=[p,w,m,b],R=Math.abs(_-A);i.wrap&&i.message&&(i.message=$a.wrapLabel(i.message,Kr.getMax(R+2*fn.wrapPadding,fn.width),ST(fn)));const z=$a.calculateTextDimensions(i.message,ST(fn));return{width:Kr.getMax(i.wrap?0:z.width+2*fn.wrapPadding,R+2*fn.wrapPadding,fn.width),height:0,startx:_,stopx:A,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,N),toBounds:Math.max.apply(null,N)}},rGe=function(i,a,f,p){const w={},m=[];let b,E,_;return i.forEach(function(A){switch(A.id=$a.random({length:10}),A.type){case p.db.LINETYPE.LOOP_START:case p.db.LINETYPE.ALT_START:case p.db.LINETYPE.OPT_START:case p.db.LINETYPE.PAR_START:case p.db.LINETYPE.PAR_OVER_START:case p.db.LINETYPE.CRITICAL_START:case p.db.LINETYPE.BREAK_START:m.push({id:A.id,msg:A.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case p.db.LINETYPE.ALT_ELSE:case p.db.LINETYPE.PAR_AND:case p.db.LINETYPE.CRITICAL_OPTION:A.message&&(b=m.pop(),w[b.id]=b,w[A.id]=b,m.push(b));break;case p.db.LINETYPE.LOOP_END:case p.db.LINETYPE.ALT_END:case p.db.LINETYPE.OPT_END:case p.db.LINETYPE.PAR_END:case p.db.LINETYPE.CRITICAL_END:case p.db.LINETYPE.BREAK_END:b=m.pop(),w[b.id]=b;break;case p.db.LINETYPE.ACTIVE_START:{const B=a[A.from?A.from.actor:A.to.actor],N=jY(A.from?A.from.actor:A.to.actor).length,R=B.x+B.width/2+(N-1)*fn.activationWidth/2,z={startx:R,stopx:R+fn.activationWidth,actor:A.from.actor,enabled:!0};Fr.activations.push(z)}break;case p.db.LINETYPE.ACTIVE_END:{const B=Fr.activations.map(N=>N.actor).lastIndexOf(A.from.actor);delete Fr.activations.splice(B,1)[0]}break}A.placement!==void 0?(E=eGe(A,a,p),A.noteModel=E,m.forEach(B=>{b=B,b.from=Kr.getMin(b.from,E.startx),b.to=Kr.getMax(b.to,E.startx+E.width),b.width=Kr.getMax(b.width,Math.abs(b.from-b.to))-fn.labelBoxWidth})):(_=nGe(A,a,p),A.msgModel=_,_.startx&&_.stopx&&m.length>0&&m.forEach(B=>{if(b=B,_.startx===_.stopx){const N=a[A.from],R=a[A.to];b.from=Kr.getMin(N.x-_.width/2,N.x-N.width/2,b.from),b.to=Kr.getMax(R.x+_.width/2,R.x+N.width/2,b.to),b.width=Kr.getMax(b.width,Math.abs(b.to-b.from))-fn.labelBoxWidth}else b.from=Kr.getMin(_.startx,b.from),b.to=Kr.getMax(_.stopx,b.to),b.width=Kr.getMax(b.width,_.width)-fn.labelBoxWidth}))}),Fr.activations=[],Ut.debug("Loop type widths:",w),w},iGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:tVe,db:IRt,renderer:{bounds:Fr,drawActors:Egt,drawActorsPopup:RRt,setConf:jRt,draw:QVe},styles:TVe,init:({wrap:i})=>{IRt.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var Tgt=function(){var i=function(ke,zt,re,se){for(re=re||{},se=ke.length;se--;re[ke[se]]=zt);return re},a=[1,16],f=[1,17],p=[1,18],w=[1,37],m=[1,38],b=[1,24],E=[1,22],_=[1,23],A=[1,29],I=[1,30],B=[1,31],N=[1,32],R=[1,33],z=[1,34],W=[1,25],et=[1,26],st=[1,27],at=[1,28],bt=[1,42],mt=[1,39],yt=[1,40],ft=[1,41],ut=[1,43],vt=[1,9],X=[1,8,9],pt=[1,54],U=[1,55],Tt=[1,56],nt=[1,57],It=[1,58],Ot=[1,59],Bt=[1,60],Et=[1,8,9,38],Z=[1,71],Ct=[1,8,9,12,13,21,36,38,41,58,59,60,61,62,63,64,69,71],xt=[1,8,9,12,13,19,21,36,38,41,45,58,59,60,61,62,63,64,69,71,84,86,87,88,89],Ht=[13,84,86,87,88,89],Le=[13,63,64,84,86,87,88,89],Ft=[13,58,59,60,61,62,84,86,87,88,89],gn=[1,90],Se=[1,8,9,36,38,41],me=[1,8,9,21],Ve={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,cssClassStatement:27,noteStatement:28,direction:29,acc_title:30,acc_title_value:31,acc_descr:32,acc_descr_value:33,acc_descr_multiline_value:34,namespaceIdentifier:35,STRUCT_START:36,classStatements:37,STRUCT_STOP:38,NAMESPACE:39,classIdentifier:40,STYLE_SEPARATOR:41,members:42,CLASS:43,ANNOTATION_START:44,ANNOTATION_END:45,MEMBER:46,SEPARATOR:47,relation:48,NOTE_FOR:49,noteText:50,NOTE:51,direction_tb:52,direction_bt:53,direction_rl:54,direction_lr:55,relationType:56,lineType:57,AGGREGATION:58,EXTENSION:59,COMPOSITION:60,DEPENDENCY:61,LOLLIPOP:62,LINE:63,DOTTED_LINE:64,CALLBACK:65,LINK:66,LINK_TARGET:67,CLICK:68,CALLBACK_NAME:69,CALLBACK_ARGS:70,HREF:71,CSSCLASS:72,commentToken:73,textToken:74,graphCodeTokens:75,textNoTagsToken:76,TAGSTART:77,TAGEND:78,"==":79,"--":80,PCT:81,DEFAULT:82,SPACE:83,MINUS:84,keywords:85,UNICODE_TEXT:86,NUM:87,ALPHA:88,BQUOTE_STR:89,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",30:"acc_title",31:"acc_title_value",32:"acc_descr",33:"acc_descr_value",34:"acc_descr_multiline_value",36:"STRUCT_START",38:"STRUCT_STOP",39:"NAMESPACE",41:"STYLE_SEPARATOR",43:"CLASS",44:"ANNOTATION_START",45:"ANNOTATION_END",46:"MEMBER",47:"SEPARATOR",49:"NOTE_FOR",51:"NOTE",52:"direction_tb",53:"direction_bt",54:"direction_rl",55:"direction_lr",58:"AGGREGATION",59:"EXTENSION",60:"COMPOSITION",61:"DEPENDENCY",62:"LOLLIPOP",63:"LINE",64:"DOTTED_LINE",65:"CALLBACK",66:"LINK",67:"LINK_TARGET",68:"CLICK",69:"CALLBACK_NAME",70:"CALLBACK_ARGS",71:"HREF",72:"CSSCLASS",75:"graphCodeTokens",77:"TAGSTART",78:"TAGEND",79:"==",80:"--",81:"PCT",82:"DEFAULT",83:"SPACE",84:"MINUS",85:"keywords",86:"UNICODE_TEXT",87:"NUM",88:"ALPHA",89:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[35,2],[37,1],[37,2],[37,3],[23,1],[23,3],[23,4],[23,6],[40,2],[40,3],[25,4],[42,1],[42,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[28,3],[28,2],[29,1],[29,1],[29,1],[29,1],[48,3],[48,2],[48,2],[48,1],[56,1],[56,1],[56,1],[56,1],[56,1],[57,1],[57,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[73,1],[73,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[76,1],[76,1],[76,1],[76,1],[16,1],[16,1],[16,1],[16,1],[18,1],[50,1]],performAction:function(zt,re,se,Pe,te,Me,de){var on=Me.length-1;switch(te){case 8:this.$=Me[on-1];break;case 9:case 11:case 12:this.$=Me[on];break;case 10:case 13:this.$=Me[on-1]+Me[on];break;case 14:case 15:this.$=Me[on-1]+"~"+Me[on]+"~";break;case 16:Pe.addRelation(Me[on]);break;case 17:Me[on-1].title=Pe.cleanupLabel(Me[on]),Pe.addRelation(Me[on-1]);break;case 26:this.$=Me[on].trim(),Pe.setAccTitle(this.$);break;case 27:case 28:this.$=Me[on].trim(),Pe.setAccDescription(this.$);break;case 29:Pe.addClassesToNamespace(Me[on-3],Me[on-1]);break;case 30:Pe.addClassesToNamespace(Me[on-4],Me[on-1]);break;case 31:this.$=Me[on],Pe.addNamespace(Me[on]);break;case 32:this.$=[Me[on]];break;case 33:this.$=[Me[on-1]];break;case 34:Me[on].unshift(Me[on-2]),this.$=Me[on];break;case 36:Pe.setCssClass(Me[on-2],Me[on]);break;case 37:Pe.addMembers(Me[on-3],Me[on-1]);break;case 38:Pe.setCssClass(Me[on-5],Me[on-3]),Pe.addMembers(Me[on-5],Me[on-1]);break;case 39:this.$=Me[on],Pe.addClass(Me[on]);break;case 40:this.$=Me[on-1],Pe.addClass(Me[on-1]),Pe.setClassLabel(Me[on-1],Me[on]);break;case 41:Pe.addAnnotation(Me[on],Me[on-2]);break;case 42:this.$=[Me[on]];break;case 43:Me[on].push(Me[on-1]),this.$=Me[on];break;case 44:break;case 45:Pe.addMember(Me[on-1],Pe.cleanupLabel(Me[on]));break;case 46:break;case 47:break;case 48:this.$={id1:Me[on-2],id2:Me[on],relation:Me[on-1],relationTitle1:"none",relationTitle2:"none"};break;case 49:this.$={id1:Me[on-3],id2:Me[on],relation:Me[on-1],relationTitle1:Me[on-2],relationTitle2:"none"};break;case 50:this.$={id1:Me[on-3],id2:Me[on],relation:Me[on-2],relationTitle1:"none",relationTitle2:Me[on-1]};break;case 51:this.$={id1:Me[on-4],id2:Me[on],relation:Me[on-2],relationTitle1:Me[on-3],relationTitle2:Me[on-1]};break;case 52:Pe.addNote(Me[on],Me[on-1]);break;case 53:Pe.addNote(Me[on]);break;case 54:Pe.setDirection("TB");break;case 55:Pe.setDirection("BT");break;case 56:Pe.setDirection("RL");break;case 57:Pe.setDirection("LR");break;case 58:this.$={type1:Me[on-2],type2:Me[on],lineType:Me[on-1]};break;case 59:this.$={type1:"none",type2:Me[on],lineType:Me[on-1]};break;case 60:this.$={type1:Me[on-1],type2:"none",lineType:Me[on]};break;case 61:this.$={type1:"none",type2:"none",lineType:Me[on]};break;case 62:this.$=Pe.relationType.AGGREGATION;break;case 63:this.$=Pe.relationType.EXTENSION;break;case 64:this.$=Pe.relationType.COMPOSITION;break;case 65:this.$=Pe.relationType.DEPENDENCY;break;case 66:this.$=Pe.relationType.LOLLIPOP;break;case 67:this.$=Pe.lineType.LINE;break;case 68:this.$=Pe.lineType.DOTTED_LINE;break;case 69:case 75:this.$=Me[on-2],Pe.setClickEvent(Me[on-1],Me[on]);break;case 70:case 76:this.$=Me[on-3],Pe.setClickEvent(Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-2],Me[on]);break;case 71:this.$=Me[on-2],Pe.setLink(Me[on-1],Me[on]);break;case 72:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on-1],Me[on]);break;case 73:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-2],Me[on]);break;case 74:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-2],Me[on]),Pe.setTooltip(Me[on-3],Me[on-1]);break;case 77:this.$=Me[on-3],Pe.setClickEvent(Me[on-2],Me[on-1],Me[on]);break;case 78:this.$=Me[on-4],Pe.setClickEvent(Me[on-3],Me[on-2],Me[on-1]),Pe.setTooltip(Me[on-3],Me[on]);break;case 79:this.$=Me[on-3],Pe.setLink(Me[on-2],Me[on]);break;case 80:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-1],Me[on]);break;case 81:this.$=Me[on-4],Pe.setLink(Me[on-3],Me[on-1]),Pe.setTooltip(Me[on-3],Me[on]);break;case 82:this.$=Me[on-5],Pe.setLink(Me[on-4],Me[on-2],Me[on]),Pe.setTooltip(Me[on-4],Me[on-1]);break;case 83:Pe.setCssClass(Me[on-1],Me[on]);break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:a,32:f,34:p,35:20,39:w,40:21,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(vt,[2,5],{8:[1,44]}),{8:[1,45]},i(X,[2,16],{21:[1,46]}),i(X,[2,18]),i(X,[2,19]),i(X,[2,20]),i(X,[2,21]),i(X,[2,22]),i(X,[2,23]),i(X,[2,24]),i(X,[2,25]),{31:[1,47]},{33:[1,48]},i(X,[2,28]),i(X,[2,44],{48:49,56:52,57:53,13:[1,50],21:[1,51],58:pt,59:U,60:Tt,61:nt,62:It,63:Ot,64:Bt}),{36:[1,61]},i(Et,[2,35],{36:[1,63],41:[1,62]}),i(X,[2,46]),i(X,[2,47]),{16:64,84:bt,86:mt,87:yt,88:ft},{16:35,17:65,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{16:35,17:66,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{16:35,17:67,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:[1,68]},{16:35,17:69,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:Z,50:70},i(X,[2,54]),i(X,[2,55]),i(X,[2,56]),i(X,[2,57]),i(Ct,[2,11],{16:35,18:36,17:72,19:[1,73],84:bt,86:mt,87:yt,88:ft,89:ut}),i(Ct,[2,12],{19:[1,74]}),{15:75,16:76,84:bt,86:mt,87:yt,88:ft},{16:35,17:77,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(xt,[2,97]),i(xt,[2,98]),i(xt,[2,99]),i(xt,[2,100]),i([1,8,9,12,13,19,21,36,38,41,58,59,60,61,62,63,64,69,71],[2,101]),i(vt,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,17:19,35:20,40:21,16:35,18:36,5:78,30:a,32:f,34:p,39:w,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut}),{5:79,10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:a,32:f,34:p,35:20,39:w,40:21,43:m,44:b,46:E,47:_,49:A,51:I,52:B,53:N,54:R,55:z,65:W,66:et,68:st,72:at,84:bt,86:mt,87:yt,88:ft,89:ut},i(X,[2,17]),i(X,[2,26]),i(X,[2,27]),{13:[1,81],16:35,17:80,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{48:82,56:52,57:53,58:pt,59:U,60:Tt,61:nt,62:It,63:Ot,64:Bt},i(X,[2,45]),{57:83,63:Ot,64:Bt},i(Ht,[2,61],{56:84,58:pt,59:U,60:Tt,61:nt,62:It}),i(Le,[2,62]),i(Le,[2,63]),i(Le,[2,64]),i(Le,[2,65]),i(Le,[2,66]),i(Ft,[2,67]),i(Ft,[2,68]),{8:[1,86],23:87,37:85,40:21,43:m},{16:88,84:bt,86:mt,87:yt,88:ft},{42:89,46:gn},{45:[1,91]},{13:[1,92]},{13:[1,93]},{69:[1,94],71:[1,95]},{16:96,84:bt,86:mt,87:yt,88:ft},{13:Z,50:97},i(X,[2,53]),i(X,[2,102]),i(Ct,[2,13]),i(Ct,[2,14]),i(Ct,[2,15]),{36:[2,31]},{15:98,16:76,36:[2,9],84:bt,86:mt,87:yt,88:ft},i(Se,[2,39],{11:99,12:[1,100]}),i(vt,[2,7]),{9:[1,101]},i(me,[2,48]),{16:35,17:102,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},{13:[1,104],16:35,17:103,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(Ht,[2,60],{56:105,58:pt,59:U,60:Tt,61:nt,62:It}),i(Ht,[2,59]),{38:[1,106]},{23:87,37:107,40:21,43:m},{8:[1,108],38:[2,32]},i(Et,[2,36],{36:[1,109]}),{38:[1,110]},{38:[2,42],42:111,46:gn},{16:35,17:112,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(X,[2,69],{13:[1,113]}),i(X,[2,71],{13:[1,115],67:[1,114]}),i(X,[2,75],{13:[1,116],70:[1,117]}),{13:[1,118]},i(X,[2,83]),i(X,[2,52]),{36:[2,10]},i(Se,[2,40]),{13:[1,119]},{1:[2,4]},i(me,[2,50]),i(me,[2,49]),{16:35,17:120,18:36,84:bt,86:mt,87:yt,88:ft,89:ut},i(Ht,[2,58]),i(X,[2,29]),{38:[1,121]},{23:87,37:122,38:[2,33],40:21,43:m},{42:123,46:gn},i(Et,[2,37]),{38:[2,43]},i(X,[2,41]),i(X,[2,70]),i(X,[2,72]),i(X,[2,73],{67:[1,124]}),i(X,[2,76]),i(X,[2,77],{13:[1,125]}),i(X,[2,79],{13:[1,127],67:[1,126]}),{14:[1,128]},i(me,[2,51]),i(X,[2,30]),{38:[2,34]},{38:[1,129]},i(X,[2,74]),i(X,[2,78]),i(X,[2,80]),i(X,[2,81],{67:[1,130]}),i(Se,[2,8]),i(Et,[2,38]),i(X,[2,82])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],75:[2,31],98:[2,10],101:[2,4],111:[2,43],122:[2,34]},parseError:function(zt,re){if(re.recoverable)this.trace(zt);else{var se=new Error(zt);throw se.hash=re,se}},parse:function(zt){var re=this,se=[0],Pe=[],te=[null],Me=[],de=this.table,on="",ni=0,Ks=0,ws=2,fo=1,Xi=Me.slice.call(arguments,1),Er=Object.create(this.lexer),Xn={yy:{}};for(var di in this.yy)Object.prototype.hasOwnProperty.call(this.yy,di)&&(Xn.yy[di]=this.yy[di]);Er.setInput(zt,Xn.yy),Xn.yy.lexer=Er,Xn.yy.parser=this,typeof Er.yylloc>"u"&&(Er.yylloc={});var Ee=Er.yylloc;Me.push(Ee);var Kn=Er.options&&Er.options.ranges;typeof Xn.yy.parseError=="function"?this.parseError=Xn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function He(){var Du;return Du=Pe.pop()||Er.lex()||fo,typeof Du!="number"&&(Du instanceof Array&&(Pe=Du,Du=Pe.pop()),Du=re.symbols_[Du]||Du),Du}for(var Ti,pn,Es,qa,Ma={},Gs,Po,vs,ru;;){if(pn=se[se.length-1],this.defaultActions[pn]?Es=this.defaultActions[pn]:((Ti===null||typeof Ti>"u")&&(Ti=He()),Es=de[pn]&&de[pn][Ti]),typeof Es>"u"||!Es.length||!Es[0]){var zs="";ru=[];for(Gs in de[pn])this.terminals_[Gs]&&Gs>ws&&ru.push("'"+this.terminals_[Gs]+"'");Er.showPosition?zs="Parse error on line "+(ni+1)+`: +`+Er.showPosition()+` +Expecting `+ru.join(", ")+", got '"+(this.terminals_[Ti]||Ti)+"'":zs="Parse error on line "+(ni+1)+": Unexpected "+(Ti==fo?"end of input":"'"+(this.terminals_[Ti]||Ti)+"'"),this.parseError(zs,{text:Er.match,token:this.terminals_[Ti]||Ti,line:Er.yylineno,loc:Ee,expected:ru})}if(Es[0]instanceof Array&&Es.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pn+", token: "+Ti);switch(Es[0]){case 1:se.push(Ti),te.push(Er.yytext),Me.push(Er.yylloc),se.push(Es[1]),Ti=null,Ks=Er.yyleng,on=Er.yytext,ni=Er.yylineno,Ee=Er.yylloc;break;case 2:if(Po=this.productions_[Es[1]][1],Ma.$=te[te.length-Po],Ma._$={first_line:Me[Me.length-(Po||1)].first_line,last_line:Me[Me.length-1].last_line,first_column:Me[Me.length-(Po||1)].first_column,last_column:Me[Me.length-1].last_column},Kn&&(Ma._$.range=[Me[Me.length-(Po||1)].range[0],Me[Me.length-1].range[1]]),qa=this.performAction.apply(Ma,[on,Ks,ni,Xn.yy,Es[1],te,Me].concat(Xi)),typeof qa<"u")return qa;Po&&(se=se.slice(0,-1*Po*2),te=te.slice(0,-1*Po),Me=Me.slice(0,-1*Po)),se.push(this.productions_[Es[1]][0]),te.push(Ma.$),Me.push(Ma._$),vs=de[se[se.length-2]][se[se.length-1]],se.push(vs);break;case 3:return!0}}return!0}},Ye=function(){var ke={EOF:1,parseError:function(re,se){if(this.yy.parser)this.yy.parser.parseError(re,se);else throw new Error(re)},setInput:function(zt,re){return this.yy=re||this.yy||{},this._input=zt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var zt=this._input[0];this.yytext+=zt,this.yyleng++,this.offset++,this.match+=zt,this.matched+=zt;var re=zt.match(/(?:\r\n?|\n).*/g);return re?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),zt},unput:function(zt){var re=zt.length,se=zt.split(/(?:\r\n?|\n)/g);this._input=zt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-re),this.offset-=re;var Pe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),se.length-1&&(this.yylineno-=se.length-1);var te=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-se.length].length-se[0].length:this.yylloc.first_column-re},this.options.ranges&&(this.yylloc.range=[te[0],te[0]+this.yyleng-re]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(zt){this.unput(this.match.slice(zt))},pastInput:function(){var zt=this.matched.substr(0,this.matched.length-this.match.length);return(zt.length>20?"...":"")+zt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var zt=this.match;return zt.length<20&&(zt+=this._input.substr(0,20-zt.length)),(zt.substr(0,20)+(zt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var zt=this.pastInput(),re=new Array(zt.length+1).join("-");return zt+this.upcomingInput()+` +`+re+"^"},test_match:function(zt,re){var se,Pe,te;if(this.options.backtrack_lexer&&(te={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(te.yylloc.range=this.yylloc.range.slice(0))),Pe=zt[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+zt[0].length},this.yytext+=zt[0],this.match+=zt[0],this.matches=zt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(zt[0].length),this.matched+=zt[0],se=this.performAction.call(this,this.yy,this,re,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var Me in te)this[Me]=te[Me];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var zt,re,se,Pe;this._more||(this.yytext="",this.match="");for(var te=this._currentRules(),Me=0;Mere[0].length)){if(re=se,Pe=Me,this.options.backtrack_lexer){if(zt=this.test_match(se,te[Me]),zt!==!1)return zt;if(this._backtrack){re=!1;continue}else return!1}else if(!this.options.flex)break}return re?(zt=this.test_match(re,te[Pe]),zt!==!1?zt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var re=this.next();return re||this.lex()},begin:function(re){this.conditionStack.push(re)},popState:function(){var re=this.conditionStack.length-1;return re>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(re){return re=this.conditionStack.length-1-Math.abs(re||0),re>=0?this.conditionStack[re]:"INITIAL"},pushState:function(re){this.begin(re)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(re,se,Pe,te){switch(Pe){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:break;case 5:break;case 6:return this.begin("acc_title"),30;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),32;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 69;case 22:this.popState();break;case 23:return 70;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return this.begin("namespace"),39;case 28:return this.popState(),8;case 29:break;case 30:return this.begin("namespace-body"),36;case 31:return this.popState(),38;case 32:return"EOF_IN_STRUCT";case 33:return 8;case 34:break;case 35:return"EDGE_STATE";case 36:return this.begin("class"),43;case 37:return this.popState(),8;case 38:break;case 39:return this.popState(),this.popState(),38;case 40:return this.begin("class-body"),36;case 41:return this.popState(),38;case 42:return"EOF_IN_STRUCT";case 43:return"EDGE_STATE";case 44:return"OPEN_IN_STRUCT";case 45:break;case 46:return"MEMBER";case 47:return 72;case 48:return 65;case 49:return 66;case 50:return 68;case 51:return 49;case 52:return 51;case 53:return 44;case 54:return 45;case 55:return 71;case 56:this.popState();break;case 57:return"GENERICTYPE";case 58:this.begin("generic");break;case 59:this.popState();break;case 60:return"BQUOTE_STR";case 61:this.begin("bqstring");break;case 62:return 67;case 63:return 67;case 64:return 67;case 65:return 67;case 66:return 59;case 67:return 59;case 68:return 61;case 69:return 61;case 70:return 60;case 71:return 58;case 72:return 62;case 73:return 63;case 74:return 64;case 75:return 21;case 76:return 41;case 77:return 84;case 78:return"DOT";case 79:return"PLUS";case 80:return 81;case 81:return"EQUALS";case 82:return"EQUALS";case 83:return 88;case 84:return 12;case 85:return 14;case 86:return"PUNCTUATION";case 87:return 87;case 88:return 86;case 89:return 83;case 90:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,31,32,33,34,35,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},namespace:{rules:[26,27,28,29,30,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},"class-body":{rules:[26,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},class:{rules:[26,37,38,39,40,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr:{rules:[9,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_title:{rules:[7,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_args:{rules:[22,23,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_name:{rules:[19,20,21,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},href:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},struct:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},generic:{rules:[26,47,48,49,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},bqstring:{rules:[26,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},string:{rules:[24,25,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!0}}};return ke}();Ve.lexer=Ye;function ce(){this.yy={}}return ce.prototype=Ve,Ve.Parser=ce,new ce}();Tgt.parser=Tgt;const zRt=Tgt,qRt=["#","+","~","-",""];class HRt{constructor(a,f){this.memberType=f,this.visibility="",this.classifier="";const p=Q1(a,Oe());this.parseMember(p)}getDisplayDetails(){let a=this.visibility+YP(this.id);this.memberType==="method"&&(a+=`(${YP(this.parameters.trim())})`,this.returnType&&(a+=" : "+YP(this.returnType))),a=a.trim();const f=this.parseClassifier();return{displayText:a,cssStyle:f}}parseMember(a){let f="";if(this.memberType==="method"){const p=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,w=a.match(p);if(w){const m=w[1]?w[1].trim():"";if(qRt.includes(m)&&(this.visibility=m),this.id=w[2].trim(),this.parameters=w[3]?w[3].trim():"",f=w[4]?w[4].trim():"",this.returnType=w[5]?w[5].trim():"",f===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(f=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const p=a.length,w=a.substring(0,1),m=a.substring(p-1);qRt.includes(w)&&(this.visibility=w),m.match(/[*?]/)&&(f=m),this.id=a.substring(this.visibility===""?0:1,f===""?p:p-1)}this.classifier=f}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const $Y="classId-";let Cgt=[],Jl={},zY=[],VRt=0,xk={},_gt=0,WF=[];const AT=i=>Kr.sanitizeText(i,Oe()),wL=function(i){const a=Kr.sanitizeText(i,Oe());let f="",p=a;if(a.indexOf("~")>0){const w=a.split("~");p=AT(w[0]),f=AT(w[1])}return{className:p,type:f}},sGe=function(i,a){const f=Kr.sanitizeText(i,Oe());a&&(a=AT(a));const{className:p}=wL(f);Jl[p].label=a},qY=function(i){const a=Kr.sanitizeText(i,Oe()),{className:f,type:p}=wL(a);if(Object.hasOwn(Jl,f))return;const w=Kr.sanitizeText(f,Oe());Jl[w]={id:w,type:p,label:w,cssClasses:[],methods:[],members:[],annotations:[],domId:$Y+w+"-"+VRt},VRt++},GRt=function(i){const a=Kr.sanitizeText(i,Oe());if(a in Jl)return Jl[a].domId;throw new Error("Class not found: "+a)},aGe=function(){Cgt=[],Jl={},zY=[],WF=[],WF.push(WRt),xk={},_gt=0,hg()},oGe=function(i){return Jl[i]},cGe=function(){return Jl},uGe=function(){return Cgt},lGe=function(){return zY},hGe=function(i){Ut.debug("Adding relation: "+JSON.stringify(i)),qY(i.id1),qY(i.id2),i.id1=wL(i.id1).className,i.id2=wL(i.id2).className,i.relationTitle1=Kr.sanitizeText(i.relationTitle1.trim(),Oe()),i.relationTitle2=Kr.sanitizeText(i.relationTitle2.trim(),Oe()),Cgt.push(i)},fGe=function(i,a){const f=wL(i).className;Jl[f].annotations.push(a)},URt=function(i,a){qY(i);const f=wL(i).className,p=Jl[f];if(typeof a=="string"){const w=a.trim();w.startsWith("<<")&&w.endsWith(">>")?p.annotations.push(AT(w.substring(2,w.length-2))):w.indexOf(")")>0?p.methods.push(new HRt(w,"method")):w&&p.members.push(new HRt(w,"attribute"))}},dGe=function(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(f=>URt(i,f)))},gGe=function(i,a){const f={id:`note${zY.length}`,class:a,text:i};zY.push(f)},pGe=function(i){return i.startsWith(":")&&(i=i.substring(1)),AT(i.trim())},Sgt=function(i,a){i.split(",").forEach(function(f){let p=f;f[0].match(/\d/)&&(p=$Y+p),Jl[p]!==void 0&&Jl[p].cssClasses.push(a)})},bGe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(Jl[f].tooltip=AT(a))})},wGe=function(i,a){return a?xk[a].classes[i].tooltip:Jl[i].tooltip},vGe=function(i,a,f){const p=Oe();i.split(",").forEach(function(w){let m=w;w[0].match(/\d/)&&(m=$Y+m),Jl[m]!==void 0&&(Jl[m].link=$a.formatUrl(a,p),p.securityLevel==="sandbox"?Jl[m].linkTarget="_top":typeof f=="string"?Jl[m].linkTarget=AT(f):Jl[m].linkTarget="_blank")}),Sgt(i,"clickable")},mGe=function(i,a,f){i.split(",").forEach(function(p){yGe(p,a,f),Jl[p].haveCallback=!0}),Sgt(i,"clickable")},yGe=function(i,a,f){const p=Kr.sanitizeText(i,Oe());if(Oe().securityLevel!=="loose"||a===void 0)return;const m=p;if(Jl[m]!==void 0){const b=GRt(m);let E=[];if(typeof f=="string"){E=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let _=0;_")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),yr(this).classed("hover",!1)})};WF.push(WRt);let YRt="TB";const HY={setAccTitle:E0,getAccTitle:fg,getAccDescription:gg,setAccDescription:dg,getConfig:()=>Oe().class,addClass:qY,bindFunctions:xGe,clear:aGe,getClass:oGe,getClasses:cGe,getNotes:lGe,addAnnotation:fGe,addNote:gGe,getRelations:uGe,addRelation:hGe,getDirection:()=>YRt,setDirection:i=>{YRt=i},addMember:URt,addMembers:dGe,cleanupLabel:pGe,lineType:kGe,relationType:EGe,setClickEvent:mGe,setCssClass:Sgt,setLink:vGe,getTooltip:wGe,setTooltip:bGe,lookUpDomId:GRt,setDiagramTitle:Nb,getDiagramTitle:pg,setClassLabel:sGe,addNamespace:function(i){xk[i]===void 0&&(xk[i]={id:i,classes:{},children:{},domId:$Y+i+"-"+_gt},_gt++)},addClassesToNamespace:function(i,a){xk[i]!==void 0&&a.map(f=>{Jl[f].parent=i,xk[i].classes[f]=Jl[f]})},getNamespace:function(i){return xk[i]},getNamespaces:function(){return xk}},KRt=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let XRt=0;const TGe=function(i,a,f,p,w){const m=function(at){switch(at){case w.db.relationType.AGGREGATION:return"aggregation";case w.db.relationType.EXTENSION:return"extension";case w.db.relationType.COMPOSITION:return"composition";case w.db.relationType.DEPENDENCY:return"dependency";case w.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(at=>!Number.isNaN(at.y));const b=a.points,E=E5().x(function(at){return at.x}).y(function(at){return at.y}).curve(HP),_=i.append("path").attr("d",E(b)).attr("id","edge"+XRt).attr("class","relation");let A="";p.arrowMarkerAbsolute&&(A=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,A=A.replace(/\(/g,"\\("),A=A.replace(/\)/g,"\\)")),f.relation.lineType==1&&_.attr("class","relation dashed-line"),f.relation.lineType==10&&_.attr("class","relation dotted-line"),f.relation.type1!=="none"&&_.attr("marker-start","url("+A+"#"+m(f.relation.type1)+"Start)"),f.relation.type2!=="none"&&_.attr("marker-end","url("+A+"#"+m(f.relation.type2)+"End)");let I,B;const N=a.points.length;let R=$a.calcLabelPosition(a.points);I=R.x,B=R.y;let z,W,et,st;if(N%2!==0&&N>1){let at=$a.calcCardinalityPosition(f.relation.type1!=="none",a.points,a.points[0]),bt=$a.calcCardinalityPosition(f.relation.type2!=="none",a.points,a.points[N-1]);Ut.debug("cardinality_1_point "+JSON.stringify(at)),Ut.debug("cardinality_2_point "+JSON.stringify(bt)),z=at.x,W=at.y,et=bt.x,st=bt.y}if(f.title!==void 0){const at=i.append("g").attr("class","classLabel"),bt=at.append("text").attr("class","label").attr("x",I).attr("y",B).attr("fill","red").attr("text-anchor","middle").text(f.title);window.label=bt;const mt=bt.node().getBBox();at.insert("rect",":first-child").attr("class","box").attr("x",mt.x-p.padding/2).attr("y",mt.y-p.padding/2).attr("width",mt.width+p.padding).attr("height",mt.height+p.padding)}Ut.info("Rendering relation "+JSON.stringify(f)),f.relationTitle1!==void 0&&f.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",z).attr("y",W).attr("fill","black").attr("font-size","6").text(f.relationTitle1),f.relationTitle2!==void 0&&f.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",et).attr("y",st).attr("fill","black").attr("font-size","6").text(f.relationTitle2),XRt++},CGe=function(i,a,f,p){Ut.debug("Rendering class ",a,f);const w=a.id,m={id:w,label:a.id,width:0,height:0},b=i.append("g").attr("id",p.db.lookUpDomId(w)).attr("class","classGroup");let E;a.link?E=b.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",f.textHeight+f.padding).attr("x",0):E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);let _=!0;a.annotations.forEach(function(bt){const mt=E.append("tspan").text("«"+bt+"»");_||mt.attr("dy",f.textHeight),_=!1});let A=QRt(a);const I=E.append("tspan").text(A).attr("class","title");_||I.attr("dy",f.textHeight);const B=E.node().getBBox().height;let N,R,z;if(a.members.length>0){N=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin/2).attr("y2",f.padding+B+f.dividerMargin/2);const bt=b.append("text").attr("x",f.padding).attr("y",B+f.dividerMargin+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.members.forEach(function(mt){ZRt(bt,mt,_,f),_=!1}),R=bt.node().getBBox()}if(a.methods.length>0){z=b.append("line").attr("x1",0).attr("y1",f.padding+B+f.dividerMargin+R.height).attr("y2",f.padding+B+f.dividerMargin+R.height);const bt=b.append("text").attr("x",f.padding).attr("y",B+2*f.dividerMargin+R.height+f.textHeight).attr("fill","white").attr("class","classText");_=!0,a.methods.forEach(function(mt){ZRt(bt,mt,_,f),_=!1})}const W=b.node().getBBox();var et=" ";a.cssClasses.length>0&&(et=et+a.cssClasses.join(" "));const at=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",W.width+2*f.padding).attr("height",W.height+f.padding+.5*f.dividerMargin).attr("class",et).node().getBBox().width;return E.node().childNodes.forEach(function(bt){bt.setAttribute("x",(at-bt.getBBox().width)/2)}),a.tooltip&&E.insert("title").text(a.tooltip),N&&N.attr("x2",at),z&&z.attr("x2",at),m.width=at,m.height=W.height+f.padding+.5*f.dividerMargin,m},QRt=function(i){let a=i.id;return i.type&&(a+="<"+YP(i.type)+">"),a},_Ge=function(i,a,f,p){Ut.debug("Rendering note ",a,f);const w=a.id,m={id:w,text:a.text,width:0,height:0},b=i.append("g").attr("id",w).attr("class","classGroup");let E=b.append("text").attr("y",f.textHeight+f.padding).attr("x",0);const _=JSON.parse(`"${a.text}"`).split(` +`);_.forEach(function(N){Ut.debug(`Adding line: ${N}`),E.append("tspan").text(N).attr("class","title").attr("dy",f.textHeight)});const A=b.node().getBBox(),B=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",A.width+2*f.padding).attr("height",A.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin).node().getBBox().width;return E.node().childNodes.forEach(function(N){N.setAttribute("x",(B-N.getBBox().width)/2)}),m.width=B,m.height=A.height+_.length*f.textHeight+f.padding+.5*f.dividerMargin,m},ZRt=function(i,a,f,p){const{displayText:w,cssStyle:m}=a.getDisplayDetails(),b=i.append("tspan").attr("x",p.padding).text(w);m!==""&&b.attr("style",a.cssStyle),f||b.attr("dy",p.textHeight)},Agt={getClassTitleString:QRt,drawClass:CGe,drawEdge:TGe,drawNote:_Ge};let VY={};const GY=20,YF=function(i){const a=Object.entries(VY).find(f=>f[1].label===i);if(a)return a[0]},SGe=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},AGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zRt,db:HY,renderer:{draw:function(i,a,f,p){const w=Oe().class;VY={},Ut.info("Rendering diagram "+i);const m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body"),_=E.select(`[id='${a}']`);SGe(_);const A=new c1({multigraph:!0});A.setGraph({isMultiGraph:!0}),A.setDefaultEdgeLabel(function(){return{}});const I=p.db.getClasses(),B=Object.keys(I);for(const at of B){const bt=I[at],mt=Agt.drawClass(_,bt,w,p);VY[mt.id]=mt,A.setNode(mt.id,mt),Ut.info("Org height: "+mt.height)}p.db.getRelations().forEach(function(at){Ut.info("tjoho"+YF(at.id1)+YF(at.id2)+JSON.stringify(at)),A.setEdge(YF(at.id1),YF(at.id2),{relation:at},at.title||"DEFAULT")}),p.db.getNotes().forEach(function(at){Ut.debug(`Adding note: ${JSON.stringify(at)}`);const bt=Agt.drawNote(_,at,w,p);VY[bt.id]=bt,A.setNode(bt.id,bt),at.class&&at.class in I&&A.setEdge(at.id,YF(at.class),{relation:{id1:at.id,id2:at.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),aL(A),A.nodes().forEach(function(at){at!==void 0&&A.node(at)!==void 0&&(Ut.debug("Node "+at+": "+JSON.stringify(A.node(at))),E.select("#"+(p.db.lookUpDomId(at)||at)).attr("transform","translate("+(A.node(at).x-A.node(at).width/2)+","+(A.node(at).y-A.node(at).height/2)+" )"))}),A.edges().forEach(function(at){at!==void 0&&A.edge(at)!==void 0&&(Ut.debug("Edge "+at.v+" -> "+at.w+": "+JSON.stringify(A.edge(at))),Agt.drawEdge(_,A.edge(at),A.edge(at).relation,w,p))});const z=_.node().getBBox(),W=z.width+GY*2,et=z.height+GY*2;k0(_,et,W,w.useMaxWidth);const st=`${z.x-GY} ${z.y-GY} ${W} ${et}`;Ut.debug(`viewBox ${st}`),_.attr("viewBox",st)}},styles:KRt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,HY.clear()}}},Symbol.toStringTag,{value:"Module"})),Lgt=i=>Kr.sanitizeText(i,Oe());let Mgt={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const LGe=function(i,a,f,p){const w=Object.keys(i);Ut.info("keys:",w),Ut.info(i),w.forEach(function(m){var A,I;const b=i[m],_={shape:"rect",id:b.id,domId:b.domId,labelText:Lgt(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((A=Oe().flowchart)==null?void 0:A.padding)??((I=Oe().class)==null?void 0:I.padding)};a.setNode(b.id,_),JRt(b.classes,a,f,p,b.id),Ut.info("setNode",_)})},JRt=function(i,a,f,p,w){const m=Object.keys(i);Ut.info("keys:",m),Ut.info(i),m.filter(b=>i[b].parent==w).forEach(function(b){var z,W;const E=i[b],_=E.cssClasses.join(" "),A={labelStyle:"",style:""},I=E.label??E.id,B=0,N="class_box",R={labelStyle:A.labelStyle,shape:N,labelText:Lgt(I),classData:E,rx:B,ry:B,class:_,style:A.style,id:E.id,domId:E.domId,tooltip:p.db.getTooltip(E.id,w)||"",haveCallback:E.haveCallback,link:E.link,width:E.type==="group"?500:void 0,type:E.type,padding:((z=Oe().flowchart)==null?void 0:z.padding)??((W=Oe().class)==null?void 0:W.padding)};a.setNode(E.id,R),w&&a.setParent(E.id,w),Ut.info("setNode",R)})},MGe=function(i,a,f,p){Ut.info(i),i.forEach(function(w,m){var W,et;const b=w,E="",_={labelStyle:"",style:""},A=b.text,I=0,B="note",N={labelStyle:_.labelStyle,shape:B,labelText:Lgt(A),noteData:b,rx:I,ry:I,class:E,style:_.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((W=Oe().flowchart)==null?void 0:W.padding)??((et=Oe().class)==null?void 0:et.padding)};if(a.setNode(b.id,N),Ut.info("setNode",N),!b.class||!(b.class in p))return;const R=f+m,z={id:`edgeNote${R}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:ew(Mgt.curve,cg)};a.setEdge(b.id,b.class,z,R)})},DGe=function(i,a){const f=Oe().flowchart;let p=0;i.forEach(function(w){var b;p++;const m={classes:"relation",pattern:w.relation.lineType==1?"dashed":"solid",id:"id"+p,arrowhead:w.type==="arrow_open"?"none":"normal",startLabelRight:w.relationTitle1==="none"?"":w.relationTitle1,endLabelLeft:w.relationTitle2==="none"?"":w.relationTitle2,arrowTypeStart:tjt(w.relation.type1),arrowTypeEnd:tjt(w.relation.type2),style:"fill:none",labelStyle:"",curve:ew(f==null?void 0:f.curve,cg)};if(Ut.info(m,w),w.style!==void 0){const E=im(w.style);m.style=E.style,m.labelStyle=E.labelStyle}w.text=w.title,w.text===void 0?w.style!==void 0&&(m.arrowheadStyle="fill: #333"):(m.arrowheadStyle="fill: #333",m.labelpos="c",((b=Oe().flowchart)==null?void 0:b.htmlLabels)??Oe().htmlLabels?(m.labelType="html",m.label=''+w.text+""):(m.labelType="text",m.label=w.text.replace(Kr.lineBreakRegex,` +`),w.style===void 0&&(m.style=m.style||"stroke: #333; stroke-width: 1.5px;fill:none"),m.labelStyle=m.labelStyle.replace("color:","fill:"))),a.setEdge(w.id1,w.id2,m,p)})},IGe=function(i){Mgt={...Mgt,...i}},OGe=async function(i,a,f,p){Ut.info("Drawing class - ",a);const w=Oe().flowchart??Oe().class,m=Oe().securityLevel;Ut.info("config:",w);const b=(w==null?void 0:w.nodeSpacing)??50,E=(w==null?void 0:w.rankSpacing)??50,_=new c1({multigraph:!0,compound:!0}).setGraph({rankdir:p.db.getDirection(),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),A=p.db.getNamespaces(),I=p.db.getClasses(),B=p.db.getRelations(),N=p.db.getNotes();Ut.info(B),LGe(A,_,a,p),JRt(I,_,a,p),DGe(B,_),MGe(N,_,B.length+1,I);let R;m==="sandbox"&&(R=yr("#i"+a));const z=yr(m==="sandbox"?R.nodes()[0].contentDocument.body:"body"),W=z.select(`[id="${a}"]`),et=z.select("#"+a+" g");if(await N0t(et,_,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),$a.insertTitle(W,"classTitleText",(w==null?void 0:w.titleTopMargin)??5,p.db.getDiagramTitle()),fT(_,W,w==null?void 0:w.diagramPadding,w==null?void 0:w.useMaxWidth),!(w!=null&&w.htmlLabels)){const st=m==="sandbox"?R.nodes()[0].contentDocument:document,at=st.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const bt of at){const mt=bt.getBBox(),yt=st.createElementNS("http://www.w3.org/2000/svg","rect");yt.setAttribute("rx",0),yt.setAttribute("ry",0),yt.setAttribute("width",mt.width),yt.setAttribute("height",mt.height),bt.insertBefore(yt,bt.firstChild)}}};function tjt(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const PGe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zRt,db:HY,renderer:{setConf:IGe,draw:OGe},styles:KRt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,HY.clear()}}},Symbol.toStringTag,{value:"Module"}));var Dgt=function(){var i=function(Et,Z,Ct,xt){for(Ct=Ct||{},xt=Et.length;xt--;Ct[Et[xt]]=Z);return Ct},a=[1,2],f=[1,3],p=[1,4],w=[2,4],m=[1,9],b=[1,11],E=[1,15],_=[1,16],A=[1,17],I=[1,18],B=[1,30],N=[1,19],R=[1,20],z=[1,21],W=[1,22],et=[1,23],st=[1,25],at=[1,26],bt=[1,27],mt=[1,28],yt=[1,29],ft=[1,32],ut=[1,33],vt=[1,34],X=[1,35],pt=[1,31],U=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Tt=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],nt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],It={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Z,Ct,xt,Ht,Le,Ft,gn){var Se=Ft.length-1;switch(Le){case 3:return Ht.setRootDoc(Ft[Se]),Ft[Se];case 4:this.$=[];break;case 5:Ft[Se]!="nl"&&(Ft[Se-1].push(Ft[Se]),this.$=Ft[Se-1]);break;case 6:case 7:this.$=Ft[Se];break;case 8:this.$="nl";break;case 11:this.$=Ft[Se];break;case 12:const ce=Ft[Se-1];ce.description=Ht.trimColon(Ft[Se]),this.$=ce;break;case 13:this.$={stmt:"relation",state1:Ft[Se-2],state2:Ft[Se]};break;case 14:const ke=Ht.trimColon(Ft[Se]);this.$={stmt:"relation",state1:Ft[Se-3],state2:Ft[Se-1],description:ke};break;case 18:this.$={stmt:"state",id:Ft[Se-3],type:"default",description:"",doc:Ft[Se-1]};break;case 19:var me=Ft[Se],Ve=Ft[Se-2].trim();if(Ft[Se].match(":")){var Ye=Ft[Se].split(":");me=Ye[0],Ve=[Ve,Ye[1]]}this.$={stmt:"state",id:me,type:"default",description:Ve};break;case 20:this.$={stmt:"state",id:Ft[Se-3],type:"default",description:Ft[Se-5],doc:Ft[Se-1]};break;case 21:this.$={stmt:"state",id:Ft[Se],type:"fork"};break;case 22:this.$={stmt:"state",id:Ft[Se],type:"join"};break;case 23:this.$={stmt:"state",id:Ft[Se],type:"choice"};break;case 24:this.$={stmt:"state",id:Ht.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ft[Se-1].trim(),note:{position:Ft[Se-2].trim(),text:Ft[Se].trim()}};break;case 28:this.$=Ft[Se].trim(),Ht.setAccTitle(this.$);break;case 29:case 30:this.$=Ft[Se].trim(),Ht.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ft[Se-1].trim(),classes:Ft[Se].trim()};break;case 33:this.$={stmt:"applyClass",id:Ft[Se-1].trim(),styleClass:Ft[Se].trim()};break;case 34:Ht.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ht.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ht.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ht.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ft[Se].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ft[Se-2].trim(),classes:[Ft[Se].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ft[Se-2].trim(),classes:[Ft[Se].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:f,6:p},{1:[3]},{3:5,4:a,5:f,6:p},{3:6,4:a,5:f,6:p},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,5]),{9:36,10:12,11:13,12:14,15:E,16:_,18:A,21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,7]),i(U,[2,8]),i(U,[2,9]),i(U,[2,10]),i(U,[2,11],{13:[1,37],14:[1,38]}),i(U,[2,15]),{17:[1,39]},i(U,[2,17],{19:[1,40]}),{22:[1,41]},i(U,[2,21]),i(U,[2,22]),i(U,[2,23]),i(U,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(U,[2,27]),{33:[1,46]},{35:[1,47]},i(U,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(Tt,[2,40],{51:[1,51]}),i(Tt,[2,41],{51:[1,52]}),i(U,[2,34]),i(U,[2,35]),i(U,[2,36]),i(U,[2,37]),i(U,[2,6]),i(U,[2,12]),{12:53,23:B,50:pt},i(U,[2,16]),i(nt,w,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(U,[2,28]),i(U,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(U,[2,13],{13:[1,63]}),{4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,20:[1,64],21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(U,[2,31]),i(U,[2,32]),i(U,[2,33]),i(Tt,[2,42]),i(Tt,[2,43]),i(U,[2,14]),i(U,[2,18]),i(nt,w,{7:68}),i(U,[2,25]),i(U,[2,26]),{4:m,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:_,18:A,20:[1,69],21:I,23:B,24:N,25:R,26:z,27:W,28:et,31:24,32:st,34:at,36:bt,37:mt,41:yt,44:ft,45:ut,46:vt,47:X,50:pt},i(U,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Z,Ct){if(Ct.recoverable)this.trace(Z);else{var xt=new Error(Z);throw xt.hash=Ct,xt}},parse:function(Z){var Ct=this,xt=[0],Ht=[],Le=[null],Ft=[],gn=this.table,Se="",me=0,Ve=0,Ye=2,ce=1,ke=Ft.slice.call(arguments,1),zt=Object.create(this.lexer),re={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(re.yy[se]=this.yy[se]);zt.setInput(Z,re.yy),re.yy.lexer=zt,re.yy.parser=this,typeof zt.yylloc>"u"&&(zt.yylloc={});var Pe=zt.yylloc;Ft.push(Pe);var te=zt.options&&zt.options.ranges;typeof re.yy.parseError=="function"?this.parseError=re.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(){var Ee;return Ee=Ht.pop()||zt.lex()||ce,typeof Ee!="number"&&(Ee instanceof Array&&(Ht=Ee,Ee=Ht.pop()),Ee=Ct.symbols_[Ee]||Ee),Ee}for(var de,on,ni,Ks,ws={},fo,Xi,Er,Xn;;){if(on=xt[xt.length-1],this.defaultActions[on]?ni=this.defaultActions[on]:((de===null||typeof de>"u")&&(de=Me()),ni=gn[on]&&gn[on][de]),typeof ni>"u"||!ni.length||!ni[0]){var di="";Xn=[];for(fo in gn[on])this.terminals_[fo]&&fo>Ye&&Xn.push("'"+this.terminals_[fo]+"'");zt.showPosition?di="Parse error on line "+(me+1)+`: +`+zt.showPosition()+` +Expecting `+Xn.join(", ")+", got '"+(this.terminals_[de]||de)+"'":di="Parse error on line "+(me+1)+": Unexpected "+(de==ce?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(di,{text:zt.match,token:this.terminals_[de]||de,line:zt.yylineno,loc:Pe,expected:Xn})}if(ni[0]instanceof Array&&ni.length>1)throw new Error("Parse Error: multiple actions possible at state: "+on+", token: "+de);switch(ni[0]){case 1:xt.push(de),Le.push(zt.yytext),Ft.push(zt.yylloc),xt.push(ni[1]),de=null,Ve=zt.yyleng,Se=zt.yytext,me=zt.yylineno,Pe=zt.yylloc;break;case 2:if(Xi=this.productions_[ni[1]][1],ws.$=Le[Le.length-Xi],ws._$={first_line:Ft[Ft.length-(Xi||1)].first_line,last_line:Ft[Ft.length-1].last_line,first_column:Ft[Ft.length-(Xi||1)].first_column,last_column:Ft[Ft.length-1].last_column},te&&(ws._$.range=[Ft[Ft.length-(Xi||1)].range[0],Ft[Ft.length-1].range[1]]),Ks=this.performAction.apply(ws,[Se,Ve,me,re.yy,ni[1],Le,Ft].concat(ke)),typeof Ks<"u")return Ks;Xi&&(xt=xt.slice(0,-1*Xi*2),Le=Le.slice(0,-1*Xi),Ft=Ft.slice(0,-1*Xi)),xt.push(this.productions_[ni[1]][0]),Le.push(ws.$),Ft.push(ws._$),Er=gn[xt[xt.length-2]][xt[xt.length-1]],xt.push(Er);break;case 3:return!0}}return!0}},Ot=function(){var Et={EOF:1,parseError:function(Ct,xt){if(this.yy.parser)this.yy.parser.parseError(Ct,xt);else throw new Error(Ct)},setInput:function(Z,Ct){return this.yy=Ct||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var Ct=Z.match(/(?:\r\n?|\n).*/g);return Ct?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Z},unput:function(Z){var Ct=Z.length,xt=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ct),this.offset-=Ct;var Ht=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),xt.length-1&&(this.yylineno-=xt.length-1);var Le=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:xt?(xt.length===Ht.length?this.yylloc.first_column:0)+Ht[Ht.length-xt.length].length-xt[0].length:this.yylloc.first_column-Ct},this.options.ranges&&(this.yylloc.range=[Le[0],Le[0]+this.yyleng-Ct]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Z){this.unput(this.match.slice(Z))},pastInput:function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Z=this.match;return Z.length<20&&(Z+=this._input.substr(0,20-Z.length)),(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Z=this.pastInput(),Ct=new Array(Z.length+1).join("-");return Z+this.upcomingInput()+` +`+Ct+"^"},test_match:function(Z,Ct){var xt,Ht,Le;if(this.options.backtrack_lexer&&(Le={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Le.yylloc.range=this.yylloc.range.slice(0))),Ht=Z[0].match(/(?:\r\n?|\n).*/g),Ht&&(this.yylineno+=Ht.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ht?Ht[Ht.length-1].length-Ht[Ht.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],xt=this.performAction.call(this,this.yy,this,Ct,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),xt)return xt;if(this._backtrack){for(var Ft in Le)this[Ft]=Le[Ft];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Z,Ct,xt,Ht;this._more||(this.yytext="",this.match="");for(var Le=this._currentRules(),Ft=0;FtCt[0].length)){if(Ct=xt,Ht=Ft,this.options.backtrack_lexer){if(Z=this.test_match(xt,Le[Ft]),Z!==!1)return Z;if(this._backtrack){Ct=!1;continue}else return!1}else if(!this.options.flex)break}return Ct?(Z=this.test_match(Ct,Le[Ht]),Z!==!1?Z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ct=this.next();return Ct||this.lex()},begin:function(Ct){this.conditionStack.push(Ct)},popState:function(){var Ct=this.conditionStack.length-1;return Ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ct){return Ct=this.conditionStack.length-1-Math.abs(Ct||0),Ct>=0?this.conditionStack[Ct]:"INITIAL"},pushState:function(Ct){this.begin(Ct)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ct,xt,Ht,Le){switch(Ht){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),xt.yytext=xt.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),xt.yytext=xt.yytext.substr(2).trim(),30;case 64:return this.popState(),xt.yytext=xt.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return xt.yytext=xt.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Et}();It.lexer=Ot;function Bt(){this.yy={}}return Bt.prototype=It,It.Parser=Bt,new Bt}();Dgt.parser=Dgt;const ejt=Dgt,FGe="LR",NGe="TB",UY="state",Igt="relation",BGe="classDef",RGe="applyClass",KF="default",njt="divider",Ogt="[*]",rjt="start",ijt=Ogt,sjt="end",ajt="color",ojt="fill",jGe="bgFill",$Ge=",";function cjt(){return{}}let ujt=FGe,WY=[],XF=cjt();const ljt=()=>({relations:[],states:{},documents:{}});let YY={root:ljt()},S0=YY.root,QF=0,hjt=0;const zGe={LINE:0,DOTTED_LINE:1},qGe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},KY=i=>JSON.parse(JSON.stringify(i)),HGe=i=>{Ut.info("Setting root doc",i),WY=i},VGe=()=>WY,XY=(i,a,f)=>{if(a.stmt===Igt)XY(i,a.state1,!0),XY(i,a.state2,!1);else if(a.stmt===UY&&(a.id==="[*]"?(a.id=f?i.id+"_start":i.id+"_end",a.start=f):a.id=a.id.trim()),a.doc){const p=[];let w=[],m;for(m=0;m0&&w.length>0){const b={stmt:UY,id:VIt(),type:"divider",doc:KY(w)};p.push(KY(b)),a.doc=p}a.doc.forEach(b=>XY(a,b,!0))}},GGe=()=>(XY({id:"root"},{id:"root",doc:WY},!0),{id:"root",doc:WY}),UGe=i=>{let a;i.doc?a=i.doc:a=i,Ut.info(a),fjt(!0),Ut.info("Extract",a),a.forEach(f=>{switch(f.stmt){case UY:LT(f.id.trim(),f.type,f.doc,f.description,f.note,f.classes,f.styles,f.textStyles);break;case Igt:djt(f.state1,f.state2,f.description);break;case BGe:gjt(f.id.trim(),f.classes);break;case RGe:Bgt(f.id.trim(),f.styleClass);break}})},LT=function(i,a=KF,f=null,p=null,w=null,m=null,b=null,E=null){const _=i==null?void 0:i.trim();S0.states[_]===void 0?(Ut.info("Adding state ",_,p),S0.states[_]={id:_,descriptions:[],type:a,doc:f,note:w,classes:[],styles:[],textStyles:[]}):(S0.states[_].doc||(S0.states[_].doc=f),S0.states[_].type||(S0.states[_].type=a)),p&&(Ut.info("Setting state description",_,p),typeof p=="string"&&Ngt(_,p.trim()),typeof p=="object"&&p.forEach(A=>Ngt(_,A.trim()))),w&&(S0.states[_].note=w,S0.states[_].note.text=Kr.sanitizeText(S0.states[_].note.text,Oe())),m&&(Ut.info("Setting state classes",_,m),(typeof m=="string"?[m]:m).forEach(I=>Bgt(_,I.trim()))),b&&(Ut.info("Setting state styles",_,b),(typeof b=="string"?[b]:b).forEach(I=>nUe(_,I.trim()))),E&&(Ut.info("Setting state styles",_,b),(typeof E=="string"?[E]:E).forEach(I=>rUe(_,I.trim())))},fjt=function(i){YY={root:ljt()},S0=YY.root,QF=0,XF=cjt(),i||hg()},ZF=function(i){return S0.states[i]},WGe=function(){return S0.states},YGe=function(){Ut.info("Documents = ",YY)},KGe=function(){return S0.relations};function Pgt(i=""){let a=i;return i===Ogt&&(QF++,a=`${rjt}${QF}`),a}function Fgt(i="",a=KF){return i===Ogt?rjt:a}function XGe(i=""){let a=i;return i===ijt&&(QF++,a=`${sjt}${QF}`),a}function QGe(i="",a=KF){return i===ijt?sjt:a}function ZGe(i,a,f){let p=Pgt(i.id.trim()),w=Fgt(i.id.trim(),i.type),m=Pgt(a.id.trim()),b=Fgt(a.id.trim(),a.type);LT(p,w,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),LT(m,b,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles),S0.relations.push({id1:p,id2:m,relationTitle:Kr.sanitizeText(f,Oe())})}const djt=function(i,a,f){if(typeof i=="object")ZGe(i,a,f);else{const p=Pgt(i.trim()),w=Fgt(i),m=XGe(a.trim()),b=QGe(a);LT(p,w),LT(m,b),S0.relations.push({id1:p,id2:m,title:Kr.sanitizeText(f,Oe())})}},Ngt=function(i,a){const f=S0.states[i],p=a.startsWith(":")?a.replace(":","").trim():a;f.descriptions.push(Kr.sanitizeText(p,Oe()))},JGe=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},tUe=()=>(hjt++,"divider-id-"+hjt),gjt=function(i,a=""){XF[i]===void 0&&(XF[i]={id:i,styles:[],textStyles:[]});const f=XF[i];a!=null&&a.split($Ge).forEach(p=>{const w=p.replace(/([^;]*);/,"$1").trim();if(p.match(ajt)){const b=w.replace(ojt,jGe).replace(ajt,ojt);f.textStyles.push(b)}f.styles.push(w)})},eUe=function(){return XF},Bgt=function(i,a){i.split(",").forEach(function(f){let p=ZF(f);if(p===void 0){const w=f.trim();LT(w),p=ZF(w)}p.classes.push(a)})},nUe=function(i,a){const f=ZF(i);f!==void 0&&f.textStyles.push(a)},rUe=function(i,a){const f=ZF(i);f!==void 0&&f.textStyles.push(a)},$5={getConfig:()=>Oe().state,addState:LT,clear:fjt,getState:ZF,getStates:WGe,getRelations:KGe,getClasses:eUe,getDirection:()=>ujt,addRelation:djt,getDividerId:tUe,setDirection:i=>{ujt=i},cleanupLabel:JGe,lineType:zGe,relationType:qGe,logDocuments:YGe,getRootDoc:VGe,setRootDoc:HGe,getRootDocV2:GGe,extract:UGe,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:fg,setAccTitle:E0,getAccDescription:gg,setAccDescription:dg,addStyleClass:gjt,setCssClass:Bgt,addDescription:Ngt,setDiagramTitle:Nb,getDiagramTitle:pg},pjt=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,Rgt={},iUe=(i,a)=>{Rgt[i]=a},sUe=i=>Rgt[i],bjt=()=>Object.keys(Rgt),aUe={get:sUe,set:iUe,keys:bjt,size:()=>bjt().length},oUe=i=>i.append("circle").attr("class","start-state").attr("r",Oe().state.sizeUnit).attr("cx",Oe().state.padding+Oe().state.sizeUnit).attr("cy",Oe().state.padding+Oe().state.sizeUnit),cUe=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Oe().state.textHeight).attr("class","divider").attr("x2",Oe().state.textHeight*2).attr("y1",0).attr("y2",0),uUe=(i,a)=>{const f=i.append("text").attr("x",2*Oe().state.padding).attr("y",Oe().state.textHeight+2*Oe().state.padding).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.id),p=f.node().getBBox();return i.insert("rect",":first-child").attr("x",Oe().state.padding).attr("y",Oe().state.padding).attr("width",p.width+2*Oe().state.padding).attr("height",p.height+2*Oe().state.padding).attr("rx",Oe().state.radius),f},lUe=(i,a)=>{const f=function(N,R,z){const W=N.append("tspan").attr("x",2*Oe().state.padding).text(R);z||W.attr("dy",Oe().state.textHeight)},w=i.append("text").attr("x",2*Oe().state.padding).attr("y",Oe().state.textHeight+1.3*Oe().state.padding).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),m=w.height,b=i.append("text").attr("x",Oe().state.padding).attr("y",m+Oe().state.padding*.4+Oe().state.dividerMargin+Oe().state.textHeight).attr("class","state-description");let E=!0,_=!0;a.descriptions.forEach(function(N){E||(f(b,N,_),_=!1),E=!1});const A=i.append("line").attr("x1",Oe().state.padding).attr("y1",Oe().state.padding+m+Oe().state.dividerMargin/2).attr("y2",Oe().state.padding+m+Oe().state.dividerMargin/2).attr("class","descr-divider"),I=b.node().getBBox(),B=Math.max(I.width,w.width);return A.attr("x2",B+3*Oe().state.padding),i.insert("rect",":first-child").attr("x",Oe().state.padding).attr("y",Oe().state.padding).attr("width",B+2*Oe().state.padding).attr("height",I.height+m+2*Oe().state.padding).attr("rx",Oe().state.radius),i},hUe=(i,a,f)=>{const p=Oe().state.padding,w=2*Oe().state.padding,m=i.node().getBBox(),b=m.width,E=m.x,_=i.append("text").attr("x",0).attr("y",Oe().state.titleShift).attr("font-size",Oe().state.fontSize).attr("class","state-title").text(a.id),I=_.node().getBBox().width+w;let B=Math.max(I,b);B===b&&(B=B+w);let N;const R=i.node().getBBox();a.doc,N=E-p,I>b&&(N=(b-B)/2+p),Math.abs(E-R.x)b&&(N=E-(I-b)/2);const z=1-Oe().state.textHeight;return i.insert("rect",":first-child").attr("x",N).attr("y",z).attr("class",f?"alt-composit":"composit").attr("width",B).attr("height",R.height+Oe().state.textHeight+Oe().state.titleShift+1).attr("rx","0"),_.attr("x",N+p),I<=b&&_.attr("x",E+(B-w)/2-I/2+p),i.insert("rect",":first-child").attr("x",N).attr("y",Oe().state.titleShift-Oe().state.textHeight-Oe().state.padding).attr("width",B).attr("height",Oe().state.textHeight*3).attr("rx",Oe().state.radius),i.insert("rect",":first-child").attr("x",N).attr("y",Oe().state.titleShift-Oe().state.textHeight-Oe().state.padding).attr("width",B).attr("height",R.height+3+2*Oe().state.textHeight).attr("rx",Oe().state.radius),i},fUe=i=>(i.append("circle").attr("class","end-state-outer").attr("r",Oe().state.sizeUnit+Oe().state.miniPadding).attr("cx",Oe().state.padding+Oe().state.sizeUnit+Oe().state.miniPadding).attr("cy",Oe().state.padding+Oe().state.sizeUnit+Oe().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",Oe().state.sizeUnit).attr("cx",Oe().state.padding+Oe().state.sizeUnit+2).attr("cy",Oe().state.padding+Oe().state.sizeUnit+2)),dUe=(i,a)=>{let f=Oe().state.forkWidth,p=Oe().state.forkHeight;if(a.parentId){let w=f;f=p,p=w}return i.append("rect").style("stroke","black").style("fill","black").attr("width",f).attr("height",p).attr("x",Oe().state.padding).attr("y",Oe().state.padding)},gUe=(i,a,f,p)=>{let w=0;const m=p.append("text");m.style("text-anchor","start"),m.attr("class","noteText");let b=i.replace(/\r\n/g,"
    ");b=b.replace(/\n/g,"
    ");const E=b.split(Kr.lineBreakRegex);let _=1.25*Oe().state.noteMargin;for(const A of E){const I=A.trim();if(I.length>0){const B=m.append("tspan");if(B.text(I),_===0){const N=B.node().getBBox();_+=N.height}w+=_,B.attr("x",a+Oe().state.noteMargin),B.attr("y",f+w+1.25*Oe().state.noteMargin)}}return{textWidth:m.node().getBBox().width,textHeight:w}},pUe=(i,a)=>{a.attr("class","state-note");const f=a.append("rect").attr("x",0).attr("y",Oe().state.padding),p=a.append("g"),{textWidth:w,textHeight:m}=gUe(i,0,0,p);return f.attr("height",m+2*Oe().state.noteMargin),f.attr("width",w+Oe().state.noteMargin*2),f},wjt=function(i,a){const f=a.id,p={id:f,label:a.id,width:0,height:0},w=i.append("g").attr("id",f).attr("class","stateGroup");a.type==="start"&&oUe(w),a.type==="end"&&fUe(w),(a.type==="fork"||a.type==="join")&&dUe(w,a),a.type==="note"&&pUe(a.note.text,w),a.type==="divider"&&cUe(w),a.type==="default"&&a.descriptions.length===0&&uUe(w,a),a.type==="default"&&a.descriptions.length>0&&lUe(w,a);const m=w.node().getBBox();return p.width=m.width+2*Oe().state.padding,p.height=m.height+2*Oe().state.padding,aUe.set(f,p),p};let vjt=0;const bUe=function(i,a,f){const p=function(_){switch(_){case $5.relationType.AGGREGATION:return"aggregation";case $5.relationType.EXTENSION:return"extension";case $5.relationType.COMPOSITION:return"composition";case $5.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(_=>!Number.isNaN(_.y));const w=a.points,m=E5().x(function(_){return _.x}).y(function(_){return _.y}).curve(HP),b=i.append("path").attr("d",m(w)).attr("id","edge"+vjt).attr("class","transition");let E="";if(Oe().state.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),b.attr("marker-end","url("+E+"#"+p($5.relationType.DEPENDENCY)+"End)"),f.title!==void 0){const _=i.append("g").attr("class","stateLabel"),{x:A,y:I}=$a.calcLabelPosition(a.points),B=Kr.getRows(f.title);let N=0;const R=[];let z=0,W=0;for(let at=0;at<=B.length;at++){const bt=_.append("text").attr("text-anchor","middle").text(B[at]).attr("x",A).attr("y",I+N),mt=bt.node().getBBox();z=Math.max(z,mt.width),W=Math.min(W,mt.x),Ut.info(mt.x,A,I+N),N===0&&(N=bt.node().getBBox().height,Ut.info("Title height",N,I)),R.push(bt)}let et=N*B.length;if(B.length>1){const at=(B.length-1)*N*.5;R.forEach((bt,mt)=>bt.attr("y",I+mt*N-at)),et=N*B.length}const st=_.node().getBBox();_.insert("rect",":first-child").attr("class","box").attr("x",A-z/2-Oe().state.padding/2).attr("y",I-et/2-Oe().state.padding/2-3.5).attr("width",z+Oe().state.padding).attr("height",et+Oe().state.padding),Ut.info(st)}vjt++};let qb;const jgt={},wUe=function(){},vUe=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},mUe=function(i,a,f,p){qb=Oe().state;const w=Oe().securityLevel;let m;w==="sandbox"&&(m=yr("#i"+a));const b=yr(w==="sandbox"?m.nodes()[0].contentDocument.body:"body"),E=w==="sandbox"?m.nodes()[0].contentDocument:document;Ut.debug("Rendering diagram "+i);const _=b.select(`[id='${a}']`);vUe(_);const A=p.db.getRootDoc();mjt(A,_,void 0,!1,b,E,p);const I=qb.padding,B=_.node().getBBox(),N=B.width+I*2,R=B.height+I*2,z=N*1.75;k0(_,R,z,qb.useMaxWidth),_.attr("viewBox",`${B.x-qb.padding} ${B.y-qb.padding} `+N+" "+R)},yUe=i=>i?i.length*qb.fontSizeFactor:1,mjt=(i,a,f,p,w,m,b)=>{const E=new c1({compound:!0,multigraph:!0});let _,A=!0;for(_=0;_{const mt=bt.parentElement;let yt=0,ft=0;mt&&(mt.parentElement&&(yt=mt.parentElement.getBBox().width),ft=parseInt(mt.getAttribute("data-x-shift"),10),Number.isNaN(ft)&&(ft=0)),bt.setAttribute("x1",0-ft+8),bt.setAttribute("x2",yt-ft-8)})):Ut.debug("No Node "+st+": "+JSON.stringify(E.node(st)))});let W=z.getBBox();E.edges().forEach(function(st){st!==void 0&&E.edge(st)!==void 0&&(Ut.debug("Edge "+st.v+" -> "+st.w+": "+JSON.stringify(E.edge(st))),bUe(a,E.edge(st),E.edge(st).relation))}),W=z.getBBox();const et={id:f||"root",label:f||"root",width:0,height:0};return et.width=W.width+2*qb.padding,et.height=W.height+2*qb.padding,Ut.debug("Doc rendered",et,E),et},xUe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ejt,db:$5,renderer:{setConf:wUe,draw:mUe},styles:pjt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$5.clear()}}},Symbol.toStringTag,{value:"Module"})),QY="rect",$gt="rectWithTitle",kUe="start",EUe="end",TUe="divider",CUe="roundedWithTitle",_Ue="note",SUe="noteGroup",vL="statediagram",AUe=`${vL}-state`,yjt="transition",LUe="note",MUe=`${yjt} note-edge`,DUe=`${vL}-${LUe}`,IUe=`${vL}-cluster`,OUe=`${vL}-cluster-alt`,xjt="parent",kjt="note",PUe="state",zgt="----",FUe=`${zgt}${kjt}`,Ejt=`${zgt}${xjt}`,Tjt="fill:none",Cjt="fill: #333",_jt="c",Sjt="text",Ajt="normal";let ZY={},kk=0;const NUe=function(i){const a=Object.keys(i);for(const f of a)i[f]},BUe=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function RUe(i){return i==null?"":i.classes?i.classes.join(" "):""}function qgt(i="",a=0,f="",p=zgt){const w=f!==null&&f.length>0?`${p}${f}`:"";return`${PUe}-${i}${w}-${a}`}const JF=(i,a,f,p,w,m)=>{const b=f.id,E=RUe(p[b]);if(b!=="root"){let _=QY;f.start===!0&&(_=kUe),f.start===!1&&(_=EUe),f.type!==KF&&(_=f.type),ZY[b]||(ZY[b]={id:b,shape:_,description:Kr.sanitizeText(b,Oe()),classes:`${E} ${AUe}`});const A=ZY[b];f.description&&(Array.isArray(A.description)?(A.shape=$gt,A.description.push(f.description)):A.description.length>0?(A.shape=$gt,A.description===b?A.description=[f.description]:A.description=[A.description,f.description]):(A.shape=QY,A.description=f.description),A.description=Kr.sanitizeTextOrArray(A.description,Oe())),A.description.length===1&&A.shape===$gt&&(A.shape=QY),!A.type&&f.doc&&(Ut.info("Setting cluster for ",b,Hgt(f)),A.type="group",A.dir=Hgt(f),A.shape=f.type===njt?TUe:CUe,A.classes=A.classes+" "+IUe+" "+(m?OUe:""));const I={labelStyle:"",shape:A.shape,labelText:A.description,classes:A.classes,style:"",id:b,dir:A.dir,domId:qgt(b,kk),type:A.type,padding:15};if(I.centerLabel=!0,f.note){const B={labelStyle:"",shape:_Ue,labelText:f.note.text,classes:DUe,style:"",id:b+FUe+"-"+kk,domId:qgt(b,kk,kjt),type:A.type,padding:15},N={labelStyle:"",shape:SUe,labelText:f.note.text,classes:A.classes,style:"",id:b+Ejt,domId:qgt(b,kk,xjt),type:"group",padding:0};kk++;const R=b+Ejt;i.setNode(R,N),i.setNode(B.id,B),i.setNode(b,I),i.setParent(b,R),i.setParent(B.id,R);let z=b,W=B.id;f.note.position==="left of"&&(z=B.id,W=b),i.setEdge(z,W,{arrowhead:"none",arrowType:"",style:Tjt,labelStyle:"",classes:MUe,arrowheadStyle:Cjt,labelpos:_jt,labelType:Sjt,thickness:Ajt})}else i.setNode(b,I)}a&&a.id!=="root"&&(Ut.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),f.doc&&(Ut.trace("Adding nodes children "),jUe(i,f,f.doc,p,w,!m))},jUe=(i,a,f,p,w,m)=>{Ut.trace("items",f),f.forEach(b=>{switch(b.stmt){case UY:JF(i,a,b,p,w,m);break;case KF:JF(i,a,b,p,w,m);break;case Igt:{JF(i,a,b.state1,p,w,m),JF(i,a,b.state2,p,w,m);const E={id:"edge"+kk,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:Tjt,labelStyle:"",label:Kr.sanitizeText(b.description,Oe()),arrowheadStyle:Cjt,labelpos:_jt,labelType:Sjt,thickness:Ajt,classes:yjt};i.setEdge(b.state1.id,b.state2.id,E,kk),kk++}break}})},Hgt=(i,a=NGe)=>{let f=a;if(i.doc)for(let p=0;p{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,$5.clear()}}},Symbol.toStringTag,{value:"Module"}));var Vgt=function(){var i=function(B,N,R,z){for(R=R||{},z=B.length;z--;R[B[z]]=N);return R},a=[6,8,10,11,12,14,16,17,18],f=[1,9],p=[1,10],w=[1,11],m=[1,12],b=[1,13],E=[1,14],_={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(N,R,z,W,et,st,at){var bt=st.length-1;switch(et){case 1:return st[bt-1];case 2:this.$=[];break;case 3:st[bt-1].push(st[bt]),this.$=st[bt-1];break;case 4:case 5:this.$=st[bt];break;case 6:case 7:this.$=[];break;case 8:W.setDiagramTitle(st[bt].substr(6)),this.$=st[bt].substr(6);break;case 9:this.$=st[bt].trim(),W.setAccTitle(this.$);break;case 10:case 11:this.$=st[bt].trim(),W.setAccDescription(this.$);break;case 12:W.addSection(st[bt].substr(8)),this.$=st[bt].substr(8);break;case 13:W.addTask(st[bt-1],st[bt]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:p,14:w,16:m,17:b,18:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:f,12:p,14:w,16:m,17:b,18:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(N,R){if(R.recoverable)this.trace(N);else{var z=new Error(N);throw z.hash=R,z}},parse:function(N){var R=this,z=[0],W=[],et=[null],st=[],at=this.table,bt="",mt=0,yt=0,ft=2,ut=1,vt=st.slice.call(arguments,1),X=Object.create(this.lexer),pt={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(pt.yy[U]=this.yy[U]);X.setInput(N,pt.yy),pt.yy.lexer=X,pt.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var Tt=X.yylloc;st.push(Tt);var nt=X.options&&X.options.ranges;typeof pt.yy.parseError=="function"?this.parseError=pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function It(){var Se;return Se=W.pop()||X.lex()||ut,typeof Se!="number"&&(Se instanceof Array&&(W=Se,Se=W.pop()),Se=R.symbols_[Se]||Se),Se}for(var Ot,Bt,Et,Z,Ct={},xt,Ht,Le,Ft;;){if(Bt=z[z.length-1],this.defaultActions[Bt]?Et=this.defaultActions[Bt]:((Ot===null||typeof Ot>"u")&&(Ot=It()),Et=at[Bt]&&at[Bt][Ot]),typeof Et>"u"||!Et.length||!Et[0]){var gn="";Ft=[];for(xt in at[Bt])this.terminals_[xt]&&xt>ft&&Ft.push("'"+this.terminals_[xt]+"'");X.showPosition?gn="Parse error on line "+(mt+1)+`: +`+X.showPosition()+` +Expecting `+Ft.join(", ")+", got '"+(this.terminals_[Ot]||Ot)+"'":gn="Parse error on line "+(mt+1)+": Unexpected "+(Ot==ut?"end of input":"'"+(this.terminals_[Ot]||Ot)+"'"),this.parseError(gn,{text:X.match,token:this.terminals_[Ot]||Ot,line:X.yylineno,loc:Tt,expected:Ft})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bt+", token: "+Ot);switch(Et[0]){case 1:z.push(Ot),et.push(X.yytext),st.push(X.yylloc),z.push(Et[1]),Ot=null,yt=X.yyleng,bt=X.yytext,mt=X.yylineno,Tt=X.yylloc;break;case 2:if(Ht=this.productions_[Et[1]][1],Ct.$=et[et.length-Ht],Ct._$={first_line:st[st.length-(Ht||1)].first_line,last_line:st[st.length-1].last_line,first_column:st[st.length-(Ht||1)].first_column,last_column:st[st.length-1].last_column},nt&&(Ct._$.range=[st[st.length-(Ht||1)].range[0],st[st.length-1].range[1]]),Z=this.performAction.apply(Ct,[bt,yt,mt,pt.yy,Et[1],et,st].concat(vt)),typeof Z<"u")return Z;Ht&&(z=z.slice(0,-1*Ht*2),et=et.slice(0,-1*Ht),st=st.slice(0,-1*Ht)),z.push(this.productions_[Et[1]][0]),et.push(Ct.$),st.push(Ct._$),Le=at[z[z.length-2]][z[z.length-1]],z.push(Le);break;case 3:return!0}}return!0}},A=function(){var B={EOF:1,parseError:function(R,z){if(this.yy.parser)this.yy.parser.parseError(R,z);else throw new Error(R)},setInput:function(N,R){return this.yy=R||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var R=N.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},unput:function(N){var R=N.length,z=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.length-1);var et=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:z?(z.length===W.length?this.yylloc.first_column:0)+W[W.length-z.length].length-z[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[et[0],et[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(N){this.unput(this.match.slice(N))},pastInput:function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var N=this.pastInput(),R=new Array(N.length+1).join("-");return N+this.upcomingInput()+` +`+R+"^"},test_match:function(N,R){var z,W,et;if(this.options.backtrack_lexer&&(et={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(et.yylloc.range=this.yylloc.range.slice(0))),W=N[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],z=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var st in et)this[st]=et[st];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,R,z,W;this._more||(this.yytext="",this.match="");for(var et=this._currentRules(),st=0;stR[0].length)){if(R=z,W=st,this.options.backtrack_lexer){if(N=this.test_match(z,et[st]),N!==!1)return N;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(N=this.test_match(R,et[W]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var R=this.next();return R||this.lex()},begin:function(R){this.conditionStack.push(R)},popState:function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},pushState:function(R){this.begin(R)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(R,z,W,et){switch(W){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return B}();_.lexer=A;function I(){this.yy={}}return I.prototype=_,_.Parser=I,new I}();Vgt.parser=Vgt;const zUe=Vgt;let mL="";const Ggt=[],tN=[],eN=[],qUe=function(){Ggt.length=0,tN.length=0,mL="",eN.length=0,hg()},HUe=function(i){mL=i,Ggt.push(i)},VUe=function(){return Ggt},GUe=function(){let i=Ljt();const a=100;let f=0;for(;!i&&f{f.people&&i.push(...f.people)}),[...new Set(i)].sort()},WUe=function(i,a){const f=a.substr(1).split(":");let p=0,w=[];f.length===1?(p=Number(f[0]),w=[]):(p=Number(f[0]),w=f[1].split(","));const m=w.map(E=>E.trim()),b={section:mL,type:mL,people:m,task:i,score:p};eN.push(b)},YUe=function(i){const a={section:mL,type:mL,description:i,task:i,classes:[]};tN.push(a)},Ljt=function(){const i=function(f){return eN[f].processed};let a=!0;for(const[f,p]of eN.entries())i(f),a=a&&p.processed;return a},Mjt={getConfig:()=>Oe().journey,clear:qUe,setDiagramTitle:Nb,getDiagramTitle:pg,setAccTitle:E0,getAccTitle:fg,setAccDescription:dg,getAccDescription:gg,addSection:HUe,getSections:VUe,getTasks:GUe,addTask:WUe,addTaskOrg:YUe,getActors:function(){return UUe()}},KUe=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,Ugt=function(i,a){return JW(i,a)},XUe=function(i,a){const p=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function m(_){const A=OA().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const A=OA().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?m(w):a.score<3?b(w):E(w),p},Djt=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},Ijt=function(i,a){return RDe(i,a)},QUe=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");p.attr("points",f(a.x,a.y,50,20,7)),p.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,Ijt(i,a)},ZUe=function(i,a,f){const p=i.append("g"),w=bT();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width*a.taskCount+f.diagramMarginX*(a.taskCount-1),w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,Ugt(p,w),Pjt(f)(a.text,p,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let Ojt=-1;const JUe=function(i,a,f){const p=a.x+f.width/2,w=i.append("g");Ojt++;const m=300+5*30;w.append("line").attr("id","task"+Ojt).attr("x1",p).attr("y1",a.y).attr("x2",p).attr("y2",m).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),XUe(w,{cx:p,cy:300+(5-a.score)*30,score:a.score});const b=bT();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,Ugt(w,b);let E=a.x+14;a.people.forEach(_=>{const A=a.actors[_].color,I={cx:E,cy:a.y,r:7,fill:A,stroke:"#000",title:_,pos:a.actors[_].position};Djt(w,I),E+=10}),Pjt(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},tWe=function(i,a){mPt(i,a)},Pjt=function(){function i(w,m,b,E,_,A,I,B){const N=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("font-color",B).style("text-anchor","middle").text(w);p(N,I)}function a(w,m,b,E,_,A,I,B,N){const{taskFontSize:R,taskFontFamily:z}=B,W=w.split(//gi);for(let et=0;et{const w=z5[p].color,m={cx:20,cy:f,r:7,fill:w,stroke:"#000",pos:z5[p].position};nN.drawCircle(i,m);const b={x:40,y:f+7,fill:"#666",text:p,textMargin:a.boxTextMargin|5};nN.drawText(i,b),f+=20})}const JY=Oe().journey,MT=JY.leftMargin,rWe=function(i,a,f,p){const w=Oe().journey,m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const E=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body");aw.init();const _=E.select("#"+a);nN.initGraphics(_);const A=p.db.getTasks(),I=p.db.getDiagramTitle(),B=p.db.getActors();for(const st in z5)delete z5[st];let N=0;B.forEach(st=>{z5[st]={color:w.actorColours[N%w.actorColours.length],position:N},N++}),nWe(_),aw.insert(0,0,MT,Object.keys(z5).length*50),iWe(_,A,0);const R=aw.getBounds();I&&_.append("text").text(I).attr("x",MT).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const z=R.stopy-R.starty+2*w.diagramMarginY,W=MT+R.stopx+2*w.diagramMarginX;k0(_,z,W,w.useMaxWidth),_.append("line").attr("x1",MT).attr("y1",w.height*4).attr("x2",W-MT-4).attr("y2",w.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const et=I?70:0;_.attr("viewBox",`${R.startx} -25 ${W} ${z+et}`),_.attr("preserveAspectRatio","xMinYMin meet"),_.attr("height",z+et+25)},aw={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,a,f,p){i[a]===void 0?i[a]=f:i[a]=p(f,i[a])},updateBounds:function(i,a,f,p){const w=Oe().journey,m=this;let b=0;function E(_){return function(I){b++;const B=m.sequenceItems.length-b+1;m.updateVal(I,"starty",a-B*w.boxMargin,Math.min),m.updateVal(I,"stopy",p+B*w.boxMargin,Math.max),m.updateVal(aw.data,"startx",i-B*w.boxMargin,Math.min),m.updateVal(aw.data,"stopx",f+B*w.boxMargin,Math.max),_!=="activation"&&(m.updateVal(I,"startx",i-B*w.boxMargin,Math.min),m.updateVal(I,"stopx",f+B*w.boxMargin,Math.max),m.updateVal(aw.data,"starty",a-B*w.boxMargin,Math.min),m.updateVal(aw.data,"stopy",p+B*w.boxMargin,Math.max))}}this.sequenceItems.forEach(E())},insert:function(i,a,f,p){const w=Math.min(i,f),m=Math.max(i,f),b=Math.min(a,p),E=Math.max(a,p);this.updateVal(aw.data,"startx",w,Math.min),this.updateVal(aw.data,"starty",b,Math.min),this.updateVal(aw.data,"stopx",m,Math.max),this.updateVal(aw.data,"stopy",E,Math.max),this.updateBounds(w,b,m,E)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Wgt=JY.sectionFills,Fjt=JY.sectionColours,iWe=function(i,a,f){const p=Oe().journey;let w="";const m=p.height*2+p.diagramMarginY,b=f+m;let E=0,_="#CCC",A="black",I=0;for(const[B,N]of a.entries()){if(w!==N.section){_=Wgt[E%Wgt.length],I=E%Wgt.length,A=Fjt[E%Fjt.length];let z=0;const W=N.section;for(let st=B;st(z5[W]&&(z[W]=z5[W]),z),{});N.x=B*p.taskMargin+B*p.width+MT,N.y=b,N.width=p.diagramMarginX,N.height=p.diagramMarginY,N.colour=A,N.fill=_,N.num=I,N.actors=R,nN.drawTask(i,N,p),aw.insert(N.x,N.y,N.x+N.width+p.taskMargin,300+5*30)}},Njt={setConf:eWe,draw:rWe},sWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zUe,db:Mjt,renderer:Njt,styles:KUe,init:i=>{Njt.setConf(i.journey),Mjt.clear()}}},Symbol.toStringTag,{value:"Module"})),aWe=(i,a,f)=>{const{parentById:p}=f,w=new Set;let m=i;for(;m;){if(w.add(m),m===a)return m;m=p[m]}for(m=a;m;){if(w.has(m))return m;m=p[m]}return"root"};function tK(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Bjt={exports:{}};(function(i,a){(function(f){i.exports=f()})(function(){return function(){function f(p,w,m){function b(A,I){if(!w[A]){if(!p[A]){var B=typeof tK=="function"&&tK;if(!I&&B)return B(A,!0);if(E)return E(A,!0);var N=new Error("Cannot find module '"+A+"'");throw N.code="MODULE_NOT_FOUND",N}var R=w[A]={exports:{}};p[A][0].call(R.exports,function(z){var W=p[A][1][z];return b(W||z)},R,R.exports,f,p,w,m)}return w[A].exports}for(var E=typeof tK=="function"&&tK,_=0;_0&&arguments[0]!==void 0?arguments[0]:{},N=B.defaultLayoutOptions,R=N===void 0?{}:N,z=B.algorithms,W=z===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:z,et=B.workerFactory,st=B.workerUrl;if(b(this,A),this.defaultLayoutOptions=R,this.initialized=!1,typeof st>"u"&&typeof et>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var at=et;typeof st<"u"&&typeof et>"u"&&(at=function(yt){return new Worker(yt)});var bt=at(st);if(typeof bt.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new _(bt),this.worker.postMessage({cmd:"register",algorithms:W}).then(function(mt){return I.initialized=!0}).catch(console.err)}return m(A,[{key:"layout",value:function(B){var N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},R=N.layoutOptions,z=R===void 0?this.defaultLayoutOptions:R,W=N.logging,et=W===void 0?!1:W,st=N.measureExecutionTime,at=st===void 0?!1:st;return B?this.worker.postMessage({cmd:"layout",graph:B,layoutOptions:z,options:{logging:et,measureExecutionTime:at}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),A}();w.default=E;var _=function(){function A(I){var B=this;if(b(this,A),I===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=I,this.worker.onmessage=function(N){setTimeout(function(){B.receive(B,N)},0)}}return m(A,[{key:"postMessage",value:function(B){var N=this.id||0;this.id=N+1,B.id=N;var R=this;return new Promise(function(z,W){R.resolvers[N]=function(et,st){et?(R.convertGwtStyleError(et),W(et)):z(st)},R.worker.postMessage(B)})}},{key:"receive",value:function(B,N){var R=N.data,z=B.resolvers[R.id];z&&(delete B.resolvers[R.id],R.error?z(R.error):z(null,R.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(B){if(B){var N=B.__java$exception;N&&(N.cause&&N.cause.backingJsObject&&(B.cause=N.cause.backingJsObject,this.convertGwtStyleError(B.cause)),delete B.__java$exception)}}}]),A}()},{}],2:[function(f,p,w){(function(m){(function(){var b;typeof window<"u"?b=window:typeof m<"u"?b=m:typeof self<"u"&&(b=self);var E;function _(){}function A(){}function I(){}function B(){}function N(){}function R(){}function z(){}function W(){}function et(){}function st(){}function at(){}function bt(){}function mt(){}function yt(){}function ft(){}function ut(){}function vt(){}function X(){}function pt(){}function U(){}function Tt(){}function nt(){}function It(){}function Ot(){}function Bt(){}function Et(){}function Z(){}function Ct(){}function xt(){}function Ht(){}function Le(){}function Ft(){}function gn(){}function Se(){}function me(){}function Ve(){}function Ye(){}function ce(){}function ke(){}function zt(){}function re(){}function se(){}function Pe(){}function te(){}function Me(){}function de(){}function on(){}function ni(){}function Ks(){}function ws(){}function fo(){}function Xi(){}function Er(){}function Xn(){}function di(){}function Ee(){}function Kn(){}function He(){}function Ti(){}function pn(){}function Es(){}function qa(){}function Ma(){}function Gs(){}function Po(){}function vs(){}function ru(){}function zs(){}function Du(){}function pm(){}function uw(){}function Wu(){}function th(){}function Fa(){}function Ml(){}function ha(){}function bc(){}function Cc(){}function pa(){}function Da(){}function Ha(){}function Dl(){}function _c(){}function lw(){}function eh(){}function ed(){}function jd(){}function nd(){}function $d(){}function A0(){}function Bi(){}function cn(){}function kr(){}function Ei(){}function Jo(){}function wc(){}function rf(){}function Oc(){}function sf(){}function af(){}function Qi(){}function Ts(){}function ka(){}function xi(){}function Yc(){}function Ce(){}function vp(){}function Be(){}function Bf(){}function yg(){}function bm(){}function Ek(){}function E3(){}function Il(){}function L0(){}function hw(){}function H5(){}function Hb(){}function V5(){}function f1(){}function rd(){}function id(){}function G5(){}function fw(){}function U5(){}function mp(){}function W5(){}function T3(){}function wm(){}function xg(){}function EL(){}function vl(){}function iN(){}function Sc(){}function cK(){}function Vb(){}function uK(){}function PT(){}function lK(){}function sN(){}function Rf(){}function vm(){}function TL(){}function aN(){}function yp(){}function mm(){}function hK(){}function Gb(){}function fK(){}function dK(){}function Y5(){}function FT(){}function oN(){}function Tk(){}function gK(){}function Ck(){}function pK(){}function bK(){}function wK(){}function vK(){}function mK(){}function yK(){}function xK(){}function kK(){}function EK(){}function TK(){}function CK(){}function CL(){}function _K(){}function SK(){}function NT(){}function cN(){}function K5(){}function AK(){}function LK(){}function MK(){}function DK(){}function IK(){}function BT(){}function _L(){}function uN(){}function C3(){}function _3(){}function OK(){}function of(){}function X5(){}function PK(){}function _k(){}function zd(){}function FK(){}function NK(){}function BK(){}function RK(){}function RT(){}function SL(){}function lN(){}function AL(){}function Q5(){}function jK(){}function hN(){}function fN(){}function $K(){}function zK(){}function qK(){}function HK(){}function VK(){}function GK(){}function qd(){}function dw(){}function UK(){}function dN(){}function gN(){}function WK(){}function S3(){}function Sk(){}function LL(){}function ym(){}function Ak(){}function YK(){}function jT(){}function sd(){}function pN(){}function ML(){}function Lk(){}function DL(){}function bN(){}function KK(){}function IL(){}function XK(){}function QK(){}function wN(){}function Z5(){}function vN(){}function J5(){}function ZK(){}function OL(){}function JK(){}function tX(){}function eX(){}function nX(){}function mN(){}function rX(){}function iX(){}function sX(){}function yN(){}function aX(){}function oX(){}function cX(){}function xN(){}function uX(){}function lX(){}function kN(){}function EN(){}function TN(){}function hX(){}function fX(){}function Mk(){}function tx(){}function $T(){}function dX(){}function PL(){}function zT(){}function FL(){}function CN(){}function _N(){}function gX(){}function pX(){}function bX(){}function SN(){}function AN(){}function wX(){}function vX(){}function mX(){}function yX(){}function xX(){}function LN(){}function kX(){}function EX(){}function TX(){}function CX(){}function MN(){}function qT(){}function _X(){}function SX(){}function DN(){}function AX(){}function LX(){}function MX(){}function DX(){}function IX(){}function OX(){}function IN(){}function PX(){}function ON(){}function FX(){}function NX(){}function BX(){}function HT(){}function RX(){}function VT(){}function jX(){}function PN(){}function FN(){}function NN(){}function BN(){}function gw(){}function RN(){}function jN(){}function $N(){}function zN(){}function $X(){}function ex(){}function GT(){}function A3(){}function zX(){}function qX(){}function UT(){}function HX(){}function VX(){}function GX(){}function UX(){}function WX(){}function YX(){}function KX(){}function XX(){}function QX(){}function ZX(){}function JX(){}function NL(){}function qN(){}function tQ(){}function eQ(){}function nQ(){}function HN(){}function rQ(){}function iQ(){}function sQ(){}function aQ(){}function oQ(){}function cQ(){}function VN(){}function GN(){}function uQ(){}function UN(){}function WN(){}function lQ(){}function hQ(){}function fQ(){}function BL(){}function dQ(){}function Dk(){}function gQ(){}function pQ(){}function bQ(){}function YN(){}function wQ(){}function vQ(){}function mQ(){}function yQ(){}function xQ(){}function kQ(){}function EQ(){}function TQ(){}function CQ(){}function _Q(){}function SQ(){}function AQ(){}function nx(){}function KN(){}function LQ(){}function MQ(){}function DQ(){}function XN(){}function IQ(){}function WT(){}function OQ(){}function PQ(){}function FQ(){}function NQ(){}function BQ(){}function RQ(){}function jQ(){}function $Q(){}function zQ(){}function qQ(){}function rx(){}function HQ(){}function VQ(){}function GQ(){}function UQ(){}function WQ(){}function YQ(){}function KQ(){}function XQ(){}function YT(){}function QQ(){}function ZQ(){}function JQ(){}function tZ(){}function eZ(){}function nZ(){}function rZ(){}function iZ(){}function ix(){}function QN(){}function sZ(){}function RL(){}function aZ(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hZ(){}function fZ(){}function ZN(){}function dZ(){}function JN(){}function gZ(){}function tB(){}function eB(){}function nB(){}function pZ(){}function bZ(){}function KT(){}function jL(){}function XT(){}function wZ(){}function vZ(){}function $L(){}function mZ(){}function yZ(){}function rB(){}function xZ(){}function kZ(){}function EZ(){}function TZ(){}function CZ(){}function _Z(){}function SZ(){}function AZ(){}function LZ(){}function MZ(){}function kg(){}function DZ(){}function xm(){}function iB(){}function IZ(){}function OZ(){}function PZ(){}function FZ(){}function NZ(){}function BZ(){}function RZ(){}function jZ(){}function $Z(){}function Ac(){}function zZ(){}function QT(){}function tc(){}function Kc(){}function zi(){}function zL(){}function qZ(){}function HZ(){}function VZ(){}function sx(){}function km(){}function Ue(){}function GZ(){}function UZ(){}function WZ(){}function YZ(){}function KZ(){}function sB(){}function XZ(){}function QZ(){}function qL(){}function ZZ(){}function Yu(){}function Iu(){}function JZ(){}function tJ(){}function eJ(){}function Em(){}function pw(){}function xp(){}function ad(){}function ax(){}function ZT(){}function Ik(){}function aB(){}function nJ(){}function Ok(){}function oB(){}function rJ(){}function JT(){}function ox(){}function cx(){}function kp(){}function cB(){}function Pk(){}function uB(){}function lB(){}function ux(){}function Ub(){}function M0(){}function Ep(){}function L3(){}function Fk(){}function tC(){}function hB(){}function iJ(){}function fB(){}function dB(){}function gB(){}function Nk(){}function pB(){}function bB(){}function sJ(){}function Bk(){}function Rk(){}function Tm(){}function HL(){}function aJ(){}function oJ(){}function cJ(){}function uJ(){}function lJ(){}function hJ(){}function fJ(){}function dJ(){}function wB(){}function gJ(){}function pJ(){}function bJ(){}function vB(){}function jk(){}function eC(){}function mB(){}function wJ(){}function yB(){}function xB(){}function vJ(){}function nC(){}function Cm(){}function kB(){}function EB(){}function mJ(){}function yJ(){}function rC(){}function TB(){}function CB(){}function uc(){}function xJ(){}function _B(){}function iC(){}function kJ(){}function EJ(){}function sC(){}function SB(){}function aC(){}function oC(){}function jf(){}function VL(){}function GL(){}function lx(){}function TJ(){}function CJ(){}function _J(){}function SJ(){}function _m(){}function AB(){}function hx(){}function d1(){}function LB(){}function MB(){}function DB(){}function IB(){}function OB(){}function PB(){}function $f(){}function du(){}function AJ(){}function LJ(){}function MJ(){}function gu(){}function cC(){}function FB(){}function NB(){}function fx(){}function DJ(){}function $k(){}function IJ(){}function BB(){}function OJ(){}function PJ(){}function uC(){}function RB(){}function UL(){}function lC(){}function FJ(){}function NJ(){}function WL(){}function hC(){}function g1(){}function zk(){}function BJ(){}function qk(){}function YL(){}function Wb(){}function fC(){}function KL(){}function zf(){}function dC(){}function p1(){}function b1(){}function RJ(){}function jJ(){}function M3(){}function Hk(){}function Vk(){}function gC(){}function $J(){}function dx(){}function XL(){}function jB(){}function zJ(){}function pC(){PC()}function qJ(){Rit()}function $B(){o_()}function QL(){sq()}function HJ(){q4t()}function bC(){Jf()}function VJ(){J3t()}function GJ(){iI()}function UJ(){EM()}function WJ(){kM()}function YJ(){KM()}function zB(){BVt()}function KJ(){r6()}function XJ(){$R()}function QJ(){YJt()}function qB(){one()}function ZJ(){_te()}function JJ(){HQt()}function wC(){oE()}function ttt(){nb()}function ett(){cne()}function ntt(){NZt()}function rtt(){Fxt()}function itt(){Kse()}function stt(){VQt()}function HB(){Te()}function att(){qQt()}function VB(){une()}function ott(){fre()}function ZL(){UQt()}function ctt(){Dte()}function GB(){RVt()}function utt(){E5t()}function UB(){uy()}function ltt(){Nne()}function WB(){cI()}function YB(){dat()}function KB(){yst()}function JL(){gv()}function D3(){myt()}function vC(){GQt()}function od(){rle()}function XB(){y5t()}function Gk(){sat()}function tM(){V$()}function htt(){fq()}function Tp(){ui()}function QB(){Sz()}function ZB(){S3t()}function JB(){Dq()}function nh(){IYt()}function eM(){kit()}function tR(){oxt()}function Uk(t){On(t)}function mC(t){this.a=t}function Wk(t){this.a=t}function eR(t){this.a=t}function gx(t){this.a=t}function bw(t){this.a=t}function Yk(t){this.a=t}function nR(t){this.a=t}function ftt(t){this.a=t}function nM(t){this.a=t}function I3(t){this.a=t}function rM(t){this.a=t}function yC(t){this.a=t}function dtt(t){this.a=t}function xC(t){this.a=t}function kC(t){this.a=t}function px(t){this.a=t}function iM(t){this.a=t}function sM(t){this.a=t}function gtt(t){this.a=t}function ptt(t){this.a=t}function btt(t){this.a=t}function rR(t){this.b=t}function wtt(t){this.c=t}function vtt(t){this.a=t}function mtt(t){this.a=t}function ytt(t){this.a=t}function xtt(t){this.a=t}function ktt(t){this.a=t}function Ett(t){this.a=t}function Ttt(t){this.a=t}function Ctt(t){this.a=t}function bx(t){this.a=t}function _tt(t){this.a=t}function Kk(t){this.a=t}function Th(t){this.a=t}function Stt(t){this.a=t}function wx(t){this.a=t}function Xk(t){this.a=t}function EC(t){this.a=t}function Qk(t){this.a=t}function Eg(){this.a=[]}function Att(t,e){t.a=e}function cpt(t,e){t.a=e}function upt(t,e){t.b=e}function lpt(t,e){t.b=e}function hpt(t,e){t.b=e}function aM(t,e){t.j=e}function fpt(t,e){t.g=e}function dpt(t,e){t.i=e}function Ltt(t,e){t.c=e}function w1(t,e){t.d=e}function Mtt(t,e){t.d=e}function gpt(t,e){t.c=e}function D0(t,e){t.k=e}function Dtt(t,e){t.c=e}function iR(t,e){t.c=e}function sR(t,e){t.a=e}function Itt(t,e){t.a=e}function ppt(t,e){t.f=e}function bpt(t,e){t.a=e}function ww(t,e){t.b=e}function oM(t,e){t.d=e}function TC(t,e){t.i=e}function aR(t,e){t.o=e}function wpt(t,e){t.r=e}function vpt(t,e){t.a=e}function oR(t,e){t.b=e}function vw(t,e){t.e=e}function Ott(t,e){t.f=e}function CC(t,e){t.g=e}function vx(t,e){t.e=e}function mpt(t,e){t.f=e}function Zk(t,e){t.f=e}function Ptt(t,e){t.n=e}function Tg(t,e){t.a=e}function ypt(t,e){t.a=e}function O3(t,e){t.c=e}function Ftt(t,e){t.c=e}function Ntt(t,e){t.d=e}function cR(t,e){t.e=e}function uR(t,e){t.g=e}function Btt(t,e){t.a=e}function Jk(t,e){t.c=e}function _C(t,e){t.d=e}function xpt(t,e){t.e=e}function Rtt(t,e){t.f=e}function jtt(t,e){t.j=e}function $tt(t,e){t.a=e}function kpt(t,e){t.b=e}function vc(t,e){t.a=e}function lR(t){t.b=t.a}function ztt(t){t.c=t.d.d}function mx(t){this.d=t}function Cg(t){this.a=t}function Sm(t){this.a=t}function cM(t){this.a=t}function v1(t){this.a=t}function yx(t){this.a=t}function qtt(t){this.a=t}function hR(t){this.a=t}function P3(t){this.a=t}function uM(t){this.a=t}function Am(t){this.a=t}function fR(t){this.a=t}function m1(t){this.a=t}function y(t){this.a=t}function g(t){this.a=t}function x(t){this.b=t}function T(t){this.b=t}function L(t){this.b=t}function O(t){this.a=t}function P(t){this.a=t}function $(t){this.a=t}function q(t){this.c=t}function S(t){this.c=t}function V(t){this.c=t}function Y(t){this.a=t}function rt(t){this.a=t}function ot(t){this.a=t}function ht(t){this.a=t}function dt(t){this.a=t}function Lt(t){this.a=t}function kt(t){this.a=t}function Dt(t){this.a=t}function Pt(t){this.a=t}function $t(t){this.a=t}function Zt(t){this.a=t}function Yt(t){this.a=t}function qt(t){this.a=t}function ne(t){this.a=t}function Gt(t){this.a=t}function ge(t){this.a=t}function be(t){this.a=t}function ie(t){this.a=t}function Fe(t){this.a=t}function we(t){this.a=t}function bn(t){this.a=t}function ze(t){this.a=t}function Ge(t){this.a=t}function En(t){this.a=t}function In(t){this.a=t}function Yn(t){this.a=t}function Sn(t){this.a=t}function Wn(t){this.a=t}function rr(t){this.a=t}function wr(t){this.a=t}function ur(t){this.a=t}function er(t){this.a=t}function vn(t){this.a=t}function gr(t){this.a=t}function fr(t){this.a=t}function Jr(t){this.a=t}function vi(t){this.a=t}function Xs(t){this.a=t}function Ea(t){this.a=t}function Ci(t){this.a=t}function hi(t){this.a=t}function gs(t){this.a=t}function qi(t){this.a=t}function Si(t){this.a=t}function Ui(t){this.a=t}function Va(t){this.e=t}function Qs(t){this.a=t}function qs(t){this.a=t}function Tr(t){this.a=t}function Qt(t){this.a=t}function jn(t){this.a=t}function Sr(t){this.a=t}function ir(t){this.a=t}function sr(t){this.a=t}function Ia(t){this.a=t}function $r(t){this.a=t}function Yi(t){this.a=t}function Fo(t){this.a=t}function Pc(t){this.a=t}function Za(t){this.a=t}function mc(t){this.a=t}function Ta(t){this.a=t}function Ja(t){this.a=t}function ml(t){this.a=t}function qf(t){this.a=t}function Cp(t){this.a=t}function _p(t){this.a=t}function Hf(t){this.a=t}function _g(t){this.a=t}function cd(t){this.a=t}function mw(t){this.a=t}function Lm(t){this.a=t}function xx(t){this.a=t}function F3(t){this.a=t}function kx(t){this.a=t}function SC(t){this.a=t}function N3(t){this.a=t}function Hd(t){this.a=t}function y1(t){this.a=t}function Vd(t){this.a=t}function AC(t){this.a=t}function Yb(t){this.a=t}function dR(t){this.a=t}function Htt(t){this.a=t}function Vtt(t){this.a=t}function Gtt(t){this.a=t}function Utt(t){this.a=t}function Wtt(t){this.a=t}function Ytt(t){this.a=t}function Ktt(t){this.a=t}function t8(t){this.a=t}function lM(t){this.a=t}function LC(t){this.a=t}function gR(t){this.a=t}function pR(t){this.a=t}function Xtt(t){this.a=t}function Sp(t){this.a=t}function hM(t){this.a=t}function bR(t){this.a=t}function e8(t){this.c=t}function Ap(t){this.b=t}function Qtt(t){this.a=t}function S$t(t){this.a=t}function A$t(t){this.a=t}function L$t(t){this.a=t}function M$t(t){this.a=t}function D$t(t){this.a=t}function I$t(t){this.a=t}function O$t(t){this.a=t}function P$t(t){this.a=t}function F$t(t){this.a=t}function N$t(t){this.a=t}function B$t(t){this.a=t}function R$t(t){this.a=t}function j$t(t){this.a=t}function $$t(t){this.a=t}function z$t(t){this.a=t}function q$t(t){this.a=t}function H$t(t){this.a=t}function V$t(t){this.a=t}function G$t(t){this.a=t}function U$t(t){this.a=t}function W$t(t){this.a=t}function Y$t(t){this.a=t}function K$t(t){this.a=t}function Lp(t){this.a=t}function Ex(t){this.a=t}function X$t(t){this.a=t}function Q$t(t){this.a=t}function Z$t(t){this.a=t}function J$t(t){this.a=t}function tzt(t){this.a=t}function ezt(t){this.a=t}function nzt(t){this.a=t}function rzt(t){this.a=t}function izt(t){this.a=t}function szt(t){this.a=t}function azt(t){this.a=t}function ozt(t){this.a=t}function czt(t){this.a=t}function uzt(t){this.a=t}function lzt(t){this.a=t}function hzt(t){this.a=t}function wR(t){this.a=t}function fzt(t){this.a=t}function dzt(t){this.a=t}function gzt(t){this.a=t}function pzt(t){this.a=t}function bzt(t){this.a=t}function wzt(t){this.a=t}function vzt(t){this.a=t}function mzt(t){this.a=t}function yzt(t){this.a=t}function xzt(t){this.a=t}function kzt(t){this.a=t}function Ezt(t){this.a=t}function Tzt(t){this.a=t}function Czt(t){this.a=t}function _zt(t){this.a=t}function Szt(t){this.a=t}function Azt(t){this.a=t}function Lzt(t){this.a=t}function Mzt(t){this.a=t}function Dzt(t){this.a=t}function Izt(t){this.a=t}function Ozt(t){this.a=t}function Pzt(t){this.a=t}function Fzt(t){this.a=t}function Nzt(t){this.a=t}function Bzt(t){this.a=t}function Rzt(t){this.a=t}function jzt(t){this.a=t}function Ept(t){this.a=t}function Vi(t){this.b=t}function $zt(t){this.f=t}function Tpt(t){this.a=t}function zzt(t){this.a=t}function qzt(t){this.a=t}function Hzt(t){this.a=t}function Vzt(t){this.a=t}function Gzt(t){this.a=t}function Uzt(t){this.a=t}function Wzt(t){this.a=t}function Yzt(t){this.a=t}function fM(t){this.a=t}function Kzt(t){this.a=t}function Xzt(t){this.b=t}function Cpt(t){this.c=t}function vR(t){this.e=t}function Qzt(t){this.a=t}function mR(t){this.a=t}function yR(t){this.a=t}function Ztt(t){this.a=t}function Zzt(t){this.a=t}function Jzt(t){this.d=t}function _pt(t){this.a=t}function Spt(t){this.a=t}function yw(t){this.e=t}function WYe(){this.a=0}function B3(){IUt(this)}function he(){ant(this)}function _r(){Xu(this)}function Jtt(){NXt(this)}function tqt(){}function xw(){this.c=oLt}function YYe(t,e){e.Wb(t)}function eqt(t,e){t.b+=e}function nqt(t){t.b=new wet}function it(t){return t.e}function KYe(t){return t.a}function XYe(t){return t.a}function QYe(t){return t.a}function ZYe(t){return t.a}function JYe(t){return t.a}function tKe(){return null}function eKe(){return null}function nKe(){dbt(),dxn()}function rKe(t){t.b.tf(t.e)}function MC(t,e){t.b=e-t.b}function DC(t,e){t.a=e-t.a}function rqt(t,e){e.ad(t.a)}function iKe(t,e){Bs(e,t)}function sKe(t,e,n){t.Od(n,e)}function dM(t,e){t.e=e,e.b=t}function Apt(t){gd(),this.a=t}function iqt(t){gd(),this.a=t}function sqt(t){gd(),this.a=t}function Lpt(t){Wm(),this.a=t}function aqt(t){I8(),Out.be(t)}function Kb(){pWt.call(this)}function Mpt(){pWt.call(this)}function Dpt(){Kb.call(this)}function tet(){Kb.call(this)}function oqt(){Kb.call(this)}function gM(){Kb.call(this)}function Ou(){Kb.call(this)}function IC(){Kb.call(this)}function Or(){Kb.call(this)}function rh(){Kb.call(this)}function cqt(){Kb.call(this)}function lc(){Kb.call(this)}function uqt(){Kb.call(this)}function lqt(){this.a=this}function xR(){this.Bb|=256}function hqt(){this.b=new dUt}function Ipt(){Ipt=Z,new _r}function Opt(){Dpt.call(this)}function fqt(t,e){t.length=e}function kR(t,e){le(t.a,e)}function aKe(t,e){V4t(t.c,e)}function oKe(t,e){Fs(t.b,e)}function cKe(t,e){Jz(t.a,e)}function uKe(t,e){Wit(t.a,e)}function n8(t,e){mi(t.e,e)}function Tx(t){pq(t.c,t.b)}function lKe(t,e){t.kc().Nb(e)}function Ppt(t){this.a=chn(t)}function Hs(){this.a=new _r}function dqt(){this.a=new _r}function ER(){this.a=new he}function eet(){this.a=new he}function Fpt(){this.a=new he}function Ch(){this.a=new uw}function Xb(){this.a=new VJt}function Npt(){this.a=new H5}function Bpt(){this.a=new LVt}function gqt(){this.a=new wZt}function Rpt(){this.a=new OQt}function jpt(){this.a=new rYt}function pqt(){this.a=new he}function $pt(){this.a=new he}function bqt(){this.a=new he}function wqt(){this.a=new he}function vqt(){this.d=new he}function mqt(){this.a=new Hs}function yqt(){this.a=new _r}function xqt(){this.b=new _r}function kqt(){this.b=new he}function zpt(){this.e=new he}function Eqt(){this.d=new he}function Tqt(){this.a=new ttt}function Cqt(){he.call(this)}function qpt(){ER.call(this)}function _qt(){Ij.call(this)}function Sqt(){$pt.call(this)}function net(){OC.call(this)}function OC(){tqt.call(this)}function Cx(){tqt.call(this)}function Hpt(){Cx.call(this)}function Aqt(){lQt.call(this)}function Lqt(){lQt.call(this)}function Mqt(){Xpt.call(this)}function Dqt(){Xpt.call(this)}function Iqt(){Xpt.call(this)}function Oqt(){Qpt.call(this)}function Pu(){Zi.call(this)}function Vpt(){Em.call(this)}function Gpt(){Em.call(this)}function Pqt(){Xqt.call(this)}function Fqt(){Xqt.call(this)}function Nqt(){_r.call(this)}function Bqt(){_r.call(this)}function Rqt(){_r.call(this)}function jqt(){Hs.call(this)}function ret(){ine.call(this)}function $qt(){xR.call(this)}function iet(){x2t.call(this)}function set(){x2t.call(this)}function Upt(){_r.call(this)}function aet(){_r.call(this)}function zqt(){_r.call(this)}function Wpt(){Pk.call(this)}function qqt(){Pk.call(this)}function Hqt(){Wpt.call(this)}function Vqt(){XL.call(this)}function Gqt(t){Lee.call(this,t)}function Uqt(t){Lee.call(this,t)}function Ypt(t){nM.call(this,t)}function Kpt(t){mVt.call(this,t)}function hKe(t){Kpt.call(this,t)}function fKe(t){mVt.call(this,t)}function r8(){this.a=new Zi}function Xpt(){this.a=new Hs}function Qpt(){this.a=new _r}function Wqt(){this.a=new he}function Yqt(){this.j=new he}function Zpt(){this.a=new nB}function Kqt(){this.a=new VHt}function Xqt(){this.a=new cB}function oet(){oet=Z,Sut=new gHt}function cet(){cet=Z,_ut=new dHt}function PC(){PC=Z,Cut=new A}function TR(){TR=Z,Mut=new dWt}function dKe(t){Kpt.call(this,t)}function gKe(t){Kpt.call(this,t)}function Qqt(t){$rt.call(this,t)}function Zqt(t){$rt.call(this,t)}function Jqt(t){CYt.call(this,t)}function uet(t){Pgn.call(this,t)}function kw(t){Om.call(this,t)}function FC(t){NR.call(this,t)}function Jpt(t){NR.call(this,t)}function tHt(t){NR.call(this,t)}function Vo(t){jKt.call(this,t)}function eHt(t){Vo.call(this,t)}function _x(){Qk.call(this,{})}function CR(t){w8(),this.a=t}function NC(t){t.b=null,t.c=0}function pKe(t,e){t.e=e,nue(t,e)}function bKe(t,e){t.a=e,ypn(t)}function het(t,e,n){t.a[e.g]=n}function wKe(t,e,n){Ndn(n,t,e)}function vKe(t,e){HZe(e.i,t.n)}function nHt(t,e){Vun(t).td(e)}function mKe(t,e){return t*t/e}function rHt(t,e){return t.g-e.g}function yKe(t){return new EC(t)}function xKe(t){return new Um(t)}function _R(t){Vo.call(this,t)}function yo(t){Vo.call(this,t)}function iHt(t){Vo.call(this,t)}function fet(t){jKt.call(this,t)}function det(t){wyt(),this.a=t}function sHt(t){DYt(),this.a=t}function Mm(t){Vnt(),this.f=t}function get(t){Vnt(),this.f=t}function i8(t){Vo.call(this,t)}function Fn(t){Vo.call(this,t)}function No(t){Vo.call(this,t)}function aHt(t){Vo.call(this,t)}function Sx(t){Vo.call(this,t)}function je(t){return On(t),t}function Xt(t){return On(t),t}function pM(t){return On(t),t}function tbt(t){return On(t),t}function kKe(t){return On(t),t}function BC(t){return t.b==t.c}function Dm(t){return!!t&&t.b}function EKe(t){return!!t&&t.k}function TKe(t){return!!t&&t.j}function yl(t){On(t),this.a=t}function ebt(t){return g2(t),t}function RC(t){dvt(t,t.length)}function Sg(t){Vo.call(this,t)}function ud(t){Vo.call(this,t)}function pet(t){Vo.call(this,t)}function R3(t){Vo.call(this,t)}function jC(t){Vo.call(this,t)}function Nr(t){Vo.call(this,t)}function bet(t){j2t.call(this,t,0)}function wet(){Wvt.call(this,12,3)}function nbt(){nbt=Z,rEt=new pt}function oHt(){oHt=Z,nEt=new _}function SR(){SR=Z,cS=new mt}function cHt(){cHt=Z,Bge=new ft}function uHt(){throw it(new Or)}function rbt(){throw it(new Or)}function lHt(){throw it(new Or)}function CKe(){throw it(new Or)}function _Ke(){throw it(new Or)}function SKe(){throw it(new Or)}function vet(){this.a=Br(Lr(Ya))}function Ax(t){gd(),this.a=Lr(t)}function hHt(t,e){t.Td(e),e.Sd(t)}function AKe(t,e){t.a.ec().Mc(e)}function LKe(t,e,n){t.c.lf(e,n)}function ibt(t){yo.call(this,t)}function ld(t){Fn.call(this,t)}function Ag(){yx.call(this,"")}function $C(){yx.call(this,"")}function Mp(){yx.call(this,"")}function Im(){yx.call(this,"")}function sbt(t){yo.call(this,t)}function s8(t){T.call(this,t)}function met(t){Ej.call(this,t)}function fHt(t){s8.call(this,t)}function dHt(){xC.call(this,null)}function gHt(){xC.call(this,null)}function AR(){AR=Z,I8()}function pHt(){pHt=Z,Wge=u0n()}function bHt(t){return t.a?t.b:0}function MKe(t){return t.a?t.b:0}function DKe(t,e){return t.a-e.a}function IKe(t,e){return t.a-e.a}function OKe(t,e){return t.a-e.a}function LR(t,e){return Bmt(t,e)}function ct(t,e){return NQt(t,e)}function PKe(t,e){return e in t.a}function wHt(t,e){return t.f=e,t}function FKe(t,e){return t.b=e,t}function vHt(t,e){return t.c=e,t}function NKe(t,e){return t.g=e,t}function abt(t,e){return t.a=e,t}function obt(t,e){return t.f=e,t}function BKe(t,e){return t.k=e,t}function cbt(t,e){return t.a=e,t}function RKe(t,e){return t.e=e,t}function ubt(t,e){return t.e=e,t}function jKe(t,e){return t.f=e,t}function $Ke(t,e){t.b=!0,t.d=e}function zKe(t,e){t.b=new xo(e)}function qKe(t,e,n){e.td(t.a[n])}function HKe(t,e,n){e.we(t.a[n])}function VKe(t,e){return t.b-e.b}function GKe(t,e){return t.g-e.g}function UKe(t,e){return t.s-e.s}function WKe(t,e){return t?0:e-1}function mHt(t,e){return t?0:e-1}function YKe(t,e){return t?e-1:0}function KKe(t,e){return e.Yf(t)}function Ew(t,e){return t.b=e,t}function MR(t,e){return t.a=e,t}function Tw(t,e){return t.c=e,t}function Cw(t,e){return t.d=e,t}function _w(t,e){return t.e=e,t}function lbt(t,e){return t.f=e,t}function zC(t,e){return t.a=e,t}function a8(t,e){return t.b=e,t}function o8(t,e){return t.c=e,t}function Ze(t,e){return t.c=e,t}function kn(t,e){return t.b=e,t}function Je(t,e){return t.d=e,t}function tn(t,e){return t.e=e,t}function XKe(t,e){return t.f=e,t}function en(t,e){return t.g=e,t}function nn(t,e){return t.a=e,t}function rn(t,e){return t.i=e,t}function sn(t,e){return t.j=e,t}function yHt(t,e){return t.k=e,t}function QKe(t,e){return t.j=e,t}function ZKe(t,e){nb(),Uo(e,t)}function JKe(t,e,n){Wen(t.a,e,n)}function xHt(t){RXt.call(this,t)}function hbt(t){RXt.call(this,t)}function DR(t){Snt.call(this,t)}function kHt(t){bhn.call(this,t)}function Dp(t){Qw.call(this,t)}function EHt(t){prt.call(this,t)}function THt(t){prt.call(this,t)}function CHt(){b2t.call(this,"")}function Ca(){this.a=0,this.b=0}function _Ht(){this.b=0,this.a=0}function SHt(t,e){t.b=0,ry(t,e)}function tXe(t,e){t.c=e,t.b=!0}function AHt(t,e){return t.c._b(e)}function Vf(t){return t.e&&t.e()}function yet(t){return t?t.d:null}function LHt(t,e){return eie(t.b,e)}function eXe(t){return t?t.g:null}function nXe(t){return t?t.i:null}function Ip(t){return P0(t),t.o}function Sw(){Sw=Z,G4e=ydn()}function MHt(){MHt=Z,na=I0n()}function c8(){c8=Z,aLt=kdn()}function DHt(){DHt=Z,L5e=xdn()}function fbt(){fbt=Z,pc=wpn()}function dbt(){dbt=Z,Ab=K8()}function IHt(){throw it(new Or)}function OHt(){throw it(new Or)}function PHt(){throw it(new Or)}function FHt(){throw it(new Or)}function NHt(){throw it(new Or)}function BHt(){throw it(new Or)}function IR(t){this.a=new Lx(t)}function gbt(t){Ihe(),_xn(this,t)}function Op(t){this.a=new Ynt(t)}function j3(t,e){for(;t.ye(e););}function pbt(t,e){for(;t.sd(e););}function $3(t,e){return t.a+=e,t}function xet(t,e){return t.a+=e,t}function Lg(t,e){return t.a+=e,t}function Aw(t,e){return t.a+=e,t}function qC(t){return Vp(t),t.a}function OR(t){return t.b!=t.d.c}function RHt(t){return t.l|t.m<<22}function bbt(t,e){return t.d[e.p]}function jHt(t,e){return avn(t,e)}function wbt(t,e,n){t.splice(e,n)}function $Ht(t){t.c?Eue(t):Tue(t)}function PR(t){this.a=0,this.b=t}function zHt(){this.a=new vI(m_t)}function qHt(){this.b=new vI(s_t)}function HHt(){this.b=new vI(Zht)}function VHt(){this.b=new vI(Zht)}function GHt(){throw it(new Or)}function UHt(){throw it(new Or)}function WHt(){throw it(new Or)}function YHt(){throw it(new Or)}function KHt(){throw it(new Or)}function XHt(){throw it(new Or)}function QHt(){throw it(new Or)}function ZHt(){throw it(new Or)}function JHt(){throw it(new Or)}function tVt(){throw it(new Or)}function rXe(){throw it(new lc)}function iXe(){throw it(new lc)}function bM(t){this.a=new eVt(t)}function eVt(t){pcn(this,t,p0n())}function wM(t){return!t||kXt(t)}function vM(t){return Y1[t]!=-1}function sXe(){ZH!=0&&(ZH=0),JH=-1}function nVt(){Tut==null&&(Tut=[])}function aXe(t,e){tat(Wt(t.a),e)}function oXe(t,e){tat(Wt(t.a),e)}function mM(t,e){K3.call(this,t,e)}function u8(t,e){mM.call(this,t,e)}function vbt(t,e){this.b=t,this.c=e}function rVt(t,e){this.b=t,this.a=e}function iVt(t,e){this.a=t,this.b=e}function sVt(t,e){this.a=t,this.b=e}function aVt(t,e){this.a=t,this.b=e}function oVt(t,e){this.a=t,this.b=e}function cVt(t,e){this.a=t,this.b=e}function uVt(t,e){this.a=t,this.b=e}function lVt(t,e){this.a=t,this.b=e}function hVt(t,e){this.a=t,this.b=e}function fVt(t,e){this.b=t,this.a=e}function dVt(t,e){this.b=t,this.a=e}function gVt(t,e){this.b=t,this.a=e}function pVt(t,e){this.b=t,this.a=e}function Vr(t,e){this.f=t,this.g=e}function l8(t,e){this.e=t,this.d=e}function Lw(t,e){this.g=t,this.i=e}function ket(t,e){this.a=t,this.b=e}function bVt(t,e){this.a=t,this.f=e}function wVt(t,e){this.b=t,this.c=e}function cXe(t,e){this.a=t,this.b=e}function vVt(t,e){this.a=t,this.b=e}function Eet(t,e){this.a=t,this.b=e}function mVt(t){A2t(t.dc()),this.c=t}function FR(t){this.b=u(Lr(t),83)}function yVt(t){this.a=u(Lr(t),83)}function Om(t){this.a=u(Lr(t),15)}function xVt(t){this.a=u(Lr(t),15)}function NR(t){this.b=u(Lr(t),47)}function BR(){this.q=new b.Date}function Gd(){Gd=Z,vEt=new Ct}function h8(){h8=Z,a7=new Ot}function HC(t){return t.f.c+t.g.c}function yM(t,e){return t.b.Hc(e)}function kVt(t,e){return t.b.Ic(e)}function EVt(t,e){return t.b.Qc(e)}function TVt(t,e){return t.b.Hc(e)}function CVt(t,e){return t.c.uc(e)}function I0(t,e){return t.a._b(e)}function _Vt(t,e){return yi(t.c,e)}function SVt(t,e){return Tl(t.b,e)}function AVt(t,e){return t>e&&e0}function Cet(t,e){return yc(t,e)<0}function KC(t,e){return t.a.get(e)}function xXe(t,e){return e.split(t)}function WVt(t,e){return Tl(t.e,e)}function _bt(t){return On(t),!1}function WR(t){_n.call(this,t,21)}function kXe(t,e){TQt.call(this,t,e)}function YR(t,e){Vr.call(this,t,e)}function _et(t,e){Vr.call(this,t,e)}function Sbt(t){ort(),CYt.call(this,t)}function Abt(t,e){AKt(t,t.length,e)}function CM(t,e){rXt(t,t.length,e)}function EXe(t,e,n){e.ud(t.a.Ge(n))}function TXe(t,e,n){e.we(t.a.Fe(n))}function CXe(t,e,n){e.td(t.a.Kb(n))}function _Xe(t,e,n){t.Mb(n)&&e.td(n)}function XC(t,e,n){t.splice(e,0,n)}function SXe(t,e){return Nu(t.e,e)}function KR(t,e){this.d=t,this.e=e}function YVt(t,e){this.b=t,this.a=e}function KVt(t,e){this.b=t,this.a=e}function Lbt(t,e){this.b=t,this.a=e}function XVt(t,e){this.a=t,this.b=e}function QVt(t,e){this.a=t,this.b=e}function ZVt(t,e){this.a=t,this.b=e}function JVt(t,e){this.a=t,this.b=e}function Dx(t,e){this.a=t,this.b=e}function Mbt(t,e){this.b=t,this.a=e}function Dbt(t,e){this.b=t,this.a=e}function XR(t,e){Vr.call(this,t,e)}function QR(t,e){Vr.call(this,t,e)}function Ibt(t,e){Vr.call(this,t,e)}function Obt(t,e){Vr.call(this,t,e)}function z3(t,e){Vr.call(this,t,e)}function Aet(t,e){Vr.call(this,t,e)}function Let(t,e){Vr.call(this,t,e)}function Met(t,e){Vr.call(this,t,e)}function ZR(t,e){Vr.call(this,t,e)}function Pbt(t,e){Vr.call(this,t,e)}function Det(t,e){Vr.call(this,t,e)}function _M(t,e){Vr.call(this,t,e)}function JR(t,e){Vr.call(this,t,e)}function Iet(t,e){Vr.call(this,t,e)}function QC(t,e){Vr.call(this,t,e)}function Fbt(t,e){Vr.call(this,t,e)}function ms(t,e){Vr.call(this,t,e)}function tj(t,e){Vr.call(this,t,e)}function tGt(t,e){this.a=t,this.b=e}function eGt(t,e){this.a=t,this.b=e}function nGt(t,e){this.a=t,this.b=e}function rGt(t,e){this.a=t,this.b=e}function iGt(t,e){this.a=t,this.b=e}function sGt(t,e){this.a=t,this.b=e}function aGt(t,e){this.a=t,this.b=e}function oGt(t,e){this.a=t,this.b=e}function cGt(t,e){this.a=t,this.b=e}function Nbt(t,e){this.b=t,this.a=e}function uGt(t,e){this.b=t,this.a=e}function lGt(t,e){this.b=t,this.a=e}function hGt(t,e){this.b=t,this.a=e}function g8(t,e){this.c=t,this.d=e}function fGt(t,e){this.e=t,this.d=e}function dGt(t,e){this.a=t,this.b=e}function gGt(t,e){this.b=e,this.c=t}function ej(t,e){Vr.call(this,t,e)}function SM(t,e){Vr.call(this,t,e)}function Oet(t,e){Vr.call(this,t,e)}function ZC(t,e){Vr.call(this,t,e)}function Bbt(t,e){Vr.call(this,t,e)}function Pet(t,e){Vr.call(this,t,e)}function Fet(t,e){Vr.call(this,t,e)}function AM(t,e){Vr.call(this,t,e)}function Rbt(t,e){Vr.call(this,t,e)}function Net(t,e){Vr.call(this,t,e)}function JC(t,e){Vr.call(this,t,e)}function jbt(t,e){Vr.call(this,t,e)}function t9(t,e){Vr.call(this,t,e)}function e9(t,e){Vr.call(this,t,e)}function Fm(t,e){Vr.call(this,t,e)}function Bet(t,e){Vr.call(this,t,e)}function Ret(t,e){Vr.call(this,t,e)}function $bt(t,e){Vr.call(this,t,e)}function n9(t,e){Vr.call(this,t,e)}function jet(t,e){Vr.call(this,t,e)}function nj(t,e){Vr.call(this,t,e)}function LM(t,e){Vr.call(this,t,e)}function MM(t,e){Vr.call(this,t,e)}function Ix(t,e){Vr.call(this,t,e)}function $et(t,e){Vr.call(this,t,e)}function zbt(t,e){Vr.call(this,t,e)}function zet(t,e){Vr.call(this,t,e)}function qet(t,e){Vr.call(this,t,e)}function qbt(t,e){Vr.call(this,t,e)}function Het(t,e){Vr.call(this,t,e)}function Vet(t,e){Vr.call(this,t,e)}function Get(t,e){Vr.call(this,t,e)}function Uet(t,e){Vr.call(this,t,e)}function Hbt(t,e){Vr.call(this,t,e)}function pGt(t,e){this.b=t,this.a=e}function bGt(t,e){this.a=t,this.b=e}function wGt(t,e){this.a=t,this.b=e}function vGt(t,e){this.a=t,this.b=e}function mGt(t,e){this.a=t,this.b=e}function Vbt(t,e){Vr.call(this,t,e)}function Gbt(t,e){Vr.call(this,t,e)}function yGt(t,e){this.b=t,this.d=e}function Ubt(t,e){Vr.call(this,t,e)}function Wbt(t,e){Vr.call(this,t,e)}function xGt(t,e){this.a=t,this.b=e}function kGt(t,e){this.a=t,this.b=e}function rj(t,e){Vr.call(this,t,e)}function r9(t,e){Vr.call(this,t,e)}function Ybt(t,e){Vr.call(this,t,e)}function Kbt(t,e){Vr.call(this,t,e)}function Xbt(t,e){Vr.call(this,t,e)}function Wet(t,e){Vr.call(this,t,e)}function Qbt(t,e){Vr.call(this,t,e)}function Yet(t,e){Vr.call(this,t,e)}function ij(t,e){Vr.call(this,t,e)}function Ket(t,e){Vr.call(this,t,e)}function Xet(t,e){Vr.call(this,t,e)}function DM(t,e){Vr.call(this,t,e)}function Qet(t,e){Vr.call(this,t,e)}function Zbt(t,e){Vr.call(this,t,e)}function IM(t,e){Vr.call(this,t,e)}function Jbt(t,e){Vr.call(this,t,e)}function AXe(t,e){return Nu(t.c,e)}function LXe(t,e){return Nu(e.b,t)}function MXe(t,e){return-t.b.Je(e)}function t2t(t,e){return Nu(t.g,e)}function OM(t,e){Vr.call(this,t,e)}function Ox(t,e){Vr.call(this,t,e)}function EGt(t,e){this.a=t,this.b=e}function TGt(t,e){this.a=t,this.b=e}function $e(t,e){this.a=t,this.b=e}function i9(t,e){Vr.call(this,t,e)}function s9(t,e){Vr.call(this,t,e)}function PM(t,e){Vr.call(this,t,e)}function Zet(t,e){Vr.call(this,t,e)}function sj(t,e){Vr.call(this,t,e)}function a9(t,e){Vr.call(this,t,e)}function Jet(t,e){Vr.call(this,t,e)}function aj(t,e){Vr.call(this,t,e)}function q3(t,e){Vr.call(this,t,e)}function FM(t,e){Vr.call(this,t,e)}function o9(t,e){Vr.call(this,t,e)}function c9(t,e){Vr.call(this,t,e)}function NM(t,e){Vr.call(this,t,e)}function oj(t,e){Vr.call(this,t,e)}function H3(t,e){Vr.call(this,t,e)}function cj(t,e){Vr.call(this,t,e)}function CGt(t,e){this.a=t,this.b=e}function _Gt(t,e){this.a=t,this.b=e}function SGt(t,e){this.a=t,this.b=e}function AGt(t,e){this.a=t,this.b=e}function LGt(t,e){this.a=t,this.b=e}function MGt(t,e){this.a=t,this.b=e}function fa(t,e){this.a=t,this.b=e}function uj(t,e){Vr.call(this,t,e)}function DGt(t,e){this.a=t,this.b=e}function IGt(t,e){this.a=t,this.b=e}function OGt(t,e){this.a=t,this.b=e}function PGt(t,e){this.a=t,this.b=e}function FGt(t,e){this.a=t,this.b=e}function NGt(t,e){this.a=t,this.b=e}function BGt(t,e){this.b=t,this.a=e}function RGt(t,e){this.b=t,this.a=e}function jGt(t,e){this.b=t,this.a=e}function $Gt(t,e){this.b=t,this.a=e}function zGt(t,e){this.a=t,this.b=e}function qGt(t,e){this.a=t,this.b=e}function DXe(t,e){own(t.a,u(e,56))}function HGt(t,e){mon(t.a,u(e,11))}function IXe(t,e){return k8(),e!=t}function VGt(){return pHt(),new Wge}function GGt(){_rt(),this.b=new Hs}function UGt(){kq(),this.a=new Hs}function WGt(){Uvt(),evt.call(this)}function Px(t,e){Vr.call(this,t,e)}function YGt(t,e){this.a=t,this.b=e}function KGt(t,e){this.a=t,this.b=e}function lj(t,e){this.a=t,this.b=e}function XGt(t,e){this.a=t,this.b=e}function QGt(t,e){this.a=t,this.b=e}function ZGt(t,e){this.a=t,this.b=e}function JGt(t,e){this.d=t,this.b=e}function e2t(t,e){this.d=t,this.e=e}function tUt(t,e){this.f=t,this.c=e}function BM(t,e){this.b=t,this.c=e}function n2t(t,e){this.i=t,this.g=e}function eUt(t,e){this.e=t,this.a=e}function nUt(t,e){this.a=t,this.b=e}function r2t(t,e){t.i=null,fz(t,e)}function OXe(t,e){t&&ki(dP,t,e)}function rUt(t,e){return ist(t.a,e)}function hj(t){return XD(t.c,t.b)}function ec(t){return t?t.dd():null}function Vt(t){return t??null}function Nm(t){return typeof t===b6}function Bm(t){return typeof t===Nxt}function ra(t){return typeof t===Vat}function Np(t,e){return t.Hd().Xb(e)}function fj(t,e){return Kcn(t.Kc(),e)}function Dw(t,e){return yc(t,e)==0}function PXe(t,e){return yc(t,e)>=0}function u9(t,e){return yc(t,e)!=0}function FXe(t){return""+(On(t),t)}function RM(t,e){return t.substr(e)}function iUt(t){return cl(t),t.d.gc()}function tnt(t){return Dbn(t,t.c),t}function dj(t){return k9(t==null),t}function l9(t,e){return t.a+=""+e,t}function go(t,e){return t.a+=""+e,t}function h9(t,e){return t.a+=""+e,t}function hc(t,e){return t.a+=""+e,t}function Gr(t,e){return t.a+=""+e,t}function i2t(t,e){return t.a+=""+e,t}function sUt(t,e){fs(t,e,t.a,t.a.a)}function Zb(t,e){fs(t,e,t.c.b,t.c)}function NXe(t,e,n){gae(e,Wst(t,n))}function BXe(t,e,n){gae(e,Wst(t,n))}function RXe(t,e){Mon(new nr(t),e)}function aUt(t,e){t.q.setTime(Yw(e))}function oUt(t,e){lvt.call(this,t,e)}function cUt(t,e){lvt.call(this,t,e)}function ent(t,e){lvt.call(this,t,e)}function uUt(t){Xu(this),Y9(this,t)}function s2t(t){return An(t,0),null}function Gf(t){return t.a=0,t.b=0,t}function lUt(t,e){return t.a=e.g+1,t}function jXe(t,e){return t.j[e.p]==2}function a2t(t){return xnn(u(t,79))}function hUt(){hUt=Z,zpe=Wr(lst())}function fUt(){fUt=Z,i2e=Wr(Yce())}function dUt(){this.b=new Lx(ty(12))}function gUt(){this.b=0,this.a=!1}function pUt(){this.b=0,this.a=!1}function f9(t){this.a=t,pC.call(this)}function bUt(t){this.a=t,pC.call(this)}function mn(t,e){Ps.call(this,t,e)}function nnt(t,e){qm.call(this,t,e)}function V3(t,e){n2t.call(this,t,e)}function rnt(t,e){tE.call(this,t,e)}function wUt(t,e){jM.call(this,t,e)}function ii(t,e){GR(),ki(dU,t,e)}function int(t,e){return Pl(t.a,0,e)}function vUt(t,e){return t.a.a.a.cc(e)}function mUt(t,e){return Vt(t)===Vt(e)}function $Xe(t,e){return Ms(t.a,e.a)}function zXe(t,e){return pu(t.a,e.a)}function qXe(t,e){return tXt(t.a,e.a)}function hd(t,e){return t.indexOf(e)}function Iw(t,e){return t==e?0:t?1:-1}function gj(t){return t<10?"0"+t:""+t}function HXe(t){return Lr(t),new f9(t)}function yUt(t){return iu(t.l,t.m,t.h)}function p8(t){return ps((On(t),t))}function VXe(t){return ps((On(t),t))}function xUt(t,e){return pu(t.g,e.g)}function Bo(t){return typeof t===Nxt}function GXe(t){return t==Lv||t==Fy}function UXe(t){return t==Lv||t==Py}function o2t(t){return Ro(t.b.b,t,0)}function kUt(t){this.a=VGt(),this.b=t}function EUt(t){this.a=VGt(),this.b=t}function WXe(t,e){return le(t.a,e),e}function YXe(t,e){return le(t.c,e),t}function TUt(t,e){return $l(t.a,e),t}function KXe(t,e){return df(),e.a+=t}function XXe(t,e){return df(),e.a+=t}function QXe(t,e){return df(),e.c+=t}function c2t(t,e){$8(t,0,t.length,e)}function O0(){kt.call(this,new a2)}function CUt(){Wj.call(this,0,0,0,0)}function Fx(){ah.call(this,0,0,0,0)}function xo(t){this.a=t.a,this.b=t.b}function Bp(t){return t==zh||t==Cf}function b8(t){return t==rg||t==ng}function _Ut(t){return t==n5||t==e5}function G3(t){return t!=G1&&t!=Tb}function xl(t){return t.Lg()&&t.Mg()}function SUt(t){return u$(u(t,118))}function pj(t){return $l(new Vs,t)}function AUt(t,e){return new tE(e,t)}function ZXe(t,e){return new tE(e,t)}function u2t(t,e,n){iz(t,e),sz(t,n)}function bj(t,e,n){tv(t,e),Jw(t,n)}function x1(t,e,n){ku(t,e),Eu(t,n)}function wj(t,e,n){V8(t,e),U8(t,n)}function vj(t,e,n){G8(t,e),W8(t,n)}function snt(t,e){aE(t,e),Y8(t,t.D)}function l2t(t){tUt.call(this,t,!0)}function LUt(t,e,n){J2t.call(this,t,e,n)}function Rp(t){rb(),Jcn.call(this,t)}function MUt(){YR.call(this,"Head",1)}function DUt(){YR.call(this,"Tail",3)}function ant(t){t.c=Nt(Qn,De,1,0,5,1)}function IUt(t){t.a=Nt(Qn,De,1,8,5,1)}function OUt(t){xu(t.xf(),new ur(t))}function U3(t){return t!=null?Hi(t):0}function JXe(t,e){return ey(e,T1(t))}function tQe(t,e){return ey(e,T1(t))}function eQe(t,e){return t[t.length]=e}function nQe(t,e){return t[t.length]=e}function h2t(t){return een(t.b.Kc(),t.a)}function rQe(t,e){return hz(srt(t.d),e)}function iQe(t,e){return hz(srt(t.g),e)}function sQe(t,e){return hz(srt(t.j),e)}function eo(t,e){Ps.call(this,t.b,e)}function Ow(t){Wj.call(this,t,t,t,t)}function f2t(t){return t.b&&Sat(t),t.a}function d2t(t){return t.b&&Sat(t),t.c}function aQe(t,e){$1||(t.b=e)}function ont(t,e,n){return ts(t,e,n),n}function PUt(t,e,n){ts(t.c[e.g],e.g,n)}function oQe(t,e,n){u(t.c,69).Xh(e,n)}function cQe(t,e,n){x1(n,n.i+t,n.j+e)}function uQe(t,e){Dr(Lc(t.a),YQt(e))}function lQe(t,e){Dr(al(t.a),KQt(e))}function d9(t){gi(),yw.call(this,t)}function hQe(t){return t==null?0:Hi(t)}function FUt(){FUt=Z,Dht=new i_(_ft)}function Pr(){Pr=Z,new NUt,new he}function NUt(){new _r,new _r,new _r}function g2t(){g2t=Z,Ipt(),iEt=new _r}function k1(){k1=Z,b.Math.log(2)}function ih(){ih=Z,p0=(qVt(),Q4e)}function fQe(){throw it(new Sg(kge))}function dQe(){throw it(new Sg(kge))}function gQe(){throw it(new Sg(Ege))}function pQe(){throw it(new Sg(Ege))}function BUt(t){this.a=t,Iwt.call(this,t)}function cnt(t){this.a=t,FR.call(this,t)}function unt(t){this.a=t,FR.call(this,t)}function Zs(t,e){$nt(t.c,t.c.length,e)}function Go(t){return t.ae?1:0}function jUt(t,e){return yc(t,e)>0?t:e}function iu(t,e,n){return{l:t,m:e,h:n}}function bQe(t,e){t.a!=null&&HGt(e,t.a)}function $Ut(t){t.a=new xt,t.c=new xt}function mj(t){this.b=t,this.a=new he}function zUt(t){this.b=new Ce,this.a=t}function b2t(t){cwt.call(this),this.a=t}function qUt(){YR.call(this,"Range",2)}function HUt(){l4t(),this.a=new vI(I7t)}function wQe(t,e){Lr(e),Q3(t).Jc(new st)}function vQe(t,e){return Fl(),e.n.b+=t}function mQe(t,e,n){return ki(t.g,n,e)}function yQe(t,e,n){return ki(t.k,n,e)}function xQe(t,e){return ki(t.a,e.a,e)}function W3(t,e,n){return M3t(e,n,t.c)}function w2t(t){return new $e(t.c,t.d)}function kQe(t){return new $e(t.c,t.d)}function nc(t){return new $e(t.a,t.b)}function VUt(t,e){return G4n(t.a,e,null)}function EQe(t){Oa(t,null),oa(t,null)}function GUt(t){Art(t,null),Lrt(t,null)}function UUt(){jM.call(this,null,null)}function WUt(){Sj.call(this,null,null)}function v2t(t){this.a=t,_r.call(this)}function TQe(t){this.b=(wn(),new q(t))}function yj(t){t.j=Nt(wEt,ee,310,0,0,1)}function CQe(t,e,n){t.c.Vc(e,u(n,133))}function _Qe(t,e,n){t.c.ji(e,u(n,133))}function YUt(t,e){xr(t),t.Gc(u(e,15))}function g9(t,e){return o4n(t.c,t.b,e)}function SQe(t,e){return new bWt(t.Kc(),e)}function lnt(t,e){return _un(t.Kc(),e)!=-1}function m2t(t,e){return t.a.Bc(e)!=null}function xj(t){return t.Ob()?t.Pb():null}function KUt(t){return Mh(t,0,t.length)}function _t(t,e){return t!=null&&gst(t,e)}function AQe(t,e){t.q.setHours(e),E_(t,e)}function XUt(t,e){t.c&&(Hwt(e),kQt(e))}function LQe(t,e,n){u(t.Kb(n),164).Nb(e)}function MQe(t,e,n){return R4n(t,e,n),n}function QUt(t,e,n){t.a=e^1502,t.b=n^Eot}function hnt(t,e,n){return t.a[e.g][n.g]}function E1(t,e){return t.a[e.c.p][e.p]}function DQe(t,e){return t.e[e.c.p][e.p]}function IQe(t,e){return t.c[e.c.p][e.p]}function OQe(t,e){return t.j[e.p]=q2n(e)}function PQe(t,e){return kmt(t.f,e.tg())}function FQe(t,e){return kmt(t.b,e.tg())}function NQe(t,e){return t.a0?e*e/t:e*e*100}function oZe(t,e){return t>0?e/(t*t):e*100}function cZe(t,e,n){return le(e,yie(t,n))}function uZe(t,e,n){V$(),t.Xe(e)&&n.td(t)}function m8(t,e,n){var r;r=t.Zc(e),r.Rb(n)}function jm(t,e,n){return t.a+=e,t.b+=n,t}function lZe(t,e,n){return t.a*=e,t.b*=n,t}function qM(t,e,n){return t.a-=e,t.b-=n,t}function H2t(t,e){return t.a=e.a,t.b=e.b,t}function Mj(t){return t.a=-t.a,t.b=-t.b,t}function AWt(t){this.c=t,this.a=1,this.b=1}function LWt(t){this.c=t,ku(t,0),Eu(t,0)}function MWt(t){Zi.call(this),V9(this,t)}function DWt(t){qat(),nqt(this),this.mf(t)}function IWt(t,e){YC(),jM.call(this,t,e)}function V2t(t,e){Mg(),Sj.call(this,t,e)}function OWt(t,e){Mg(),Sj.call(this,t,e)}function PWt(t,e){Mg(),V2t.call(this,t,e)}function kl(t,e,n){_l.call(this,t,e,n,2)}function vnt(t,e){ih(),Uj.call(this,t,e)}function FWt(t,e){ih(),vnt.call(this,t,e)}function G2t(t,e){ih(),vnt.call(this,t,e)}function NWt(t,e){ih(),G2t.call(this,t,e)}function U2t(t,e){ih(),Uj.call(this,t,e)}function BWt(t,e){ih(),U2t.call(this,t,e)}function RWt(t,e){ih(),Uj.call(this,t,e)}function hZe(t,e){return t.c.Fc(u(e,133))}function W2t(t,e,n){return Pq(TD(t,e),n)}function fZe(t,e,n){return e.Qk(t.e,t.c,n)}function dZe(t,e,n){return e.Rk(t.e,t.c,n)}function mnt(t,e){return Zp(t.e,u(e,49))}function gZe(t,e,n){n_(al(t.a),e,KQt(n))}function pZe(t,e,n){n_(Lc(t.a),e,YQt(n))}function Y2t(t,e){e.$modCount=t.$modCount}function m9(){m9=Z,HS=new Vi("root")}function y8(){y8=Z,pP=new Pqt,new Fqt}function jWt(){this.a=new Uw,this.b=new Uw}function K2t(){ine.call(this),this.Bb|=Ka}function $Wt(){Vr.call(this,"GROW_TREE",0)}function bZe(t){return t==null?null:P5n(t)}function wZe(t){return t==null?null:qgn(t)}function vZe(t){return t==null?null:$o(t)}function mZe(t){return t==null?null:$o(t)}function P0(t){t.o==null&&b2n(t)}function Re(t){return k9(t==null||Nm(t)),t}function ye(t){return k9(t==null||Bm(t)),t}function Br(t){return k9(t==null||ra(t)),t}function X2t(t){this.q=new b.Date(Yw(t))}function HM(t,e){this.c=t,l8.call(this,t,e)}function Dj(t,e){this.a=t,HM.call(this,t,e)}function yZe(t,e){this.d=t,ztt(this),this.b=e}function Q2t(t,e){Xrt.call(this,t),this.a=e}function Z2t(t,e){Xrt.call(this,t),this.a=e}function xZe(t){C3t.call(this,0,0),this.f=t}function J2t(t,e,n){q$.call(this,t,e,n,null)}function zWt(t,e,n){q$.call(this,t,e,n,null)}function kZe(t,e,n){return t.ue(e,n)<=0?n:e}function EZe(t,e,n){return t.ue(e,n)<=0?e:n}function TZe(t,e){return u(Xw(t.b,e),149)}function CZe(t,e){return u(Xw(t.c,e),229)}function ynt(t){return u(Ne(t.a,t.b),287)}function qWt(t){return new $e(t.c,t.d+t.a)}function HWt(t){return Fl(),_Ut(u(t,197))}function $m(){$m=Z,o7t=un((Al(),K2))}function _Ze(t,e){e.a?hvn(t,e):fnt(t.a,e.b)}function VWt(t,e){$1||le(t.a,e)}function SZe(t,e){return kM(),J8(e.d.i,t)}function AZe(t,e){return r6(),new Uue(e,t)}function dd(t,e){return sD(e,n6t),t.f=e,t}function twt(t,e,n){return n=Hl(t,e,3,n),n}function ewt(t,e,n){return n=Hl(t,e,6,n),n}function nwt(t,e,n){return n=Hl(t,e,9,n),n}function VM(t,e,n){++t.j,t.Ki(),Yrt(t,e,n)}function GWt(t,e,n){++t.j,t.Hi(e,t.oi(e,n))}function UWt(t,e,n){var r;r=t.Zc(e),r.Rb(n)}function WWt(t,e,n){return bxt(t.c,t.b,e,n)}function rwt(t,e){return(e&wi)%t.d.length}function Ps(t,e){Vi.call(this,t),this.a=e}function iwt(t,e){Cpt.call(this,t),this.a=e}function xnt(t,e){Cpt.call(this,t),this.a=e}function YWt(t,e){this.c=t,Qw.call(this,e)}function KWt(t,e){this.a=t,Xzt.call(this,e)}function GM(t,e){this.a=t,Xzt.call(this,e)}function XWt(t){this.a=(jl(t,ky),new Xc(t))}function QWt(t){this.a=(jl(t,ky),new Xc(t))}function UM(t){return!t.a&&(t.a=new at),t.a}function ZWt(t){return t>8?0:t+1}function LZe(t,e){return Nn(),t==e?0:t?1:-1}function swt(t,e,n){return zx(t,u(e,22),n)}function MZe(t,e,n){return t.apply(e,n)}function JWt(t,e,n){return t.a+=Mh(e,0,n),t}function awt(t,e){var n;return n=t.e,t.e=e,n}function DZe(t,e){var n;n=t[kot],n.call(t,e)}function IZe(t,e){var n;n=t[kot],n.call(t,e)}function zm(t,e){t.a.Vc(t.b,e),++t.b,t.c=-1}function tYt(t){Xu(t.e),t.d.b=t.d,t.d.a=t.d}function WM(t){t.b?WM(t.b):t.f.c.zc(t.e,t.d)}function OZe(t,e,n){Qb(),Att(t,e.Ce(t.a,n))}function PZe(t,e){return yet(Nie(t.a,e,!0))}function FZe(t,e){return yet(Bie(t.a,e,!0))}function ff(t,e){return LR(new Array(e),t)}function knt(t){return String.fromCharCode(t)}function NZe(t){return t==null?null:t.message}function eYt(){this.a=new he,this.b=new he}function nYt(){this.a=new H5,this.b=new hqt}function rYt(){this.b=new Ca,this.c=new he}function owt(){this.d=new Ca,this.e=new Ca}function cwt(){this.n=new Ca,this.o=new Ca}function Ij(){this.n=new Cx,this.i=new Fx}function iYt(){this.a=new XJ,this.b=new ZX}function sYt(){this.a=new he,this.d=new he}function aYt(){this.b=new Hs,this.a=new Hs}function oYt(){this.b=new _r,this.a=new _r}function cYt(){this.b=new qHt,this.a=new GQ}function uYt(){Ij.call(this),this.a=new Ca}function y9(t){oun.call(this,t,(U$(),jut))}function uwt(t,e,n,r){Wj.call(this,t,e,n,r)}function BZe(t,e,n){n!=null&&uz(e,Cst(t,n))}function RZe(t,e,n){n!=null&&lz(e,Cst(t,n))}function lwt(t,e,n){return n=Hl(t,e,11,n),n}function Li(t,e){return t.a+=e.a,t.b+=e.b,t}function ia(t,e){return t.a-=e.a,t.b-=e.b,t}function jZe(t,e){return t.n.a=(On(e),e+10)}function $Ze(t,e){return t.n.a=(On(e),e+10)}function zZe(t,e){return e==t||yE(mq(e),t)}function lYt(t,e){return ki(t.a,e,"")==null}function qZe(t,e){return kM(),!J8(e.d.i,t)}function HZe(t,e){Bp(t.f)?a2n(t,e):V0n(t,e)}function VZe(t,e){var n;return n=e.Hh(t.a),n}function qm(t,e){yo.call(this,J_+t+D2+e)}function Rx(t,e,n,r){fe.call(this,t,e,n,r)}function hwt(t,e,n,r){fe.call(this,t,e,n,r)}function hYt(t,e,n,r){hwt.call(this,t,e,n,r)}function fYt(t,e,n,r){r$.call(this,t,e,n,r)}function Ent(t,e,n,r){r$.call(this,t,e,n,r)}function fwt(t,e,n,r){r$.call(this,t,e,n,r)}function dYt(t,e,n,r){Ent.call(this,t,e,n,r)}function dwt(t,e,n,r){Ent.call(this,t,e,n,r)}function Cn(t,e,n,r){fwt.call(this,t,e,n,r)}function gYt(t,e,n,r){dwt.call(this,t,e,n,r)}function pYt(t,e,n,r){hvt.call(this,t,e,n,r)}function bYt(t,e,n){this.a=t,j2t.call(this,e,n)}function wYt(t,e,n){this.c=e,this.b=n,this.a=t}function GZe(t,e,n){return t.d=u(e.Kb(n),164)}function gwt(t,e){return t.Aj().Nh().Kh(t,e)}function pwt(t,e){return t.Aj().Nh().Ih(t,e)}function vYt(t,e){return On(t),Vt(t)===Vt(e)}function hn(t,e){return On(t),Vt(t)===Vt(e)}function Tnt(t,e){return yet(Nie(t.a,e,!1))}function Cnt(t,e){return yet(Bie(t.a,e,!1))}function UZe(t,e){return t.b.sd(new QVt(t,e))}function WZe(t,e){return t.b.sd(new ZVt(t,e))}function mYt(t,e){return t.b.sd(new JVt(t,e))}function bwt(t,e,n){return t.lastIndexOf(e,n)}function YZe(t,e,n){return Ms(t[e.b],t[n.b])}function KZe(t,e){return Jt(e,(Te(),DO),t)}function XZe(t,e){return pu(e.a.d.p,t.a.d.p)}function QZe(t,e){return pu(t.a.d.p,e.a.d.p)}function ZZe(t,e){return Ms(t.c-t.s,e.c-e.s)}function yYt(t){return t.c?Ro(t.c.a,t,0):-1}function JZe(t){return t<100?null:new Dp(t)}function jx(t){return t==Y2||t==g0||t==Gc}function xYt(t,e){return _t(e,15)&&Sue(t.c,e)}function tJe(t,e){$1||e&&(t.d=e)}function _nt(t,e){var n;return n=e,!!jyt(t,n)}function wwt(t,e){this.c=t,Jnt.call(this,t,e)}function kYt(t){this.c=t,ent.call(this,qq,0)}function EYt(t,e){sen.call(this,t,t.length,e)}function eJe(t,e,n){return u(t.c,69).lk(e,n)}function Oj(t,e,n){return u(t.c,69).mk(e,n)}function nJe(t,e,n){return fZe(t,u(e,332),n)}function vwt(t,e,n){return dZe(t,u(e,332),n)}function rJe(t,e,n){return xae(t,u(e,332),n)}function TYt(t,e,n){return egn(t,u(e,332),n)}function x9(t,e){return e==null?null:sy(t.b,e)}function mwt(t){return Bm(t)?(On(t),t):t.ke()}function Pj(t){return!isNaN(t)&&!isFinite(t)}function CYt(t){gd(),this.a=(wn(),new s8(t))}function YM(t){k8(),this.d=t,this.a=new B3}function sh(t,e,n){this.a=t,this.b=e,this.c=n}function _Yt(t,e,n){this.a=t,this.b=e,this.c=n}function SYt(t,e,n){this.d=t,this.b=n,this.a=e}function Snt(t){$Ut(this),Ah(this),Ua(this,t)}function Bu(t){ant(this),Pwt(this.c,0,t.Pc())}function AYt(t){Cl(t.a),Cte(t.c,t.b),t.b=null}function LYt(t){this.a=t,Gd(),Tu(Date.now())}function MYt(){MYt=Z,REt=new _,aV=new _}function Ant(){Ant=Z,LEt=new Ht,Yge=new Le}function DYt(){DYt=Z,n5e=Nt(Qn,De,1,0,5,1)}function IYt(){IYt=Z,y5e=Nt(Qn,De,1,0,5,1)}function ywt(){ywt=Z,x5e=Nt(Qn,De,1,0,5,1)}function gd(){gd=Z,new Apt((wn(),wn(),io))}function iJe(t){return U$(),Ur((Nte(),Qge),t)}function sJe(t){return O1(),Ur((ete(),rpe),t)}function aJe(t){return Gz(),Ur((cJt(),upe),t)}function oJe(t){return Q$(),Ur((uJt(),lpe),t)}function cJe(t){return Cq(),Ur((Kne(),hpe),t)}function uJe(t){return Kf(),Ur((ZJt(),gpe),t)}function lJe(t){return Qu(),Ur((JJt(),bpe),t)}function hJe(t){return yu(),Ur((tte(),vpe),t)}function fJe(t){return $q(),Ur((hUt(),zpe),t)}function dJe(t){return rv(),Ur((Rte(),Hpe),t)}function gJe(t){return u6(),Ur((jte(),Gpe),t)}function pJe(t){return c_(),Ur(($te(),Ype),t)}function bJe(t){return jR(),Ur(($Zt(),Kpe),t)}function wJe(t){return Z$(),Ur((lJt(),fbe),t)}function vJe(t){return q9(),Ur((nte(),Obe),t)}function mJe(t){return Wa(),Ur((bee(),Bbe),t)}function yJe(t){return nE(),Ur((Bte(),qbe),t)}function xJe(t){return iv(),Ur((rte(),Ybe),t)}function xwt(t,e){if(!t)throw it(new Fn(e))}function kJe(t){return Vn(),Ur((Bee(),Zbe),t)}function kwt(t){Wj.call(this,t.d,t.c,t.a,t.b)}function Lnt(t){Wj.call(this,t.d,t.c,t.a,t.b)}function Ewt(t,e,n){this.b=t,this.c=e,this.a=n}function Fj(t,e,n){this.b=t,this.a=e,this.c=n}function OYt(t,e,n){this.a=t,this.b=e,this.c=n}function Twt(t,e,n){this.a=t,this.b=e,this.c=n}function PYt(t,e,n){this.a=t,this.b=e,this.c=n}function Cwt(t,e,n){this.a=t,this.b=e,this.c=n}function FYt(t,e,n){this.b=t,this.a=e,this.c=n}function Nj(t,e,n){this.e=e,this.b=t,this.d=n}function EJe(t,e,n){return Qb(),t.a.Od(e,n),e}function Mnt(t){var e;return e=new Wu,e.e=t,e}function _wt(t){var e;return e=new vqt,e.b=t,e}function KM(){KM=Z,mV=new BK,yV=new RK}function df(){df=Z,f2e=new SX,d2e=new DN}function TJe(t){return Tz(),Ur((qte(),o2e),t)}function CJe(t){return I1(),Ur((Vte(),b2e),t)}function _Je(t){return Eq(),Ur((Rne(),T2e),t)}function SJe(t){return h6(),Ur(($ee(),C2e),t)}function AJe(t){return H$(),Ur((bJt(),_2e),t)}function LJe(t){return n6(),Ur((ite(),S2e),t)}function MJe(t){return b4(),Ur((hee(),v2e),t)}function DJe(t){return nv(),Ur((ote(),E2e),t)}function IJe(t){return oz(),Ur((ste(),A2e),t)}function OJe(t){return x2(),Ur((uee(),L2e),t)}function PJe(t){return LD(),Ur((fJt(),M2e),t)}function FJe(t){return d2(),Ur((ate(),I2e),t)}function NJe(t){return dq(),Ur((Vee(),O2e),t)}function BJe(t){return xD(),Ur((dJt(),P2e),t)}function RJe(t){return oI(),Ur((qee(),F2e),t)}function jJe(t){return kE(),Ur((zee(),N2e),t)}function $Je(t){return oo(),Ur((lre(),B2e),t)}function zJe(t){return eE(),Ur((ute(),R2e),t)}function qJe(t){return q0(),Ur((cte(),$2e),t)}function HJe(t){return I$(),Ur((wJt(),z2e),t)}function VJe(t){return dh(),Ur((fee(),q2e),t)}function GJe(t){return uq(),Ur((Hee(),rme),t)}function UJe(t){return Z9(),Ur((lte(),ime),t)}function WJe(t){return cy(),Ur((Gte(),sme),t)}function YJe(t){return so(),Ur((dte(),hme),t)}function KJe(t){return y4(),Ur((Bne(),ome),t)}function XJe(t){return V0(),Ur((fte(),cme),t)}function QJe(t){return CD(),Ur((pJt(),ume),t)}function ZJe(t){return yz(),Ur((hte(),fme),t)}function JJe(t){return u_(),Ur((lee(),ame),t)}function ttn(t){return pD(),Ur((gJt(),dme),t)}function etn(t){return cE(),Ur((pte(),gme),t)}function ntn(t){return vz(),Ur((bte(),pme),t)}function rtn(t){return Cz(),Ur((gte(),bme),t)}function itn(t){return ev(),Ur((wte(),Lme),t)}function stn(t){return $9(),Ur((mJt(),Pme),t)}function atn(t){return bd(),Ur((yJt(),zme),t)}function otn(t){return C1(),Ur((xJt(),Hme),t)}function ctn(t){return Uf(),Ur((vJt(),iye),t)}function utn(t){return Gw(),Ur((kJt(),hye),t)}function ltn(t){return wE(),Ur((zte(),fye),t)}function htn(t){return p_(),Ur((Gee(),gye),t)}function ftn(t){return T$(),Ur((CJt(),Aye),t)}function dtn(t){return pz(),Ur((TJt(),Pye),t)}function gtn(t){return A$(),Ur((EJt(),Lye),t)}function ptn(t){return Nz(),Ur((vte(),Nye),t)}function btn(t){return G$(),Ur((_Jt(),Bye),t)}function wtn(t){return HD(),Ur((mte(),Rye),t)}function vtn(t){return eq(),Ur((Hte(),Jye),t)}function mtn(t){return mz(),Ur((xte(),t3e),t)}function ytn(t){return Fz(),Ur((yte(),e3e),t)}function xtn(t){return AE(),Ur((pee(),x3e),t)}function ktn(t){return KD(),Ur((kte(),k3e),t)}function Etn(t){return zR(),Ur((RZt(),E3e),t)}function Ttn(t){return qR(),Ur((BZt(),C3e),t)}function Ctn(t){return bD(),Ur((AJt(),_3e),t)}function _tn(t){return uI(),Ur((dee(),S3e),t)}function Stn(t){return UC(),Ur((jZt(),H3e),t)}function Atn(t){return jD(),Ur((SJt(),V3e),t)}function Ltn(t){return Qf(),Ur((gee(),X3e),t)}function Mtn(t){return Ug(),Ur((jne(),Z3e),t)}function Dtn(t){return t0(),Ur((jee(),J3e),t)}function Itn(t){return hy(),Ur((Ree(),s4e),t)}function Otn(t){return ro(),Ur((fUt(),i2e),t)}function Ptn(t){return X8(),Ur((hJt(),r2e),t)}function Ftn(t){return ao(),Ur((wee(),y4e),t)}function Ntn(t){return M1(),Ur((Tte(),x4e),t)}function Btn(t){return W0(),Ur((Yte(),k4e),t)}function Rtn(t){return hq(),Ur((Wee(),E4e),t)}function jtn(t){return G0(),Ur((Ete(),C4e),t)}function $tn(t){return zl(),Ur((Wte(),S4e),t)}function ztn(t){return py(),Ur((Yne(),A4e),t)}function qtn(t){return l4(),Ur((vee(),L4e),t)}function Htn(t){return ua(),Ur((Oee(),M4e),t)}function Vtn(t){return Zu(),Ur((Uee(),D4e),t)}function Gtn(t){return Al(),Ur((Xte(),B4e),t)}function Utn(t){return ll(),Ur((hre(),R4e),t)}function Wtn(t){return ve(),Ur((mee(),I4e),t)}function Ytn(t){return jz(),Ur((Kte(),j4e),t)}function Ktn(t){return Sl(),Ur((Ute(),q4e),t)}function Xtn(t){return CE(),Ur(($ne(),e5e),t)}function Qtn(t,e){return On(t),t+(On(e),e)}function Ztn(t,e){return Gd(),Dr(Wt(t.a),e)}function Jtn(t,e){return Gd(),Dr(Wt(t.a),e)}function Dnt(t,e){this.c=t,this.a=e,this.b=e-t}function NYt(t,e,n){this.a=t,this.b=e,this.c=n}function Swt(t,e,n){this.a=t,this.b=e,this.c=n}function Awt(t,e,n){this.a=t,this.b=e,this.c=n}function BYt(t,e,n){this.a=t,this.b=e,this.c=n}function RYt(t,e,n){this.a=t,this.b=e,this.c=n}function Ig(t,e,n){this.e=t,this.a=e,this.c=n}function jYt(t,e,n){ih(),$vt.call(this,t,e,n)}function Int(t,e,n){ih(),Tvt.call(this,t,e,n)}function Lwt(t,e,n){ih(),Tvt.call(this,t,e,n)}function Mwt(t,e,n){ih(),Tvt.call(this,t,e,n)}function $Yt(t,e,n){ih(),Int.call(this,t,e,n)}function Dwt(t,e,n){ih(),Int.call(this,t,e,n)}function zYt(t,e,n){ih(),Dwt.call(this,t,e,n)}function qYt(t,e,n){ih(),Lwt.call(this,t,e,n)}function HYt(t,e,n){ih(),Mwt.call(this,t,e,n)}function XM(t,e){return Lr(t),Lr(e),new lVt(t,e)}function $x(t,e){return Lr(t),Lr(e),new nKt(t,e)}function ten(t,e){return Lr(t),Lr(e),new rKt(t,e)}function een(t,e){return Lr(t),Lr(e),new fVt(t,e)}function u(t,e){return k9(t==null||gst(t,e)),t}function x8(t){var e;return e=new he,oit(e,t),e}function nen(t){var e;return e=new Hs,oit(e,t),e}function VYt(t){var e;return e=new Bpt,xit(e,t),e}function QM(t){var e;return e=new Zi,xit(e,t),e}function ren(t){return!t.e&&(t.e=new he),t.e}function ien(t){return!t.c&&(t.c=new Tm),t.c}function le(t,e){return t.c[t.c.length]=e,!0}function GYt(t,e){this.c=t,this.b=e,this.a=!1}function Iwt(t){this.d=t,ztt(this),this.b=Xen(t.d)}function UYt(){this.a=";,;",this.b="",this.c=""}function sen(t,e,n){WKt.call(this,e,n),this.a=t}function WYt(t,e,n){this.b=t,oUt.call(this,e,n)}function Owt(t,e,n){this.c=t,KR.call(this,e,n)}function Pwt(t,e,n){n5t(n,0,t,e,n.length,!1)}function Wd(t,e,n,r,s){t.b=e,t.c=n,t.d=r,t.a=s}function aen(t,e){e&&(t.b=e,t.a=(Vp(e),e.a))}function Fwt(t,e,n,r,s){t.d=e,t.c=n,t.a=r,t.b=s}function Nwt(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e}function Bwt(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n}function Rwt(t){return Kp(fnn(Bo(t)?Lh(t):t))}function oen(t,e){return pu(uKt(t.d),uKt(e.d))}function cen(t,e){return e==(ve(),Bn)?t.c:t.d}function k8(){k8=Z,r_t=(ve(),Bn),CG=Hn}function YYt(){this.b=Xt(ye(Ie((Jf(),nlt))))}function KYt(t){return Qb(),Nt(Qn,De,1,t,5,1)}function uen(t){return new $e(t.c+t.b,t.d+t.a)}function len(t,e){return $R(),pu(t.d.p,e.d.p)}function Ont(t){return Zn(t.b!=0),lh(t,t.a.a)}function hen(t){return Zn(t.b!=0),lh(t,t.c.b)}function jwt(t,e){if(!t)throw it(new iHt(e))}function Bj(t,e){if(!t)throw it(new Fn(e))}function $wt(t,e,n){g8.call(this,t,e),this.b=n}function ZM(t,e,n){e2t.call(this,t,e),this.c=n}function XYt(t,e,n){See.call(this,e,n),this.d=t}function zwt(t){ywt(),Pk.call(this),this.th(t)}function QYt(t,e,n){this.a=t,V3.call(this,e,n)}function ZYt(t,e,n){this.a=t,V3.call(this,e,n)}function Rj(t,e,n){e2t.call(this,t,e),this.c=n}function JYt(){B8(),Mnn.call(this,(Pp(),Yh))}function tKt(t){return t!=null&&!tst(t,oA,cA)}function fen(t,e){return(uie(t)<<4|uie(e))&ys}function den(t,e){return c$(),kst(t,e),new SXt(t,e)}function Jb(t,e){var n;t.n&&(n=e,le(t.f,n))}function E8(t,e,n){var r;r=new Um(n),Yf(t,e,r)}function gen(t,e){var n;return n=t.c,syt(t,e),n}function qwt(t,e){return e<0?t.g=-1:t.g=e,t}function jj(t,e){return Zon(t),t.a*=e,t.b*=e,t}function eKt(t,e,n,r,s){t.c=e,t.d=n,t.b=r,t.a=s}function ri(t,e){return fs(t,e,t.c.b,t.c),!0}function Hwt(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function Pnt(t){this.b=t,this.a=Rw(this.b.a).Ed()}function nKt(t,e){this.b=t,this.a=e,pC.call(this)}function rKt(t,e){this.a=t,this.b=e,pC.call(this)}function iKt(t,e){WKt.call(this,e,1040),this.a=t}function JM(t){return t==0||isNaN(t)?t:t<0?-1:1}function pen(t){return Ux(),e0(t)==es(tb(t))}function ben(t){return Ux(),tb(t)==es(e0(t))}function Bw(t,e){return d_(t,new g8(e.a,e.b))}function wen(t){return!Ga(t)&&t.c.i.c==t.d.i.c}function $j(t){var e;return e=t.n,t.a.b+e.d+e.a}function sKt(t){var e;return e=t.n,t.e.b+e.d+e.a}function Vwt(t){var e;return e=t.n,t.e.a+e.b+e.c}function aKt(t){return gi(),new Yd(0,t)}function ven(t){return t.a?t.a:grt(t)}function k9(t){if(!t)throw it(new i8(null))}function oKt(){oKt=Z,$ft=(wn(),new O(put))}function zj(){zj=Z,new z3t((oet(),Sut),(cet(),_ut))}function cKt(){cKt=Z,fEt=Nt(ja,ee,19,256,0,1)}function Fnt(t,e,n,r){b3t.call(this,t,e,n,r,0,0)}function men(t,e,n){return ki(t.b,u(n.b,17),e)}function yen(t,e,n){return ki(t.b,u(n.b,17),e)}function xen(t,e){return le(t,new $e(e.a,e.b))}function ken(t,e){return t.c=e)throw it(new Opt)}function inn(t,e,n){return ts(e,0,Ywt(e[0],n[0])),e}function snn(t,e,n){e.Ye(n,Xt(ye(tr(t.b,n)))*t.a)}function UKt(t,e,n){return k4(),Q8(t,e)&&Q8(t,n)}function S9(t){return Zu(),!t.Hc(sg)&&!t.Hc(Cb)}function e$(t){return new $e(t.c+t.b/2,t.d+t.a/2)}function Wnt(t,e){return e.kh()?Zp(t.b,u(e,49)):e}function lvt(t,e){this.e=t,this.d=e&64?e|md:e}function WKt(t,e){this.c=0,this.d=t,this.b=e|64|md}function n$(t){this.b=new Xc(11),this.a=(Z3(),t)}function Ynt(t){this.b=null,this.a=(Z3(),t||_Et)}function YKt(t){this.a=wse(t.a),this.b=new Bu(t.b)}function KKt(t){this.b=t,Nx.call(this,t),ZUt(this)}function XKt(t){this.b=t,$M.call(this,t),JUt(this)}function Gm(t,e,n){this.a=t,Rx.call(this,e,n,5,6)}function hvt(t,e,n,r){this.b=t,As.call(this,e,n,r)}function Js(t,e,n,r,s){Jrt.call(this,t,e,n,r,s,-1)}function A9(t,e,n,r,s){mD.call(this,t,e,n,r,s,-1)}function fe(t,e,n,r){As.call(this,t,e,n),this.b=r}function r$(t,e,n,r){ZM.call(this,t,e,n),this.b=r}function QKt(t){tUt.call(this,t,!1),this.a=!1}function ZKt(t,e){this.b=t,wtt.call(this,t.b),this.a=e}function JKt(t,e){Wm(),cXe.call(this,t,Dz(new yl(e)))}function i$(t,e){return gi(),new Cvt(t,e,0)}function Knt(t,e){return gi(),new Cvt(6,t,e)}function ann(t,e){return hn(t.substr(0,e.length),e)}function Tl(t,e){return ra(e)?wrt(t,e):!!Lo(t.f,e)}function ba(t,e){for(On(e);t.Ob();)e.td(t.Pb())}function X3(t,e,n){rb(),this.e=t,this.d=e,this.a=n}function Og(t,e,n,r){var s;s=t.i,s.i=e,s.a=n,s.b=r}function fvt(t){var e;for(e=t;e.f;)e=e.f;return e}function Hx(t){var e;return e=Q9(t),Zn(e!=null),e}function onn(t){var e;return e=Uln(t),Zn(e!=null),e}function C8(t,e){var n;return n=t.a.gc(),Emt(e,n),n-e}function dvt(t,e){var n;for(n=0;n0?b.Math.log(t/e):-100}function tXt(t,e){return yc(t,e)<0?-1:yc(t,e)>0?1:0}function vvt(t,e,n){return Gle(t,u(e,46),u(n,167))}function eXt(t,e){return u(cvt(Rw(t.a)).Xb(e),42).cd()}function bnn(t,e){return jon(e,t.length),new iKt(t,e)}function Jnt(t,e){this.d=t,nr.call(this,t),this.e=e}function jw(t){this.d=(On(t),t),this.a=0,this.c=qq}function mvt(t,e){yw.call(this,1),this.a=t,this.b=e}function nXt(t,e){return t.c?nXt(t.c,e):le(t.b,e),t}function wnn(t,e,n){var r;return r=Jm(t,e),Brt(t,e,n),r}function yvt(t,e){var n;return n=t.slice(0,e),Bmt(n,t)}function rXt(t,e,n){var r;for(r=0;r=t.g}function crt(t,e,n){var r;return r=mit(t,e,n),Y5t(t,r)}function Vx(t,e){var n;n=t.a.length,Jm(t,n),Brt(t,n,e)}function vXt(t,e){var n;n=console[t],n.call(console,e)}function mXt(t,e){var n;++t.j,n=t.Vi(),t.Ii(t.oi(n,e))}function Lnn(t,e,n){u(e.b,65),xu(e.a,new Swt(t,n,e))}function Tvt(t,e,n){vR.call(this,e),this.a=t,this.b=n}function Cvt(t,e,n){yw.call(this,t),this.a=e,this.b=n}function _vt(t,e,n){this.a=t,Cpt.call(this,e),this.b=n}function yXt(t,e,n){this.a=t,nmt.call(this,8,e,null,n)}function Mnn(t){this.a=(On(Yr),Yr),this.b=t,new Upt}function xXt(t){this.c=t,this.b=this.c.a,this.a=this.c.e}function Svt(t){this.c=t,this.b=t.a.d.a,Y2t(t.a.e,this)}function Cl(t){Rm(t.c!=-1),t.d.$c(t.c),t.b=t.c,t.c=-1}function D9(t){return b.Math.sqrt(t.a*t.a+t.b*t.b)}function zw(t,e){return T8(e,t.a.c.length),Ne(t.a,e)}function pd(t,e){return Vt(t)===Vt(e)||t!=null&&yi(t,e)}function Dnn(t){return 0>=t?new mbt:wcn(t-1)}function Inn(t){return s3?wrt(s3,t):!1}function kXt(t){return t?t.dc():!t.Kc().Ob()}function Na(t){return!t.a&&t.c?t.c.b:t.a}function Onn(t){return!t.a&&(t.a=new As(_b,t,4)),t.a}function qw(t){return!t.d&&(t.d=new As(ho,t,1)),t.d}function On(t){if(t==null)throw it(new IC);return t}function I9(t){t.c?t.c.He():(t.d=!0,Rwn(t))}function Vp(t){t.c?Vp(t.c):(w2(t),t.d=!0)}function EXt(t){Dvt(t.a),t.b=Nt(Qn,De,1,t.b.length,5,1)}function Pnn(t,e){return pu(e.j.c.length,t.j.c.length)}function Fnn(t,e){t.c<0||t.b.b=0?t.Bh(n):i5t(t,e)}function TXt(t){var e,n;return e=t.c.i.c,n=t.d.i.c,e==n}function Bnn(t){if(t.p!=4)throw it(new Ou);return t.e}function Rnn(t){if(t.p!=3)throw it(new Ou);return t.e}function jnn(t){if(t.p!=6)throw it(new Ou);return t.f}function $nn(t){if(t.p!=6)throw it(new Ou);return t.k}function znn(t){if(t.p!=3)throw it(new Ou);return t.j}function qnn(t){if(t.p!=4)throw it(new Ou);return t.j}function Avt(t){return!t.b&&(t.b=new mR(new aet)),t.b}function Hw(t){return t.c==-2&&Jk(t,agn(t.g,t.b)),t.c}function A8(t,e){var n;return n=rrt("",t),n.n=e,n.i=1,n}function Hnn(t,e){qnt(u(e.b,65),t),xu(e.a,new Jr(t))}function Vnn(t,e){Dr((!t.a&&(t.a=new GM(t,t)),t.a),e)}function CXt(t,e){this.b=t,Jnt.call(this,t,e),ZUt(this)}function _Xt(t,e){this.b=t,wwt.call(this,t,e),JUt(this)}function Lvt(t,e,n,r){Lw.call(this,t,e),this.d=n,this.a=r}function o$(t,e,n,r){Lw.call(this,t,n),this.a=e,this.f=r}function SXt(t,e){TQe.call(this,vcn(Lr(t),Lr(e))),this.a=e}function AXt(){N4t.call(this,O2,(DHt(),L5e)),f4n(this)}function LXt(){N4t.call(this,Bh,(c8(),aLt)),x3n(this)}function MXt(){Vr.call(this,"DELAUNAY_TRIANGULATION",0)}function Gnn(t){return String.fromCharCode.apply(null,t)}function ki(t,e,n){return ra(e)?ko(t,e,n):au(t.f,e,n)}function Mvt(t){return wn(),t?t.ve():(Z3(),Z3(),AEt)}function Unn(t,e,n){return i6(),n.pg(t,u(e.cd(),146))}function DXt(t,e){return zj(),new z3t(new fWt(t),new hWt(e))}function Wnn(t){return jl(t,Yat),J$(Pa(Pa(5,t),t/10|0))}function c$(){c$=Z,Age=new uet(lt(ct(P2,1),Hq,42,0,[]))}function IXt(t){return!t.d&&(t.d=new T(t.c.Cc())),t.d}function L8(t){return!t.a&&(t.a=new fHt(t.c.vc())),t.a}function OXt(t){return!t.b&&(t.b=new s8(t.c.ec())),t.b}function Xd(t,e){for(;e-- >0;)t=t<<1|(t<0?1:0);return t}function Fc(t,e){return Vt(t)===Vt(e)||t!=null&&yi(t,e)}function Ynn(t,e){return Nn(),u(e.b,19).ar&&++r,r}function N0(t){var e,n;return n=(e=new xw,e),H8(n,t),n}function drt(t){var e,n;return n=(e=new xw,e),j4t(n,t),n}function urn(t,e){var n;return n=tr(t.f,e),byt(e,n),null}function grt(t){var e;return e=ycn(t),e||null}function HXt(t){return!t.b&&(t.b=new fe(Ys,t,12,3)),t.b}function lrn(t){return t!=null&&yM(gU,t.toLowerCase())}function hrn(t,e){return Ms(Ru(t)*El(t),Ru(e)*El(e))}function frn(t,e){return Ms(Ru(t)*El(t),Ru(e)*El(e))}function drn(t,e){return Ms(t.d.c+t.d.b/2,e.d.c+e.d.b/2)}function grn(t,e){return Ms(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}function VXt(t,e,n){n.a?Eu(t,e.b-t.f/2):ku(t,e.a-t.g/2)}function GXt(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function UXt(t,e,n,r){this.a=t,this.b=e,this.c=n,this.d=r}function n2(t,e,n,r){this.e=t,this.a=e,this.c=n,this.d=r}function WXt(t,e,n,r){this.a=t,this.c=e,this.d=n,this.b=r}function YXt(t,e,n,r){ih(),$Jt.call(this,e,n,r),this.a=t}function KXt(t,e,n,r){ih(),$Jt.call(this,e,n,r),this.a=t}function XXt(t,e){this.a=t,yZe.call(this,t,u(t.d,15).Zc(e))}function prt(t){this.f=t,this.c=this.f.e,t.f>0&&cae(this)}function QXt(t,e,n,r){this.b=t,this.c=r,ent.call(this,e,n)}function ZXt(t){return Zn(t.b=0&&hn(t.substr(n,e.length),e)}function Gp(t,e,n,r,s,o,h){return new jrt(t.e,e,n,r,s,o,h)}function pQt(t,e,n,r,s,o){this.a=t,fit.call(this,e,n,r,s,o)}function bQt(t,e,n,r,s,o){this.a=t,fit.call(this,e,n,r,s,o)}function wQt(t,e){this.g=t,this.d=lt(ct(l0,1),Yg,10,0,[e])}function Pg(t,e){this.e=t,this.a=Qn,this.b=$ue(e),this.c=e}function vQt(t,e){Ij.call(this),Gmt(this),this.a=t,this.c=e}function aD(t,e,n,r){ts(t.c[e.g],n.g,r),ts(t.c[n.g],e.g,r)}function yrt(t,e,n,r){ts(t.c[e.g],e.g,n),ts(t.b[e.g],e.g,r)}function Nrn(){return pD(),lt(ct(Y9t,1),oe,376,0,[Sht,BO])}function Brn(){return xD(),lt(ct($Tt,1),oe,479,0,[jTt,WV])}function Rrn(){return LD(),lt(ct(BTt,1),oe,419,0,[GV,NTt])}function jrn(){return H$(),lt(ct(LTt,1),oe,422,0,[ATt,Alt])}function $rn(){return I$(),lt(ct(JTt,1),oe,420,0,[Hlt,ZTt])}function zrn(){return CD(),lt(ct(V9t,1),oe,421,0,[Tht,Cht])}function qrn(){return $9(),lt(ct(Ome,1),oe,523,0,[BS,NS])}function Hrn(){return Uf(),lt(ct(rye,1),oe,520,0,[Ky,mb])}function Vrn(){return bd(),lt(ct($me,1),oe,516,0,[zv,ep])}function Grn(){return C1(),lt(ct(qme,1),oe,515,0,[H2,H1])}function Urn(){return Gw(),lt(ct(lye,1),oe,455,0,[yb,r5])}function Wrn(){return A$(),lt(ct(v_t,1),oe,425,0,[qht,w_t])}function Yrn(){return T$(),lt(ct(b_t,1),oe,480,0,[zht,p_t])}function Krn(){return pz(),lt(ct(m_t,1),oe,495,0,[FG,D7])}function Xrn(){return G$(),lt(ct(x_t,1),oe,426,0,[y_t,Uht])}function Qrn(){return jD(),lt(ct(TSt,1),oe,429,0,[VG,ESt])}function Zrn(){return bD(),lt(ct(nSt,1),oe,430,0,[eft,qG])}function Jrn(){return Gz(),lt(ct(zEt,1),oe,428,0,[qut,$Et])}function tin(){return Q$(),lt(ct(HEt,1),oe,427,0,[qEt,Hut])}function ein(){return Z$(),lt(ct(w7t,1),oe,424,0,[tlt,gV])}function nin(){return X8(),lt(ct(n2e,1),oe,511,0,[yO,dlt])}function m$(t,e,n,r){return n>=0?t.jh(e,n,r):t.Sg(null,n,r)}function xrt(t){return t.b.b==0?t.a.$e():Ont(t.b)}function rin(t){if(t.p!=5)throw it(new Ou);return Ar(t.f)}function iin(t){if(t.p!=5)throw it(new Ou);return Ar(t.k)}function jvt(t){return Vt(t.a)===Vt((kit(),Bft))&&s4n(t),t.a}function mQt(t){this.a=u(Lr(t),271),this.b=(wn(),new I2t(t))}function yQt(t,e){vpt(this,new $e(t.a,t.b)),oR(this,QM(e))}function Gw(){Gw=Z,yb=new Wbt(y6,0),r5=new Wbt(x6,1)}function bd(){bd=Z,zv=new Gbt(x6,0),ep=new Gbt(y6,1)}function Uw(){gKe.call(this,new Lx(ty(12))),A2t(!0),this.a=2}function krt(t,e,n){gi(),yw.call(this,t),this.b=e,this.a=n}function $vt(t,e,n){ih(),vR.call(this,e),this.a=t,this.b=n}function xQt(t){Ij.call(this),Gmt(this),this.a=t,this.c=!0}function kQt(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t}function y$(t){var e;hcn(t.a),OUt(t.a),e=new er(t.a),p3t(e)}function sin(t,e){Due(t,!0),xu(t.e.wf(),new Ewt(t,!0,e))}function x$(t,e){return eJt(e),ccn(t,Nt(Cr,Xr,25,e,15,1),e)}function ain(t,e){return Ux(),t==es(e0(e))||t==es(tb(e))}function Nc(t,e){return e==null?ec(Lo(t.f,null)):KC(t.g,e)}function oin(t){return t.b==0?null:(Zn(t.b!=0),lh(t,t.a.a))}function ps(t){return Math.max(Math.min(t,wi),-2147483648)|0}function cin(t,e){var n=Iut[t.charCodeAt(0)];return n??t}function k$(t,e){return g$(t,"set1"),g$(e,"set2"),new vVt(t,e)}function uin(t,e){var n;return n=rcn(t.f,e),Li(Mj(n),t.f.d)}function P9(t,e){var n,r;return n=e,r=new zt,mhe(t,n,r),r.d}function Ert(t,e,n,r){var s;s=new uYt,e.a[n.g]=s,zx(t.b,r,s)}function zvt(t,e,n){var r;r=t.Yg(e),r>=0?t.sh(r,n):M5t(t,e,n)}function J3(t,e,n){C$(),t&&ki(Pft,t,e),t&&ki(dP,t,n)}function EQt(t,e,n){this.i=new he,this.b=t,this.g=e,this.a=n}function E$(t,e,n){this.c=new he,this.e=t,this.f=e,this.b=n}function qvt(t,e,n){this.a=new he,this.e=t,this.f=e,this.c=n}function TQt(t,e){yj(this),this.f=e,this.g=t,d$(this),this._d()}function oD(t,e){var n;n=t.q.getHours(),t.q.setDate(e),E_(t,n)}function CQt(t,e){var n;for(Lr(e),n=t.a;n;n=n.c)e.Od(n.g,n.i)}function _Qt(t){var e;return e=new IR(ty(t.length)),Oyt(e,t),e}function lin(t){function e(){}return e.prototype=t||{},new e}function hin(t,e){return ere(t,e)?(Jee(t),!0):!1}function B0(t,e){if(e==null)throw it(new IC);return cfn(t,e)}function fin(t){if(t.qe())return null;var e=t.n;return QH[e]}function cD(t){return t.Db>>16!=3?null:u(t.Cb,33)}function T1(t){return t.Db>>16!=9?null:u(t.Cb,33)}function SQt(t){return t.Db>>16!=6?null:u(t.Cb,79)}function AQt(t){return t.Db>>16!=7?null:u(t.Cb,235)}function LQt(t){return t.Db>>16!=7?null:u(t.Cb,160)}function es(t){return t.Db>>16!=11?null:u(t.Cb,33)}function MQt(t,e){var n;return n=t.Yg(e),n>=0?t.lh(n):Zst(t,e)}function DQt(t,e){var n;return n=new Wwt(e),Iae(n,t),new Bu(n)}function Hvt(t){var e;return e=t.d,e=t.si(t.f),Dr(t,e),e.Ob()}function IQt(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function Trt(t,e){return b.Math.abs(t)0}function OQt(){this.a=new O0,this.e=new Hs,this.g=0,this.i=0}function PQt(t){this.a=t,this.b=Nt(Mme,ee,1944,t.e.length,0,2)}function Crt(t,e,n){var r;r=xre(t,e,n),t.b=new gz(r.c.length)}function C1(){C1=Z,H2=new Vbt(Dot,0),H1=new Vbt("UP",1)}function T$(){T$=Z,zht=new Ybt(Y1e,0),p_t=new Ybt("FAN",1)}function C$(){C$=Z,Pft=new _r,dP=new _r,OXe(Uge,new JT)}function gin(t){if(t.p!=0)throw it(new Ou);return u9(t.f,0)}function pin(t){if(t.p!=0)throw it(new Ou);return u9(t.k,0)}function FQt(t){return t.Db>>16!=3?null:u(t.Cb,147)}function O8(t){return t.Db>>16!=6?null:u(t.Cb,235)}function Ym(t){return t.Db>>16!=17?null:u(t.Cb,26)}function NQt(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.le(e))}function bin(t,e){var n;return n=t.a.get(e),n??new Array}function win(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),E_(t,n)}function ko(t,e,n){return e==null?au(t.f,null,n):sv(t.g,e,n)}function F9(t,e,n,r,s,o){return new z0(t.e,e,t.aj(),n,r,s,o)}function uD(t,e,n){return t.a=Pl(t.a,0,e)+(""+n)+RM(t.a,e),t}function vin(t,e,n){return le(t.a,(c$(),kst(e,n),new Lw(e,n))),t}function Vvt(t){return M2t(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function BQt(t){return M2t(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function oa(t,e){t.d&&mu(t.d.e,t),t.d=e,t.d&&le(t.d.e,t)}function Oa(t,e){t.c&&mu(t.c.g,t),t.c=e,t.c&&le(t.c.g,t)}function Eo(t,e){t.c&&mu(t.c.a,t),t.c=e,t.c&&le(t.c.a,t)}function Uo(t,e){t.i&&mu(t.i.j,t),t.i=e,t.i&&le(t.i.j,t)}function RQt(t,e,n){this.a=e,this.c=t,this.b=(Lr(n),new Bu(n))}function jQt(t,e,n){this.a=e,this.c=t,this.b=(Lr(n),new Bu(n))}function $Qt(t,e){this.a=t,this.c=nc(this.a),this.b=new v$(e)}function min(t){var e;return w2(t),e=new Hs,Ri(t,new Ge(e))}function Km(t,e){if(t<0||t>e)throw it(new yo(Kxt+t+Xxt+e))}function Gvt(t,e){return MKt(t.a,e)?pvt(t,u(e,22).g,null):null}function yin(t){return qit(),Nn(),u(t.a,81).d.e!=0}function zQt(){zQt=Z,Dge=Wr((TR(),lt(ct(Mge,1),oe,538,0,[Mut])))}function qQt(){qQt=Z,wme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function Uvt(){Uvt=Z,vme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function HQt(){HQt=Z,yme=Ku(new Vs,(Wa(),Io),(ro(),xO))}function VQt(){VQt=Z,Fme=bi(new Vs,(Wa(),Io),(ro(),pS))}function Fl(){Fl=Z,Rme=bi(new Vs,(Wa(),Io),(ro(),pS))}function GQt(){GQt=Z,jme=bi(new Vs,(Wa(),Io),(ro(),pS))}function _rt(){_rt=Z,Vme=bi(new Vs,(Wa(),Io),(ro(),pS))}function UQt(){UQt=Z,Mye=Ku(new Vs,(wE(),jS),(p_(),Iht))}function i2(t,e,n,r){this.c=t,this.d=r,Art(this,e),Lrt(this,n)}function Yx(t){this.c=new Zi,this.b=t.b,this.d=t.c,this.a=t.a}function Srt(t){this.a=b.Math.cos(t),this.b=b.Math.sin(t)}function Art(t,e){t.a&&mu(t.a.k,t),t.a=e,t.a&&le(t.a.k,t)}function Lrt(t,e){t.b&&mu(t.b.f,t),t.b=e,t.b&&le(t.b.f,t)}function WQt(t,e){Lnn(t,t.b,t.c),u(t.b.b,65),e&&u(e.b,65).b}function xin(t,e){c3t(t,e),_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),2)}function Mrt(t,e){_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),4),Qc(t,e)}function _$(t,e){_t(t.Cb,179)&&(u(t.Cb,179).tb=null),Qc(t,e)}function Bc(t,e){return to(),ait(e)?new qj(e,t):new BM(e,t)}function kin(t,e){var n,r;n=e.c,r=n!=null,r&&Vx(t,new Um(e.c))}function YQt(t){var e,n;return n=(c8(),e=new xw,e),H8(n,t),n}function KQt(t){var e,n;return n=(c8(),e=new xw,e),H8(n,t),n}function XQt(t,e){var n;return n=new Sh(t),e.c[e.c.length]=n,n}function QQt(t,e){var n;return n=u(sy(Wx(t.a),e),14),n?n.gc():0}function ZQt(t){var e;return w2(t),e=(Z3(),Z3(),SEt),ez(t,e)}function JQt(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function Wvt(t,e){fKe.call(this,new Lx(ty(t))),jl(e,ffe),this.a=e}function Qd(t,e,n){aie(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e}function tZt(t,e,n){var r;aie(e,n,t.c.length),r=n-e,wbt(t.c,e,r)}function Ein(t,e){QUt(t,Ar(Ns($p(e,24),Uq)),Ar(Ns(e,Uq)))}function An(t,e){if(t<0||t>=e)throw it(new yo(Kxt+t+Xxt+e))}function Rr(t,e){if(t<0||t>=e)throw it(new sbt(Kxt+t+Xxt+e))}function _n(t,e){this.b=(On(t),t),this.a=e&Ey?e:e|64|md}function eZt(t){IUt(this),fqt(this.a,Dyt(b.Math.max(8,t))<<1)}function _1(t){return Yo(lt(ct(Ws,1),ee,8,0,[t.i.n,t.n,t.a]))}function Tin(){return O1(),lt(ct(fl,1),oe,132,0,[BEt,Ul,Iy])}function Cin(){return Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])}function _in(){return Qu(),lt(ct(ppe,1),oe,461,0,[Md,fb,kf])}function Sin(){return yu(),lt(ct(wpe,1),oe,462,0,[n1,db,Ef])}function Ain(){return iv(),lt(ct(F7t,1),oe,423,0,[q4,P7t,llt])}function Lin(){return q9(),lt(ct(D7t,1),oe,379,0,[ilt,rlt,slt])}function Min(){return Z9(),lt(ct(P9t,1),oe,378,0,[vht,O9t,yG])}function Din(){return n6(),lt(ct(DTt,1),oe,314,0,[P6,EO,MTt])}function Iin(){return oz(),lt(ct(OTt,1),oe,337,0,[ITt,VV,Llt])}function Oin(){return d2(),lt(ct(D2e,1),oe,450,0,[Ilt,w7,U4])}function Pin(){return nv(),lt(ct(mlt,1),oe,361,0,[Dv,pb,Mv])}function Fin(){return q0(),lt(ct(j2e,1),oe,303,0,[CO,Y4,F6])}function Nin(){return eE(),lt(ct(qlt,1),oe,292,0,[$lt,zlt,TO])}function Bin(){return so(),lt(ct(lme,1),oe,452,0,[OS,tl,nu])}function Rin(){return V0(),lt(ct(H9t,1),oe,339,0,[vb,q9t,Eht])}function jin(){return yz(),lt(ct(W9t,1),oe,375,0,[G9t,_ht,U9t])}function $in(){return Cz(),lt(ct(t_t,1),oe,377,0,[Mht,L7,Yy])}function zin(){return cE(),lt(ct(X9t,1),oe,336,0,[Aht,K9t,PS])}function qin(){return vz(),lt(ct(J9t,1),oe,338,0,[Z9t,Lht,Q9t])}function Hin(){return ev(),lt(ct(Ame,1),oe,454,0,[RO,FS,TG])}function Vin(){return Nz(),lt(ct(Fye,1),oe,442,0,[Ght,Hht,Vht])}function Gin(){return HD(),lt(ct(T_t,1),oe,380,0,[NG,k_t,E_t])}function Uin(){return Fz(),lt(ct(q_t,1),oe,381,0,[z_t,Qht,$_t])}function Win(){return mz(),lt(ct(R_t,1),oe,293,0,[Xht,B_t,N_t])}function Yin(){return KD(),lt(ct(Zht,1),oe,437,0,[jG,$G,zG])}function Kin(){return G0(),lt(ct(DAt,1),oe,334,0,[tU,sp,ZS])}function Xin(){return M1(),lt(ct(mAt,1),oe,272,0,[P7,Zy,F7])}function Qin(t,e){return v2n(t,e,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function Zin(t,e,n){var r;return r=__(t,e,!1),r.b<=e&&r.a<=n}function nZt(t,e,n){var r;r=new NQ,r.b=e,r.a=n,++e.b,le(t.d,r)}function Jin(t,e){var n;return n=(On(t),t).g,q2t(!!n),On(e),n(e)}function Yvt(t,e){var n,r;return r=C8(t,e),n=t.a.Zc(r),new wVt(t,n)}function tsn(t){return t.Db>>16!=6?null:u(eat(t),235)}function esn(t){if(t.p!=2)throw it(new Ou);return Ar(t.f)&ys}function nsn(t){if(t.p!=2)throw it(new Ou);return Ar(t.k)&ys}function rsn(t){return t.a==(B8(),vU)&&Btt(t,P2n(t.g,t.b)),t.a}function Kx(t){return t.d==(B8(),vU)&&_C(t,Smn(t.g,t.b)),t.d}function J(t){return Zn(t.ar?1:0}function rZt(t,e){var n,r;return n=eit(e),r=n,u(tr(t.c,r),19).a}function iZt(t,e){var n;for(n=t+"";n.length0&&t.a[--t.d]==0;);t.a[t.d++]==0&&(t.e=0)}function EZt(t){return t.a?t.e.length==0?t.a.a:t.a.a+(""+t.e):t.c}function gsn(t){return!!t.a&&al(t.a.a).i!=0&&!(t.b&&mst(t.b))}function psn(t){return!!t.u&&Lc(t.u.a).i!=0&&!(t.n&&vst(t.n))}function TZt(t){return Bnt(t.e.Hd().gc()*t.c.Hd().gc(),16,new gx(t))}function bsn(t,e){return tXt(Tu(t.q.getTime()),Tu(e.q.getTime()))}function wd(t){return u(P1(t,Nt(hlt,Wot,17,t.c.length,0,1)),474)}function lD(t){return u(P1(t,Nt(l0,Yg,10,t.c.length,0,1)),193)}function wsn(t){return Fl(),!Ga(t)&&!(!Ga(t)&&t.c.i.c==t.d.i.c)}function CZt(t,e,n){var r;r=(Lr(t),new Bu(t)),W1n(new RQt(r,e,n))}function hD(t,e,n){var r;r=(Lr(t),new Bu(t)),Y1n(new jQt(r,e,n))}function _Zt(t,e){var n;return n=1-e,t.a[n]=dz(t.a[n],n),dz(t,e)}function SZt(t,e){var n;t.e=new Zpt,n=wy(e),Zs(n,t.c),yue(t,n,0)}function ca(t,e,n,r){var s;s=new iB,s.a=e,s.b=n,s.c=r,ri(t.a,s)}function xe(t,e,n,r){var s;s=new iB,s.a=e,s.b=n,s.c=r,ri(t.b,s)}function pf(t){var e,n,r;return e=new oXt,n=yat(e,t),n5n(e),r=n,r}function tmt(){var t,e,n;return e=(n=(t=new xw,t),n),le(bLt,e),e}function L$(t){return t.j.c=Nt(Qn,De,1,0,5,1),Dvt(t.c),Qnn(t.a),t}function t4(t){return GC(),_t(t.g,10)?u(t.g,10):null}function vsn(t){return Q3(t).dc()?!1:(wQe(t,new ut),!0)}function msn(t){if(!("stack"in t))try{throw t}catch{}return t}function fD(t,e){if(t<0||t>=e)throw it(new yo(Ipn(t,e)));return t}function AZt(t,e,n){if(t<0||en)throw it(new yo(rpn(t,e,n)))}function Prt(t,e){if(Fs(t.a,e),e.d)throw it(new Vo(Pfe));e.d=t}function Frt(t,e){if(e.$modCount!=t.$modCount)throw it(new rh)}function LZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function MZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function DZt(t,e){return _t(e,42)?Tst(t.a,u(e,42)):!1}function ysn(t,e){return t.a<=t.b?(e.ud(t.a++),!0):!1}function Yw(t){var e;return Bo(t)?(e=t,e==-0?0:e):Lon(t)}function M$(t){var e;return Vp(t),e=new Ye,j3(t.a,new bn(e)),e}function IZt(t){var e;return Vp(t),e=new Ve,j3(t.a,new we(e)),e}function da(t,e){this.a=t,mx.call(this,t),Km(e,t.gc()),this.b=e}function emt(t){this.e=t,this.b=this.e.a.entries(),this.a=new Array}function xsn(t){return Bnt(t.e.Hd().gc()*t.c.Hd().gc(),273,new eR(t))}function D$(t){return new Xc((jl(t,Yat),J$(Pa(Pa(5,t),t/10|0))))}function OZt(t){return u(P1(t,Nt(Jbe,h1e,11,t.c.length,0,1)),1943)}function ksn(t,e,n){return n.f.c.length>0?vvt(t.a,e,n):vvt(t.b,e,n)}function Esn(t,e,n){t.d&&mu(t.d.e,t),t.d=e,t.d&&Hm(t.d.e,n,t)}function Nrt(t,e){bxn(e,t),Bwt(t.d),Bwt(u(Q(t,(Te(),dG)),207))}function B9(t,e){pxn(e,t),Nwt(t.d),Nwt(u(Q(t,(Te(),dG)),207))}function Kw(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=n.fe()),r}function P8(t,e){var n,r;return n=Jm(t,e),r=null,n&&(r=n.ie()),r}function R9(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=n.ie()),r}function R0(t,e){var n,r;return n=B0(t,e),r=null,n&&(r=U4t(n)),r}function Tsn(t,e,n){var r;return r=pE(n),Aq(t.g,r,e),Aq(t.i,e,n),e}function Csn(t,e,n){var r;r=Jhn();try{return MZe(t,e,n)}finally{Nsn(r)}}function PZt(t){var e;e=t.Wg(),this.a=_t(e,69)?u(e,69).Zh():e.Kc()}function Vs(){Yqt.call(this),this.j.c=Nt(Qn,De,1,0,5,1),this.a=-1}function nmt(t,e,n,r){this.d=t,this.n=e,this.g=n,this.o=r,this.p=-1}function FZt(t,e,n,r){this.e=r,this.d=null,this.c=t,this.a=e,this.b=n}function rmt(t,e,n){this.d=new bR(this),this.e=t,this.i=e,this.f=n}function I$(){I$=Z,Hlt=new $bt(qE,0),ZTt=new $bt("TOP_LEFT",1)}function NZt(){NZt=Z,n_t=DXt(pe(1),pe(4)),e_t=DXt(pe(1),pe(2))}function BZt(){BZt=Z,C3e=Wr((qR(),lt(ct(T3e,1),oe,551,0,[tft])))}function RZt(){RZt=Z,E3e=Wr((zR(),lt(ct(eSt,1),oe,482,0,[Jht])))}function jZt(){jZt=Z,H3e=Wr((UC(),lt(ct(kSt,1),oe,530,0,[VO])))}function $Zt(){$Zt=Z,Kpe=Wr((jR(),lt(ct(l7t,1),oe,481,0,[Kut])))}function _sn(){return rv(),lt(ct(qpe,1),oe,406,0,[hO,lO,Wut,Yut])}function Ssn(){return U$(),lt(ct(sV,1),oe,297,0,[jut,OEt,PEt,FEt])}function Asn(){return c_(),lt(ct(Wpe,1),oe,394,0,[bO,lV,hV,wO])}function Lsn(){return u6(),lt(ct(Vpe,1),oe,323,0,[dO,fO,gO,pO])}function Msn(){return nE(),lt(ct(zbe,1),oe,405,0,[Lv,Fy,Py,z4])}function Dsn(){return Tz(),lt(ct(a2e,1),oe,360,0,[wlt,BV,RV,kO])}function zZt(t,e,n,r){return _t(n,54)?new SWt(t,e,n,r):new ovt(t,e,n,r)}function Isn(){return I1(),lt(ct(p2e,1),oe,411,0,[O6,f7,d7,vlt])}function Osn(t){var e;return t.j==(ve(),mr)&&(e=uce(t),Nu(e,Hn))}function Psn(t,e){var n;n=e.a,Oa(n,e.c.d),oa(n,e.d.d),ny(n.a,t.n)}function qZt(t,e){return u(Nw(Jj(u(Ai(t.k,e),15).Oc(),H4)),113)}function HZt(t,e){return u(Nw(t$(u(Ai(t.k,e),15).Oc(),H4)),113)}function Fsn(t){return new _n(Icn(u(t.a.dd(),14).gc(),t.a.cd()),16)}function F8(t){return _t(t,14)?u(t,14).dc():!t.Kc().Ob()}function Xx(t){return GC(),_t(t.g,145)?u(t.g,145):null}function VZt(t){if(t.e.g!=t.b)throw it(new rh);return!!t.c&&t.d>0}function ti(t){return Zn(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function imt(t,e){On(e),ts(t.a,t.c,e),t.c=t.c+1&t.a.length-1,Gse(t)}function Up(t,e){On(e),t.b=t.b-1&t.a.length-1,ts(t.a,t.b,e),Gse(t)}function GZt(t,e){var n;for(n=t.j.c.length;n0&&Dc(t.g,0,e,0,t.i),e}function KZt(t,e){GR();var n;return n=u(tr(dU,t),55),!n||n.wj(e)}function Ysn(t){if(t.p!=1)throw it(new Ou);return Ar(t.f)<<24>>24}function Ksn(t){if(t.p!=1)throw it(new Ou);return Ar(t.k)<<24>>24}function Xsn(t){if(t.p!=7)throw it(new Ou);return Ar(t.k)<<16>>16}function Qsn(t){if(t.p!=7)throw it(new Ou);return Ar(t.f)<<16>>16}function j0(t){var e;for(e=0;t.Ob();)t.Pb(),e=Pa(e,1);return J$(e)}function XZt(t,e){var n;return n=new Im,t.xd(n),n.a+="..",e.yd(n),n.a}function Zsn(t,e,n){var r;r=u(tr(t.g,n),57),le(t.a.c,new fa(e,r))}function Jsn(t,e,n){return Unt(ye(ec(Lo(t.f,e))),ye(ec(Lo(t.f,n))))}function O$(t,e,n){return Mq(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function tan(t,e,n){return DE(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function ean(t,e,n){return T2n(t,e,n,_t(e,99)&&(u(e,18).Bb&Ka)!=0)}function omt(t,e){return t==(Vn(),Os)&&e==Os?4:t==Os||e==Os?8:32}function QZt(t,e){return Vt(e)===Vt(t)?"(this Map)":e==null?_u:$o(e)}function nan(t,e){return u(e==null?ec(Lo(t.f,null)):KC(t.g,e),281)}function ZZt(t,e,n){var r;return r=pE(n),ki(t.b,r,e),ki(t.c,e,n),e}function JZt(t,e){var n;for(n=e;n;)jm(t,n.i,n.j),n=es(n);return t}function cmt(t,e){var n;return n=iD(x8(new nit(t,e))),Vj(new nit(t,e)),n}function Zd(t,e){to();var n;return n=u(t,66).Mj(),Ngn(n,e),n.Ok(e)}function ran(t,e,n,r,s){var o;o=L2n(s,n,r),le(e,Spn(s,o)),vgn(t,s,e)}function tJt(t,e,n){t.i=0,t.e=0,e!=n&&(Cre(t,e,n),Tre(t,e,n))}function umt(t,e){var n;n=t.q.getHours(),t.q.setFullYear(e+ab),E_(t,n)}function ian(t,e,n){if(n){var r=n.ee();t.a[e]=r(n)}else delete t.a[e]}function Brt(t,e,n){if(n){var r=n.ee();n=r(n)}else n=void 0;t.a[e]=n}function eJt(t){if(t<0)throw it(new aHt("Negative array size: "+t))}function Lc(t){return t.n||(sl(t),t.n=new PKt(t,ho,t),Ao(t)),t.n}function j9(t){return Zn(t.a=0&&t.a[n]===e[n];n--);return n<0}function aJt(t,e){oE();var n;return n=t.j.g-e.j.g,n!=0?n:0}function oJt(t,e){return On(e),t.a!=null?Hen(e.Kb(t.a)):iV}function P$(t){var e;return t?new Wwt(t):(e=new O0,xit(e,t),e)}function Bl(t,e){var n;return e.b.Kb(Jte(t,e.c.Ee(),(n=new In(e),n)))}function F$(t){M4t(),QUt(this,Ar(Ns($p(t,24),Uq)),Ar(Ns(t,Uq)))}function cJt(){cJt=Z,upe=Wr((Gz(),lt(ct(zEt,1),oe,428,0,[qut,$Et])))}function uJt(){uJt=Z,lpe=Wr((Q$(),lt(ct(HEt,1),oe,427,0,[qEt,Hut])))}function lJt(){lJt=Z,fbe=Wr((Z$(),lt(ct(w7t,1),oe,424,0,[tlt,gV])))}function hJt(){hJt=Z,r2e=Wr((X8(),lt(ct(n2e,1),oe,511,0,[yO,dlt])))}function fJt(){fJt=Z,M2e=Wr((LD(),lt(ct(BTt,1),oe,419,0,[GV,NTt])))}function dJt(){dJt=Z,P2e=Wr((xD(),lt(ct($Tt,1),oe,479,0,[jTt,WV])))}function gJt(){gJt=Z,dme=Wr((pD(),lt(ct(Y9t,1),oe,376,0,[Sht,BO])))}function pJt(){pJt=Z,ume=Wr((CD(),lt(ct(V9t,1),oe,421,0,[Tht,Cht])))}function bJt(){bJt=Z,_2e=Wr((H$(),lt(ct(LTt,1),oe,422,0,[ATt,Alt])))}function wJt(){wJt=Z,z2e=Wr((I$(),lt(ct(JTt,1),oe,420,0,[Hlt,ZTt])))}function vJt(){vJt=Z,iye=Wr((Uf(),lt(ct(rye,1),oe,520,0,[Ky,mb])))}function mJt(){mJt=Z,Pme=Wr(($9(),lt(ct(Ome,1),oe,523,0,[BS,NS])))}function yJt(){yJt=Z,zme=Wr((bd(),lt(ct($me,1),oe,516,0,[zv,ep])))}function xJt(){xJt=Z,Hme=Wr((C1(),lt(ct(qme,1),oe,515,0,[H2,H1])))}function kJt(){kJt=Z,hye=Wr((Gw(),lt(ct(lye,1),oe,455,0,[yb,r5])))}function EJt(){EJt=Z,Lye=Wr((A$(),lt(ct(v_t,1),oe,425,0,[qht,w_t])))}function TJt(){TJt=Z,Pye=Wr((pz(),lt(ct(m_t,1),oe,495,0,[FG,D7])))}function CJt(){CJt=Z,Aye=Wr((T$(),lt(ct(b_t,1),oe,480,0,[zht,p_t])))}function _Jt(){_Jt=Z,Bye=Wr((G$(),lt(ct(x_t,1),oe,426,0,[y_t,Uht])))}function SJt(){SJt=Z,V3e=Wr((jD(),lt(ct(TSt,1),oe,429,0,[VG,ESt])))}function AJt(){AJt=Z,_3e=Wr((bD(),lt(ct(nSt,1),oe,430,0,[eft,qG])))}function $9(){$9=Z,BS=new Hbt("UPPER",0),NS=new Hbt("LOWER",1)}function can(t,e){var n;n=new _x,r2(n,"x",e.a),r2(n,"y",e.b),Vx(t,n)}function uan(t,e){var n;n=new _x,r2(n,"x",e.a),r2(n,"y",e.b),Vx(t,n)}function lan(t,e){var n,r;r=!1;do n=bre(t,e),r=r|n;while(n);return r}function fmt(t,e){var n,r;for(n=e,r=0;n>0;)r+=t.a[n],n-=n&-n;return r}function LJt(t,e){var n;for(n=e;n;)jm(t,-n.i,-n.j),n=es(n);return t}function va(t,e){var n,r;for(On(e),r=t.Kc();r.Ob();)n=r.Pb(),e.td(n)}function MJt(t,e){var n;return n=e.cd(),new Lw(n,t.e.pc(n,u(e.dd(),14)))}function fs(t,e,n,r){var s;s=new xt,s.c=e,s.b=n,s.a=r,r.b=n.a=s,++t.b}function ch(t,e,n){var r;return r=(An(e,t.c.length),t.c[e]),t.c[e]=n,r}function han(t,e,n){return u(e==null?au(t.f,null,n):sv(t.g,e,n),281)}function zrt(t){return t.c&&t.d?Kvt(t.c)+"->"+Kvt(t.d):"e_"+Pw(t)}function N8(t,e){return(w2(t),qC(new Tn(t,new Nmt(e,t.a)))).sd(o7)}function fan(){return Wa(),lt(ct(I7t,1),oe,356,0,[Dd,gb,cu,qc,Io])}function dan(){return ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])}function gan(t){return AR(),function(){return Csn(t,this,arguments)}}function pan(){return Date.now?Date.now():new Date().getTime()}function Ga(t){return!t.c||!t.d?!1:!!t.c.i&&t.c.i==t.d.i}function DJt(t){if(!t.c.Sb())throw it(new lc);return t.a=!0,t.c.Ub()}function dD(t){t.i=0,CM(t.b,null),CM(t.c,null),t.a=null,t.e=null,++t.g}function dmt(t){kXe.call(this,t==null?_u:$o(t),_t(t,78)?u(t,78):null)}function IJt(t){rfe(),nqt(this),this.a=new Zi,$yt(this,t),ri(this.a,t)}function OJt(){ant(this),this.b=new $e(as,as),this.a=new $e(Cs,Cs)}function PJt(t,e){this.c=0,this.b=e,cUt.call(this,t,17493),this.a=this.c}function qrt(t){N$(),!$1&&(this.c=t,this.e=!0,this.a=new he)}function N$(){N$=Z,$1=!0,Jge=!1,tpe=!1,npe=!1,epe=!1}function gmt(t,e){return _t(e,149)?hn(t.c,u(e,149).c):!1}function pmt(t,e){var n;return n=0,t&&(n+=t.f.a/2),e&&(n+=e.f.a/2),n}function Hrt(t,e){var n;return n=u(Xw(t.d,e),23),n||u(Xw(t.e,e),23)}function FJt(t){this.b=t,nr.call(this,t),this.a=u(Dn(this.b.a,4),126)}function NJt(t){this.b=t,Bx.call(this,t),this.a=u(Dn(this.b.a,4),126)}function sl(t){return t.t||(t.t=new Uzt(t),n_(new sHt(t),0,t.t)),t.t}function ban(){return ao(),lt(ct(XS,1),oe,103,0,[h0,Cf,zh,ng,rg])}function wan(){return l4(),lt(ct(tA,1),oe,249,0,[Eb,iP,IAt,JS,OAt])}function van(){return Qf(),lt(ct(ip,1),oe,175,0,[qn,ea,Pd,V2,rp])}function man(){return uI(),lt(ct(aSt,1),oe,316,0,[rSt,nft,sSt,rft,iSt])}function yan(){return u_(),lt(ct(N9t,1),oe,315,0,[F9t,xht,kht,DS,IS])}function xan(){return x2(),lt(ct(FTt,1),oe,335,0,[Mlt,PTt,Dlt,vS,wS])}function kan(){return AE(),lt(ct(y3e,1),oe,355,0,[i5,G6,GS,VS,US])}function Ean(){return b4(),lt(ct(w2e,1),oe,363,0,[$V,qV,HV,zV,jV])}function Tan(){return dh(),lt(ct(fCt,1),oe,163,0,[MO,ES,bb,TS,jy])}function B8(){B8=Z;var t,e;wU=(c8(),e=new xR,e),vU=(t=new ret,t)}function BJt(t){var e;return t.c||(e=t.r,_t(e,88)&&(t.c=u(e,26))),t.c}function Can(t){return t.e=3,t.d=t.Yb(),t.e!=2?(t.e=0,!0):!1}function Vrt(t){var e,n,r;return e=t&hl,n=t>>22&hl,r=t<0?Z0:0,iu(e,n,r)}function _an(t){var e,n,r,s;for(n=t,r=0,s=n.length;r0?Fie(t,e):rue(t,-e)}function bmt(t,e){return e==0||t.e==0?t:e>0?rue(t,e):Fie(t,-e)}function Mr(t){if(zr(t))return t.c=t.a,t.a.Pb();throw it(new lc)}function jJt(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(Vn(),ks)&&n.k==ks}function Grt(t){var e;return e=new Vw,Mo(e,t),Jt(e,(Te(),So),null),e}function Urt(t,e,n){var r;return r=t.Yg(e),r>=0?t._g(r,n,!0):dv(t,e,n)}function wmt(t,e,n,r){var s;for(s=0;se)throw it(new yo(J4t(t,e,"index")));return t}function Wrt(t,e,n,r){var s;return s=Nt(Cr,Xr,25,e,15,1),j0n(s,t,e,n,r),s}function Aan(t,e){var n;n=t.q.getHours()+(e/60|0),t.q.setMinutes(e),E_(t,n)}function Lan(t,e){return b.Math.min(Wp(e.a,t.d.d.c),Wp(e.b,t.d.d.c))}function Jx(t,e){return ra(e)?e==null?b5t(t.f,null):Zne(t.g,e):b5t(t.f,e)}function L1(t){this.c=t,this.a=new S(this.c.a),this.b=new S(this.c.b)}function B$(){this.e=new he,this.c=new he,this.d=new he,this.b=new he}function VJt(){this.g=new Fpt,this.b=new Fpt,this.a=new he,this.k=new he}function GJt(t,e,n){this.a=t,this.c=e,this.d=n,le(e.e,this),le(n.b,this)}function UJt(t,e){oUt.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function WJt(t,e){cUt.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function Tmt(t,e){ent.call(this,e.rd(),e.qd()&-6),On(t),this.a=t,this.b=e}function R$(t,e,n){this.a=t,this.b=e,this.c=n,le(t.t,this),le(e.i,this)}function j$(){this.b=new Zi,this.a=new Zi,this.b=new Zi,this.a=new Zi}function $$(){$$=Z,WS=new Vi("org.eclipse.elk.labels.labelManager")}function YJt(){YJt=Z,ETt=new Ps("separateLayerConnections",(Tz(),wlt))}function Uf(){Uf=Z,Ky=new Ubt("REGULAR",0),mb=new Ubt("CRITICAL",1)}function pD(){pD=Z,Sht=new qbt("STACKED",0),BO=new qbt("SEQUENCED",1)}function bD(){bD=Z,eft=new Zbt("FIXED",0),qG=new Zbt("CENTER_NODE",1)}function Man(t,e){var n;return n=P4n(t,e),t.b=new gz(n.c.length),U3n(t,n)}function Dan(t,e,n){var r;return++t.e,--t.f,r=u(t.d[e].$c(n),133),r.dd()}function KJt(t){var e;return t.a||(e=t.r,_t(e,148)&&(t.a=u(e,148))),t.a}function Cmt(t){if(t.a){if(t.e)return Cmt(t.e)}else return t;return null}function Ian(t,e){return t.pe.p?-1:0}function z$(t,e){return On(e),t.c=0,"Initial capacity must not be negative")}function ZJt(){ZJt=Z,gpe=Wr((Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])))}function JJt(){JJt=Z,bpe=Wr((Qu(),lt(ct(ppe,1),oe,461,0,[Md,fb,kf])))}function tte(){tte=Z,vpe=Wr((yu(),lt(ct(wpe,1),oe,462,0,[n1,db,Ef])))}function ete(){ete=Z,rpe=Wr((O1(),lt(ct(fl,1),oe,132,0,[BEt,Ul,Iy])))}function nte(){nte=Z,Obe=Wr((q9(),lt(ct(D7t,1),oe,379,0,[ilt,rlt,slt])))}function rte(){rte=Z,Ybe=Wr((iv(),lt(ct(F7t,1),oe,423,0,[q4,P7t,llt])))}function ite(){ite=Z,S2e=Wr((n6(),lt(ct(DTt,1),oe,314,0,[P6,EO,MTt])))}function ste(){ste=Z,A2e=Wr((oz(),lt(ct(OTt,1),oe,337,0,[ITt,VV,Llt])))}function ate(){ate=Z,I2e=Wr((d2(),lt(ct(D2e,1),oe,450,0,[Ilt,w7,U4])))}function ote(){ote=Z,E2e=Wr((nv(),lt(ct(mlt,1),oe,361,0,[Dv,pb,Mv])))}function cte(){cte=Z,$2e=Wr((q0(),lt(ct(j2e,1),oe,303,0,[CO,Y4,F6])))}function ute(){ute=Z,R2e=Wr((eE(),lt(ct(qlt,1),oe,292,0,[$lt,zlt,TO])))}function lte(){lte=Z,ime=Wr((Z9(),lt(ct(P9t,1),oe,378,0,[vht,O9t,yG])))}function hte(){hte=Z,fme=Wr((yz(),lt(ct(W9t,1),oe,375,0,[G9t,_ht,U9t])))}function fte(){fte=Z,cme=Wr((V0(),lt(ct(H9t,1),oe,339,0,[vb,q9t,Eht])))}function dte(){dte=Z,hme=Wr((so(),lt(ct(lme,1),oe,452,0,[OS,tl,nu])))}function gte(){gte=Z,bme=Wr((Cz(),lt(ct(t_t,1),oe,377,0,[Mht,L7,Yy])))}function pte(){pte=Z,gme=Wr((cE(),lt(ct(X9t,1),oe,336,0,[Aht,K9t,PS])))}function bte(){bte=Z,pme=Wr((vz(),lt(ct(J9t,1),oe,338,0,[Z9t,Lht,Q9t])))}function wte(){wte=Z,Lme=Wr((ev(),lt(ct(Ame,1),oe,454,0,[RO,FS,TG])))}function vte(){vte=Z,Nye=Wr((Nz(),lt(ct(Fye,1),oe,442,0,[Ght,Hht,Vht])))}function mte(){mte=Z,Rye=Wr((HD(),lt(ct(T_t,1),oe,380,0,[NG,k_t,E_t])))}function yte(){yte=Z,e3e=Wr((Fz(),lt(ct(q_t,1),oe,381,0,[z_t,Qht,$_t])))}function xte(){xte=Z,t3e=Wr((mz(),lt(ct(R_t,1),oe,293,0,[Xht,B_t,N_t])))}function kte(){kte=Z,k3e=Wr((KD(),lt(ct(Zht,1),oe,437,0,[jG,$G,zG])))}function Ete(){Ete=Z,C4e=Wr((G0(),lt(ct(DAt,1),oe,334,0,[tU,sp,ZS])))}function Tte(){Tte=Z,x4e=Wr((M1(),lt(ct(mAt,1),oe,272,0,[P7,Zy,F7])))}function jan(){return ua(),lt(ct(PAt,1),oe,98,0,[Tb,G1,B7,Y2,g0,Gc])}function o2(t,e){return!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),ist(t.o,e)}function $an(t){return!t.g&&(t.g=new Ik),!t.g.d&&(t.g.d=new Hzt(t)),t.g.d}function zan(t){return!t.g&&(t.g=new Ik),!t.g.a&&(t.g.a=new Vzt(t)),t.g.a}function qan(t){return!t.g&&(t.g=new Ik),!t.g.b&&(t.g.b=new qzt(t)),t.g.b}function wD(t){return!t.g&&(t.g=new Ik),!t.g.c&&(t.g.c=new Gzt(t)),t.g.c}function Han(t,e,n){var r,s;for(s=new tE(e,t),r=0;rn||e=0?t._g(n,!0,!0):dv(t,e,!0)}function aon(t,e){return Ms(Xt(ye(Q(t,(ae(),Fv)))),Xt(ye(Q(e,Fv))))}function Dte(){Dte=Z,Dye=uv(uv(VR(new Vs,(wE(),RS)),(p_(),LG)),Oht)}function oon(t,e,n){var r;return r=xre(t,e,n),t.b=new gz(r.c.length),z5t(t,r)}function con(t){if(t.b<=0)throw it(new lc);return--t.b,t.a-=t.c.c,pe(t.a)}function uon(t){var e;if(!t.a)throw it(new FXt);return e=t.a,t.a=es(t.a),e}function lon(t){for(;!t.a;)if(!mYt(t.c,new ze(t)))return!1;return!0}function e6(t){var e;return Lr(t),_t(t,198)?(e=u(t,198),e):new btt(t)}function hon(t){V$(),u(t.We((ui(),Qy)),174).Fc((Zu(),sP)),t.Ye(kft,null)}function V$(){V$=Z,W3e=new LZ,K3e=new MZ,Y3e=Kun((ui(),kft),W3e,xb,K3e)}function G$(){G$=Z,y_t=new Qbt("LEAF_NUMBER",0),Uht=new Qbt("NODE_SIZE",1)}function fon(t,e,n){t.a=e,t.c=n,t.b.a.$b(),Ah(t.d),t.e.a.c=Nt(Qn,De,1,0,5,1)}function tit(t){t.a=Nt(Cr,Xr,25,t.b+1,15,1),t.c=Nt(Cr,Xr,25,t.b,15,1),t.d=0}function don(t,e){t.a.ue(e.d,t.b)>0&&(le(t.c,new $wt(e.c,e.d,t.d)),t.b=e.d)}function Fmt(t,e){if(t.g==null||e>=t.i)throw it(new nnt(e,t.i));return t.g[e]}function Ite(t,e,n){if(sE(t,n),n!=null&&!t.wj(n))throw it(new tet);return n}function Ote(t){var e;if(t.Ek())for(e=t.i-1;e>=0;--e)At(t,e);return amt(t)}function gon(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function pon(t,e){var n,r;return eJt(e),n=(r=t.slice(0,e),Bmt(r,t)),n.length=e,n}function $8(t,e,n,r){var s;r=(Z3(),r||_Et),s=t.slice(e,n),t5t(s,t,e,n,-e,r)}function uh(t,e,n,r,s){return e<0?dv(t,n,r):u(n,66).Nj().Pj(t,t.yh(),e,r,s)}function bon(t){return _t(t,172)?""+u(t,172).a:t==null?null:$o(t)}function won(t){return _t(t,172)?""+u(t,172).a:t==null?null:$o(t)}function Pte(t,e){if(e.a)throw it(new Vo(Pfe));Fs(t.a,e),e.a=t,!t.j&&(t.j=e)}function Nmt(t,e){ent.call(this,e.rd(),e.qd()&-16449),On(t),this.a=t,this.c=e}function Fte(t,e){var n,r;return r=e/t.c.Hd().gc()|0,n=e%t.c.Hd().gc(),t6(t,r,n)}function Qu(){Qu=Z,Md=new Let(y6,0),fb=new Let(qE,1),kf=new Let(x6,2)}function U$(){U$=Z,jut=new YR("All",0),OEt=new MUt,PEt=new qUt,FEt=new DUt}function Nte(){Nte=Z,Qge=Wr((U$(),lt(ct(sV,1),oe,297,0,[jut,OEt,PEt,FEt])))}function Bte(){Bte=Z,qbe=Wr((nE(),lt(ct(zbe,1),oe,405,0,[Lv,Fy,Py,z4])))}function Rte(){Rte=Z,Hpe=Wr((rv(),lt(ct(qpe,1),oe,406,0,[hO,lO,Wut,Yut])))}function jte(){jte=Z,Gpe=Wr((u6(),lt(ct(Vpe,1),oe,323,0,[dO,fO,gO,pO])))}function $te(){$te=Z,Ype=Wr((c_(),lt(ct(Wpe,1),oe,394,0,[bO,lV,hV,wO])))}function zte(){zte=Z,fye=Wr((wE(),lt(ct(s_t,1),oe,393,0,[AG,RS,$O,jS])))}function qte(){qte=Z,o2e=Wr((Tz(),lt(ct(a2e,1),oe,360,0,[wlt,BV,RV,kO])))}function Hte(){Hte=Z,Jye=Wr((eq(),lt(ct(F_t,1),oe,340,0,[Kht,O_t,P_t,I_t])))}function Vte(){Vte=Z,b2e=Wr((I1(),lt(ct(p2e,1),oe,411,0,[O6,f7,d7,vlt])))}function Gte(){Gte=Z,sme=Wr((cy(),lt(ct(yht,1),oe,197,0,[xG,mht,n5,e5])))}function Ute(){Ute=Z,q4e=Wr((Sl(),lt(ct(z4e,1),oe,396,0,[Ql,qAt,zAt,HAt])))}function Wte(){Wte=Z,S4e=Wr((zl(),lt(ct(_4e,1),oe,285,0,[rP,f0,kb,nP])))}function Yte(){Yte=Z,k4e=Wr((W0(),lt(ct(_ft,1),oe,218,0,[Cft,eP,N7,X6])))}function Kte(){Kte=Z,j4e=Wr((jz(),lt(ct($At,1),oe,311,0,[Lft,BAt,jAt,RAt])))}function Xte(){Xte=Z,B4e=Wr((Al(),lt(ct(rA,1),oe,374,0,[oP,K2,aP,Jy])))}function Qte(){Qte=Z,Dq(),TLt=as,V5e=Cs,CLt=new P3(as),G5e=new P3(Cs)}function xD(){xD=Z,jTt=new jbt(J0,0),WV=new jbt("IMPROVE_STRAIGHTNESS",1)}function von(t,e){return k8(),le(t,new fa(e,pe(e.e.c.length+e.g.c.length)))}function mon(t,e){return k8(),le(t,new fa(e,pe(e.e.c.length+e.g.c.length)))}function Bmt(t,e){return _D(e)!=10&<(ol(e),e.hm,e.__elementTypeId$,_D(e),t),t}function mu(t,e){var n;return n=Ro(t,e,0),n==-1?!1:(Fg(t,n),!0)}function Zte(t,e){var n;return n=u(Jx(t.e,e),387),n?(Hwt(n),n.e):null}function z8(t){var e;return Bo(t)&&(e=0-t,!isNaN(e))?e:Kp(rE(t))}function Ro(t,e,n){for(;n=0?Xz(t,n,!0,!0):dv(t,e,!0)}function qmt(t,e){GC();var n,r;return n=Xx(t),r=Xx(e),!!n&&!!r&&!gse(n.k,r.k)}function kon(t,e){ku(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Eon(t,e){Eu(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Ton(t,e){tv(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function Con(t,e){Jw(t,e==null||Pj((On(e),e))||isNaN((On(e),e))?0:(On(e),e))}function ree(t){(this.q?this.q:(wn(),wn(),u0)).Ac(t.q?t.q:(wn(),wn(),u0))}function _on(t,e){return _t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t)}function Son(t,e){return _t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t)}function iee(t,e){c7t=new vp,Upe=e,hS=t,u(hS.b,65),Amt(hS,c7t,null),Qle(hS)}function sit(t,e,n){var r;return r=t.g[e],p9(t,e,t.oi(e,n)),t.gi(e,n,r),t.ci(),r}function X$(t,e){var n;return n=t.Xc(e),n>=0?(t.$c(n),!0):!1}function ait(t){var e;return t.d!=t.r&&(e=Dh(t),t.e=!!e&&e.Cj()==j0e,t.d=e),t.e}function oit(t,e){var n;for(Lr(t),Lr(e),n=!1;e.Ob();)n=n|t.Fc(e.Pb());return n}function Xw(t,e){var n;return n=u(tr(t.e,e),387),n?(XUt(t,n),n.e):null}function see(t){var e,n;return e=t/60|0,n=t%60,n==0?""+e:""+e+":"+(""+n)}function Wo(t,e){var n,r;return w2(t),r=new Tmt(e,t.a),n=new kYt(r),new Tn(t,n)}function Jm(t,e){var n=t.a[e],r=(_it(),Put)[typeof n];return r?r(n):Uyt(typeof n)}function Aon(t){switch(t.g){case 0:return wi;case 1:return-1;default:return 0}}function Lon(t){return u4t(t,(q8(),oEt))<0?-GQe(rE(t)):t.l+t.m*m6+t.h*C2}function _D(t){return t.__elementTypeCategory$==null?10:t.__elementTypeCategory$}function cit(t){var e;return e=t.b.c.length==0?null:Ne(t.b,0),e!=null&&vit(t,0),e}function aee(t,e){for(;e[0]=0;)++e[0]}function SD(t,e){this.e=e,this.a=Jne(t),this.a<54?this.f=Yw(t):this.c=JD(t)}function oee(t,e,n,r){gi(),yw.call(this,26),this.c=t,this.a=e,this.d=n,this.b=r}function Jd(t,e,n){var r,s;for(r=10,s=0;st.a[r]&&(r=n);return r}function Fon(t,e){var n;return n=av(t.e.c,e.e.c),n==0?Ms(t.e.d,e.e.d):n}function e4(t,e){return e.e==0||t.e==0?s7:(TE(),uat(t,e))}function Non(t,e){if(!t)throw it(new Fn(jwn("Enum constant undefined: %s",e)))}function H9(){H9=Z,Gbe=new xg,Ube=new T3,Hbe=new cK,Vbe=new Vb,Wbe=new uK}function Q$(){Q$=Z,qEt=new Obt("BY_SIZE",0),Hut=new Obt("BY_SIZE_AND_SHAPE",1)}function Z$(){Z$=Z,tlt=new Pbt("EADES",0),gV=new Pbt("FRUCHTERMAN_REINGOLD",1)}function LD(){LD=Z,GV=new Rbt("READING_DIRECTION",0),NTt=new Rbt("ROTATION",1)}function uee(){uee=Z,L2e=Wr((x2(),lt(ct(FTt,1),oe,335,0,[Mlt,PTt,Dlt,vS,wS])))}function lee(){lee=Z,ame=Wr((u_(),lt(ct(N9t,1),oe,315,0,[F9t,xht,kht,DS,IS])))}function hee(){hee=Z,v2e=Wr((b4(),lt(ct(w2e,1),oe,363,0,[$V,qV,HV,zV,jV])))}function fee(){fee=Z,q2e=Wr((dh(),lt(ct(fCt,1),oe,163,0,[MO,ES,bb,TS,jy])))}function dee(){dee=Z,S3e=Wr((uI(),lt(ct(aSt,1),oe,316,0,[rSt,nft,sSt,rft,iSt])))}function gee(){gee=Z,X3e=Wr((Qf(),lt(ct(ip,1),oe,175,0,[qn,ea,Pd,V2,rp])))}function pee(){pee=Z,x3e=Wr((AE(),lt(ct(y3e,1),oe,355,0,[i5,G6,GS,VS,US])))}function bee(){bee=Z,Bbe=Wr((Wa(),lt(ct(I7t,1),oe,356,0,[Dd,gb,cu,qc,Io])))}function wee(){wee=Z,y4e=Wr((ao(),lt(ct(XS,1),oe,103,0,[h0,Cf,zh,ng,rg])))}function vee(){vee=Z,L4e=Wr((l4(),lt(ct(tA,1),oe,249,0,[Eb,iP,IAt,JS,OAt])))}function mee(){mee=Z,I4e=Wr((ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])))}function uit(t,e){var n;return n=u(tr(t.a,e),134),n||(n=new ka,ki(t.a,e,n)),n}function yee(t){var e;return e=u(Q(t,(ae(),Iv)),305),e?e.a==t:!1}function xee(t){var e;return e=u(Q(t,(ae(),Iv)),305),e?e.i==t:!1}function kee(t,e){return On(e),uvt(t),t.d.Ob()?(e.td(t.d.Pb()),!0):!1}function J$(t){return yc(t,wi)>0?wi:yc(t,Sa)<0?Sa:Ar(t)}function ty(t){return t<3?(jl(t,bfe),t+1):t=0&&e=-.01&&t.a<=B1&&(t.a=0),t.b>=-.01&&t.b<=B1&&(t.b=0),t}function Tee(t,e){return e==(Ant(),Ant(),Yge)?t.toLocaleLowerCase():t.toLowerCase()}function Vmt(t){return(t.i&2?"interface ":t.i&1?"":"class ")+(P0(t),t.o)}function Co(t){var e,n;n=(e=new iet,e),Dr((!t.q&&(t.q=new fe(Wh,t,11,10)),t.q),n)}function Bon(t,e){var n;return n=e>0?e-1:e,yHt(QKe(Kee(qwt(new r8,n),t.n),t.j),t.k)}function Ron(t,e,n,r){var s;t.j=-1,d5t(t,W4t(t,e,n),(to(),s=u(e,66).Mj(),s.Ok(r)))}function Cee(t){this.g=t,this.f=new he,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function _ee(t){this.b=new he,this.a=new he,this.c=new he,this.d=new he,this.e=t}function See(t,e){this.a=new _r,this.e=new _r,this.b=(Z9(),yG),this.c=t,this.b=e}function Aee(t,e,n){Ij.call(this),Gmt(this),this.a=t,this.c=n,this.b=e.d,this.f=e.e}function Lee(t){this.d=t,this.c=t.c.vc().Kc(),this.b=null,this.a=null,this.e=(TR(),Mut)}function Qw(t){if(t<0)throw it(new Fn("Illegal Capacity: "+t));this.g=this.ri(t)}function jon(t,e){if(0>t||t>e)throw it(new ibt("fromIndex: 0, toIndex: "+t+Uxt+e))}function $on(t){var e;if(t.a==t.b.a)throw it(new lc);return e=t.a,t.c=e,t.a=t.a.e,e}function tz(t){var e;Rm(!!t.c),e=t.c.a,lh(t.d,t.c),t.b==t.c?t.b=e:--t.a,t.c=null}function ez(t,e){var n;return w2(t),n=new QXt(t,t.a.rd(),t.a.qd()|4,e),new Tn(t,n)}function zon(t,e){var n,r;return n=u(sy(t.d,e),14),n?(r=e,t.e.pc(r,n)):null}function nz(t,e){var n,r;for(r=t.Kc();r.Ob();)n=u(r.Pb(),70),Jt(n,(ae(),j6),e)}function qon(t){var e;return e=Xt(ye(Q(t,(Te(),Jg)))),e<0&&(e=0,Jt(t,Jg,e)),e}function Hon(t,e,n){var r;r=b.Math.max(0,t.b/2-.5),h_(n,r,1),le(e,new eGt(n,r))}function Von(t,e,n){var r;return r=t.a.e[u(e.a,10).p]-t.a.e[u(n.a,10).p],ps(JM(r))}function Mee(t,e,n,r,s,o){var h;h=Grt(r),Oa(h,s),oa(h,o),ln(t.a,r,new Fj(h,e,n.f))}function Dee(t,e){var n;if(n=mI(t.Tg(),e),!n)throw it(new Fn(lb+e+Wct));return n}function ey(t,e){var n;for(n=t;es(n);)if(n=es(n),n==e)return!0;return!1}function Gon(t,e){var n,r,s;for(r=e.a.cd(),n=u(e.a.dd(),14).gc(),s=0;s0&&(t.a/=e,t.b/=e),t}function Rl(t){var e;return t.w?t.w:(e=tsn(t),e&&!e.kh()&&(t.w=e),e)}function Jon(t){var e;return t==null?null:(e=u(t,190),tgn(e,e.length))}function At(t,e){if(t.g==null||e>=t.i)throw it(new nnt(e,t.i));return t.li(e,t.g[e])}function tcn(t){var e,n;for(e=t.a.d.j,n=t.c.d.j;e!=n;)vf(t.b,e),e=Oz(e);vf(t.b,e)}function ecn(t){var e;for(e=0;e=14&&e<=16))),t}function Fee(t,e,n){var r=function(){return t.apply(r,arguments)};return e.apply(r,n),r}function Nee(t,e,n){var r,s;r=e;do s=Xt(t.p[r.p])+n,t.p[r.p]=s,r=t.a[r.p];while(r!=e)}function H8(t,e){var n,r;r=t.a,n=Fln(t,e,null),r!=e&&!t.e&&(n=PE(t,e,n)),n&&n.Fi()}function Umt(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)}function Wmt(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)}function icn(t,e){return nb(),pu(t.b.c.length-t.e.c.length,e.b.c.length-e.e.c.length)}function n4(t,e){return nXe(U9(t,e,Ar(_a(i0,Xd(Ar(_a(e==null?0:Hi(e),s0)),15)))))}function Bee(){Bee=Z,Zbe=Wr((Vn(),lt(ct(flt,1),oe,267,0,[Os,ta,ks,Hc,Ll,z1])))}function Ree(){Ree=Z,s4e=Wr((hy(),lt(ct(dft,1),oe,291,0,[fft,XO,KO,hft,WO,YO])))}function jee(){jee=Z,J3e=Wr((t0(),lt(ct(LSt,1),oe,248,0,[uft,GO,UO,WG,GG,UG])))}function $ee(){$ee=Z,C2e=Wr((h6(),lt(ct(b7,1),oe,227,0,[p7,bS,g7,Ny,G4,V4])))}function zee(){zee=Z,N2e=Wr((kE(),lt(ct(QTt,1),oe,275,0,[mS,WTt,XTt,KTt,YTt,UTt])))}function qee(){qee=Z,F2e=Wr((oI(),lt(ct(GTt,1),oe,274,0,[YV,qTt,VTt,zTt,HTt,Rlt])))}function Hee(){Hee=Z,rme=Wr((uq(),lt(ct(I9t,1),oe,313,0,[wht,M9t,bht,L9t,D9t,mG])))}function Vee(){Vee=Z,O2e=Wr((dq(),lt(ct(RTt,1),oe,276,0,[Plt,Olt,Nlt,Flt,Blt,UV])))}function Gee(){Gee=Z,gye=Wr((p_(),lt(ct(dye,1),oe,327,0,[LG,Oht,Fht,Pht,Nht,Iht])))}function Uee(){Uee=Z,D4e=Wr((Zu(),lt(ct(eU,1),oe,273,0,[Cb,sg,sP,nA,eA,Q6])))}function Wee(){Wee=Z,E4e=Wr((hq(),lt(ct(CAt,1),oe,312,0,[Sft,kAt,TAt,yAt,EAt,xAt])))}function scn(){return py(),lt(ct(lo,1),oe,93,0,[_f,ig,Sf,Lf,d0,Hh,Yl,Af,qh])}function iz(t,e){var n;n=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,0,n,t.a))}function sz(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,1,n,t.b))}function V8(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,3,n,t.b))}function Jw(t,e){var n;n=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,3,n,t.f))}function tv(t,e){var n;n=t.g,t.g=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,4,n,t.g))}function ku(t,e){var n;n=t.i,t.i=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,5,n,t.i))}function Eu(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,6,n,t.j))}function G8(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,1,n,t.j))}function U8(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,4,n,t.c))}function W8(t,e){var n;n=t.k,t.k=e,t.Db&4&&!(t.Db&1)&&mi(t,new Qm(t,2,n,t.k))}function hit(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,2,n,t.d))}function Rg(t,e){var n;n=t.s,t.s=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,4,n,t.s))}function ry(t,e){var n;n=t.t,t.t=e,t.Db&4&&!(t.Db&1)&&mi(t,new Rrt(t,5,n,t.t))}function Y8(t,e){var n;n=t.F,t.F=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,5,n,e))}function MD(t,e){var n;return n=u(tr((GR(),dU),t),55),n?n.xj(e):Nt(Qn,De,1,e,5,1)}function H0(t,e){var n,r;return n=e in t.a,n&&(r=B0(t,e).he(),r)?r.a:null}function acn(t,e){var n,r,s;return n=(r=(Sw(),s=new ZT,s),e&&F5t(r,e),r),nyt(n,t),n}function Yee(t,e,n){if(sE(t,n),!t.Bk()&&n!=null&&!t.wj(n))throw it(new tet);return n}function Kee(t,e){return t.n=e,t.n?(t.f=new he,t.e=new he):(t.f=null,t.e=null),t}function jr(t,e,n,r,s,o){var h;return h=rrt(t,e),Qee(n,h),h.i=s?8:0,h.f=r,h.e=s,h.g=o,h}function Ymt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=1,this.c=t,this.a=n}function Kmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=2,this.c=t,this.a=n}function Xmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=6,this.c=t,this.a=n}function Qmt(t,e,n,r,s){this.d=e,this.k=r,this.f=s,this.o=-1,this.p=7,this.c=t,this.a=n}function Zmt(t,e,n,r,s){this.d=e,this.j=r,this.e=s,this.o=-1,this.p=4,this.c=t,this.a=n}function Xee(t,e){var n,r,s,o;for(r=e,s=0,o=r.length;s=0),afn(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1}function Jmt(t){return t.a<54?t.f<0?-1:t.f>0?1:0:(!t.c&&(t.c=VD(t.f)),t.c).e}function wf(t){if(!(t>=0))throw it(new Fn("tolerance ("+t+") must be >= 0"));return t}function K8(){return oft||(oft=new jue,o4(oft,lt(ct($4,1),De,130,0,[new Tp]))),oft}function so(){so=Z,OS=new zet(N_,0),tl=new zet("INPUT",1),nu=new zet("OUTPUT",2)}function oz(){oz=Z,ITt=new Fet("ARD",0),VV=new Fet("MSD",1),Llt=new Fet("MANUAL",2)}function ev(){ev=Z,RO=new Uet("BARYCENTER",0),FS=new Uet(E1e,1),TG=new Uet(T1e,2)}function DD(t,e){var n;if(n=t.gc(),e<0||e>n)throw it(new qm(e,n));return new wwt(t,e)}function tne(t,e){var n;return _t(e,42)?t.c.Mc(e):(n=ist(t,e),qz(t,e),n)}function bo(t,e,n){return b2(t,e),Qc(t,n),Rg(t,0),ry(t,1),qg(t,!0),zg(t,!0),t}function jl(t,e){if(t<0)throw it(new Fn(e+" cannot be negative but was: "+t));return t}function ene(t,e){var n,r;for(n=0,r=t.gc();n0?u(Ne(n.a,r-1),10):null}function G9(t,e){var n;n=t.k,t.k=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,2,n,t.k))}function uz(t,e){var n;n=t.f,t.f=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,8,n,t.f))}function lz(t,e){var n;n=t.i,t.i=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,7,n,t.i))}function nyt(t,e){var n;n=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,8,n,t.a))}function ryt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,n,t.b))}function iyt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,n,t.b))}function syt(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.c))}function ayt(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.c))}function dit(t,e){var n;n=t.c,t.c=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,4,n,t.c))}function oyt(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,1,n,t.d))}function git(t,e){var n;n=t.D,t.D=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,2,n,t.D))}function pit(t,e){t.r>0&&t.c0&&t.g!=0&&pit(t.i,e/t.r*t.i.d))}function pcn(t,e,n){var r;t.b=e,t.a=n,r=(t.a&512)==512?new Vqt:new XL,t.c=Dvn(r,t.b,t.a)}function lne(t,e){return X0(t.e,e)?(to(),ait(e)?new qj(e,t):new BM(e,t)):new nUt(e,t)}function hz(t,e){return eXe(W9(t.a,e,Ar(_a(i0,Xd(Ar(_a(e==null?0:Hi(e),s0)),15)))))}function bcn(t,e,n){return Zm(t,new ge(e),new Kn,new be(n),lt(ct(fl,1),oe,132,0,[]))}function wcn(t){var e,n;return 0>t?new mbt:(e=t+1,n=new PJt(e,t),new Z2t(null,n))}function vcn(t,e){wn();var n;return n=new Lx(1),ra(t)?ko(n,t,e):au(n.f,t,e),new q(n)}function mcn(t,e){var n,r;return n=t.o+t.p,r=e.o+e.p,ne?(e<<=1,e>0?e:D_):e}function bit(t){switch(L2t(t.e!=3),t.e){case 2:return!1;case 0:return!0}return Can(t)}function fne(t,e){var n;return _t(e,8)?(n=u(e,8),t.a==n.a&&t.b==n.b):!1}function wit(t,e,n){var r,s,o;return o=e>>5,s=e&31,r=Ns(Vm(t.n[n][o],Ar(F0(s,1))),3),r}function xcn(t,e){var n,r;for(r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),aq(t,n.cd(),n.dd())}function kcn(t,e){var n;n=new vp,u(e.b,65),u(e.b,65),u(e.b,65),xu(e.a,new Awt(t,n,e))}function cyt(t,e){var n;n=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,21,n,t.b))}function uyt(t,e){var n;n=t.d,t.d=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,11,n,t.d))}function fz(t,e){var n;n=t.j,t.j=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,13,n,t.j))}function dne(t,e,n){var r,s,o;for(o=t.a.length-1,s=t.b,r=0;r>>31;r!=0&&(t[n]=r)}function Icn(t,e){wn();var n,r;for(r=new he,n=0;n0&&(this.g=this.ri(this.i+(this.i/8|0)+1),t.Qc(this.g))}function ss(t,e){Rj.call(this,E5e,t,e),this.b=this,this.a=ou(t.Tg(),yn(this.e.Tg(),this.c))}function Y9(t,e){var n,r;for(On(e),r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),t.zc(n.cd(),n.dd())}function qcn(t,e,n){var r;for(r=n.Kc();r.Ob();)if(!O$(t,e,r.Pb()))return!1;return!0}function Hcn(t,e,n,r,s){var o;return n&&(o=Gi(e.Tg(),t.c),s=n.gh(e,-1-(o==-1?r:o),null,s)),s}function Vcn(t,e,n,r,s){var o;return n&&(o=Gi(e.Tg(),t.c),s=n.ih(e,-1-(o==-1?r:o),null,s)),s}function Ine(t){var e;if(t.b==-2){if(t.e==0)e=-1;else for(e=0;t.a[e]==0;e++);t.b=e}return t.b}function One(t){switch(t.g){case 2:return ve(),Bn;case 4:return ve(),Hn;default:return t}}function Pne(t){switch(t.g){case 1:return ve(),mr;case 3:return ve(),Pn;default:return t}}function Gcn(t){var e,n,r;return t.j==(ve(),Pn)&&(e=uce(t),n=Nu(e,Hn),r=Nu(e,Bn),r||r&&n)}function Ucn(t){var e,n;return e=u(t.e&&t.e(),9),n=u(yvt(e,e.length),9),new sh(e,n,e.length)}function Wcn(t,e){vr(e,k1e,1),p3t(dXe(new er((VC(),new hrt(t,!1,!1,new aN))))),or(e)}function ID(t,e){return Nn(),ra(t)?kmt(t,Br(e)):Bm(t)?Unt(t,ye(e)):Nm(t)?Qen(t,Re(e)):t.wd(e)}function pyt(t,e){e.q=t,t.d=b.Math.max(t.d,e.r),t.b+=e.d+(t.a.c.length==0?0:t.c),le(t.a,e)}function Q8(t,e){var n,r,s,o;return s=t.c,n=t.c+t.b,o=t.d,r=t.d+t.a,e.a>s&&e.ao&&e.b1||t.Ob())return++t.a,t.g=0,e=t.i,t.Ob(),e;throw it(new lc)}function sun(t){FUt();var e;return GVt(Dht,t)||(e=new RQ,e.a=t,swt(Dht,t,e)),u(po(Dht,t),635)}function Lh(t){var e,n,r,s;return s=t,r=0,s<0&&(s+=C2,r=Z0),n=ps(s/m6),e=ps(s-n*m6),iu(e,n,r)}function OD(t){var e,n,r;for(r=0,n=new Mx(t.a);n.a>22),s=t.h+e.h+(r>>22),iu(n&hl,r&hl,s&Z0)}function tre(t,e){var n,r,s;return n=t.l-e.l,r=t.m-e.m+(n>>22),s=t.h-e.h+(r>>22),iu(n&hl,r&hl,s&Z0)}function BD(t){var e;return t<128?(e=(pKt(),hEt)[t],!e&&(e=hEt[t]=new hR(t)),e):new hR(t)}function Wi(t){var e;return _t(t,78)?t:(e=t&&t.__java$exception,e||(e=new Hre(t),aqt(e)),e)}function RD(t){if(_t(t,186))return u(t,118);if(t)return null;throw it(new Sx(Kde))}function ere(t,e){if(e==null)return!1;for(;t.a!=t.b;)if(yi(e,Mz(t)))return!0;return!1}function xyt(t){return t.a.Ob()?!0:t.a!=t.d?!1:(t.a=new emt(t.e.f),t.a.Ob())}function Ls(t,e){var n,r;return n=e.Pc(),r=n.length,r==0?!1:(Pwt(t.c,t.c.length,n),!0)}function yun(t,e,n){var r,s;for(s=e.vc().Kc();s.Ob();)r=u(s.Pb(),42),t.yc(r.cd(),r.dd(),n);return t}function nre(t,e){var n,r;for(r=new S(t.b);r.a=0,"Negative initial capacity"),Bj(e>=0,"Non-positive load factor"),Xu(this)}function Sit(t,e,n){return t>=128?!1:t<64?u9(Ns(F0(1,t),n),0):u9(Ns(F0(1,t-64),e),0)}function Lun(t,e){return!t||!e||t==e?!1:av(t.b.c,e.b.c+e.b.b)<0&&av(e.b.c,t.b.c+t.b.b)<0}function gre(t){var e,n,r;return n=t.n,r=t.o,e=t.d,new ah(n.a-e.b,n.b-e.d,r.a+(e.b+e.c),r.b+(e.d+e.a))}function Mun(t){var e,n,r,s;for(n=t.a,r=0,s=n.length;rr)throw it(new qm(e,r));return t.hi()&&(n=DQt(t,n)),t.Vh(e,n)}function zD(t,e,n){return n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n)),t}function Jt(t,e,n){return n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n)),t}function pre(t){var e,n;return n=new B$,Mo(n,t),Jt(n,(Yp(),I6),t),e=new _r,Pyn(t,n,e),a5n(t,n,e),n}function Oun(t){k4();var e,n,r;for(n=Nt(Ws,ee,8,2,0,1),r=0,e=0;e<2;e++)r+=.5,n[e]=g1n(r,t);return n}function bre(t,e){var n,r,s,o;for(n=!1,r=t.a[e].length,o=0;o>=1);return e}function vre(t){var e,n;return n=pI(t.h),n==32?(e=pI(t.m),e==32?pI(t.l)+32:e+20-10):n-12}function Q9(t){var e;return e=t.a[t.b],e==null?null:(ts(t.a,t.b,null),t.b=t.b+1&t.a.length-1,e)}function mre(t){var e,n;return e=t.t-t.k[t.o.p]*t.d+t.j[t.o.p]>t.f,n=t.u+t.e[t.o.p]*t.d>t.f*t.s*t.d,e||n}function _z(t,e,n){var r,s;return r=new Qrt(e,n),s=new zt,t.b=lue(t,t.b,r,s),s.b||++t.c,t.b.b=!1,s.d}function yre(t,e,n){var r,s,o,h;for(h=t_(e,n),o=0,s=h.Kc();s.Ob();)r=u(s.Pb(),11),ki(t.c,r,pe(o++))}function Xp(t){var e,n;for(n=new S(t.a.b);n.an&&(n=t[e]);return n}function xre(t,e,n){var r;return r=new he,R5t(t,e,r,(ve(),Hn),!0,!1),R5t(t,n,r,Bn,!1,!1),r}function Lit(t,e,n){var r,s,o,h;return o=null,h=e,s=Kw(h,"labels"),r=new zGt(t,n),o=(Zbn(r.a,r.b,s),s),o}function Fun(t,e,n,r){var s;return s=C5t(t,e,n,r),!s&&(s=Nln(t,n,r),s&&!C4(t,e,s))?null:s}function Nun(t,e,n,r){var s;return s=_5t(t,e,n,r),!s&&(s=Uit(t,n,r),s&&!C4(t,e,s))?null:s}function kre(t,e){var n;for(n=0;n1||e>=0&&t.b<3)}function qD(t){var e,n,r;for(e=new Pu,r=ei(t,0);r.b!=r.d.c;)n=u(ti(r),8),m8(e,0,new xo(n));return e}function g2(t){var e,n;for(n=new S(t.a.b);n.ar?1:0}function $yt(t,e){return Uce(t,e)?(ln(t.b,u(Q(e,(ae(),By)),21),e),ri(t.a,e),!0):!1}function Yun(t){var e,n;e=u(Q(t,(ae(),Ju)),10),e&&(n=e.c,mu(n.a,e),n.a.c.length==0&&mu(Na(e).b,n))}function Are(t){return $1?Nt(Zge,Mfe,572,0,0,1):u(P1(t.a,Nt(Zge,Mfe,572,t.a.c.length,0,1)),842)}function Kun(t,e,n,r){return c$(),new uet(lt(ct(P2,1),Hq,42,0,[(kst(t,e),new Lw(t,e)),(kst(n,r),new Lw(n,r))]))}function a4(t,e,n){var r,s;return s=(r=new iet,r),bo(s,e,n),Dr((!t.q&&(t.q=new fe(Wh,t,11,10)),t.q),s),s}function Oit(t){var e,n,r,s;for(s=xXe(Z4e,t),n=s.length,r=Nt(Ae,ee,2,n,6,1),e=0;e=t.b.c.length||(zyt(t,2*e+1),n=2*e+2,n=0&&t[r]===e[r];r--);return r<0?0:Cet(Ns(t[r],co),Ns(e[r],co))?-1:1}function Xun(t,e){var n,r;for(r=ei(t,0);r.b!=r.d.c;)n=u(ti(r),214),n.e.length>0&&(e.td(n),n.i&&Vln(n))}function Fit(t,e){var n,r;return r=u(Dn(t.a,4),126),n=Nt(Fft,lut,415,e,0,1),r!=null&&Dc(r,0,n,0,r.length),n}function Mre(t,e){var n;return n=new fat((t.f&256)!=0,t.i,t.a,t.d,(t.f&16)!=0,t.j,t.g,e),t.e!=null||(n.c=t),n}function Qun(t,e){var n,r;for(r=t.Zb().Cc().Kc();r.Ob();)if(n=u(r.Pb(),14),n.Hc(e))return!0;return!1}function Nit(t,e,n,r,s){var o,h;for(h=n;h<=s;h++)for(o=e;o<=r;o++)if(f4(t,o,h))return!0;return!1}function Dre(t,e,n){var r,s,o,h;for(On(n),h=!1,o=t.Zc(e),s=n.Kc();s.Ob();)r=s.Pb(),o.Rb(r),h=!0;return h}function Zun(t,e){var n;return t===e?!0:_t(e,83)?(n=u(e,83),H4t(Rw(t),n.vc())):!1}function Ire(t,e,n){var r,s;for(s=n.Kc();s.Ob();)if(r=u(s.Pb(),42),t.re(e,r.dd()))return!0;return!1}function Ore(t,e,n){return t.d[e.p][n.p]||(Yfn(t,e,n),t.d[e.p][n.p]=!0,t.d[n.p][e.p]=!0),t.a[e.p][n.p]}function sE(t,e){if(!t.ai()&&e==null)throw it(new Fn("The 'no null' constraint is violated"));return e}function aE(t,e){t.D==null&&t.B!=null&&(t.D=t.B,t.B=null),git(t,e==null?null:(On(e),e)),t.C&&t.yk(null)}function Jun(t,e){var n;return!t||t==e||!Us(e,(ae(),Pv))?!1:(n=u(Q(e,(ae(),Pv)),10),n!=t)}function Bit(t){switch(t.i){case 2:return!0;case 1:return!1;case-1:++t.c;default:return t.pl()}}function Pre(t){switch(t.i){case-2:return!0;case-1:return!1;case 1:--t.c;default:return t.ql()}}function Fre(t){TQt.call(this,"The given string does not match the expected format for individual spacings.",t)}function Sl(){Sl=Z,Ql=new uj("ELK",0),qAt=new uj("JSON",1),zAt=new uj("DOT",2),HAt=new uj("SVG",3)}function HD(){HD=Z,NG=new Yet(J0,0),k_t=new Yet("RADIAL_COMPACTION",1),E_t=new Yet("WEDGE_COMPACTION",2)}function O1(){O1=Z,BEt=new _et("CONCURRENT",0),Ul=new _et("IDENTITY_FINISH",1),Iy=new _et("UNORDERED",2)}function Rit(){Rit=Z,f7t=(jR(),Kut),h7t=new mn(o6t,f7t),Xpe=new Vi(c6t),Qpe=new Vi(u6t),Zpe=new Vi(l6t)}function oE(){oE=Z,CTt=new J5,_Tt=new ZK,l2e=new OL,u2e=new JK,c2e=new tX,TTt=(On(c2e),new gn)}function cE(){cE=Z,Aht=new Het("CONSERVATIVE",0),K9t=new Het("CONSERVATIVE_SOFT",1),PS=new Het("SLOPPY",2)}function Sz(){Sz=Z,MAt=new Ow(15),T4e=new eo((ui(),U2),MAt),QS=Y6,_At=o4e,SAt=G2,LAt=c5,AAt=XG}function jit(t,e,n){var r,s,o;for(r=new Zi,o=ei(n,0);o.b!=o.d.c;)s=u(ti(o),8),ri(r,new xo(s));Dre(t,e,r)}function tln(t){var e,n,r;for(e=0,r=Nt(Ws,ee,8,t.b,0,1),n=ei(t,0);n.b!=n.d.c;)r[e++]=u(ti(n),8);return r}function Hyt(t){var e;return e=(!t.a&&(t.a=new fe(ag,t,9,5)),t.a),e.i!=0?vXe(u(At(e,0),678)):null}function eln(t,e){var n;return n=Pa(t,e),Cet(Drt(t,e),0)|PXe(Drt(t,n),0)?n:Pa(qq,Drt(Vm(n,63),1))}function nln(t,e){var n;n=Ie((nst(),vG))!=null&&e.wg()!=null?Xt(ye(e.wg()))/Xt(ye(Ie(vG))):1,ki(t.b,e,n)}function rln(t,e){var n,r;return n=u(t.d.Bc(e),14),n?(r=t.e.hc(),r.Gc(n),t.e.d-=n.gc(),n.$b(),r):null}function Vyt(t,e){var n,r;if(r=t.c[e],r!=0)for(t.c[e]=0,t.d-=r,n=e+1;n0)return T8(e-1,t.a.c.length),Fg(t.a,e-1);throw it(new cqt)}function iln(t,e,n){if(e<0)throw it(new yo(sde+e));ee)throw it(new Fn(Wq+t+Dfe+e));if(t<0||e>n)throw it(new ibt(Wq+t+Yxt+e+Uxt+n))}function Rre(t){if(!t.a||!(t.a.i&8))throw it(new No("Enumeration class expected for layout option "+t.f))}function iy(t){var e;++t.j,t.i==0?t.g=null:t.ikH?t-n>kH:n-t>kH}function zit(t,e){return!t||e&&!t.j||_t(t,124)&&u(t,124).a.b==0?0:t.Re()}function Lz(t,e){return!t||e&&!t.k||_t(t,124)&&u(t,124).a.a==0?0:t.Se()}function VD(t){return rb(),t<0?t!=-1?new j3t(-1,-t):But:t<=10?CEt[ps(t)]:new j3t(1,t)}function Uyt(t){throw _it(),it(new eHt("Unexpected typeof result '"+t+"'; please report this bug to the GWT team"))}function Hre(t){oHt(),yj(this),d$(this),this.e=t,nue(this,t),this.g=t==null?_u:$o(t),this.a="",this.b=t,this.a=""}function Wyt(){this.a=new vZ,this.f=new X$t(this),this.b=new Q$t(this),this.i=new Z$t(this),this.e=new J$t(this)}function Vre(){dKe.call(this,new Mmt(ty(16))),jl(2,ffe),this.b=2,this.a=new Lvt(null,null,0,null),dM(this.a,this.a)}function Z9(){Z9=Z,vht=new jet("DUMMY_NODE_OVER",0),O9t=new jet("DUMMY_NODE_UNDER",1),yG=new jet("EQUAL",2)}function qit(){qit=Z,olt=_Qt(lt(ct(XS,1),oe,103,0,[(ao(),zh),Cf])),clt=_Qt(lt(ct(XS,1),oe,103,0,[rg,ng]))}function Hit(t){return(ve(),Au).Hc(t.j)?Xt(ye(Q(t,(ae(),k7)))):Yo(lt(ct(Ws,1),ee,8,0,[t.i.n,t.n,t.a])).b}function uln(t){var e,n,r,s;for(r=t.b.a,n=r.a.ec().Kc();n.Ob();)e=u(n.Pb(),561),s=new Nce(e,t.e,t.f),le(t.g,s)}function b2(t,e){var n,r,s;r=t.nk(e,null),s=null,e&&(s=(c8(),n=new xw,n),H8(s,t.r)),r=F1(t,s,r),r&&r.Fi()}function lln(t,e){var n,r;for(r=ul(t.d,1)!=0,n=!0;n;)n=!1,n=e.c.Tf(e.e,r),n=n|yI(t,e,r,!1),r=!r;hyt(t)}function Yyt(t,e){var n,r,s;return r=!1,n=e.q.d,e.ds&&(bae(e.q,s),r=n!=e.q.d)),r}function Gre(t,e){var n,r,s,o,h,d,v,k;return v=e.i,k=e.j,r=t.f,s=r.i,o=r.j,h=v-s,d=k-o,n=b.Math.sqrt(h*h+d*d),n}function Kyt(t,e){var n,r;return r=Hz(t),r||(n=(Fat(),woe(e)),r=new Jzt(n),Dr(r.Vk(),t)),r}function GD(t,e){var n,r;return n=u(t.c.Bc(e),14),n?(r=t.hc(),r.Gc(n),t.d-=n.gc(),n.$b(),t.mc(r)):t.jc()}function Ure(t,e){var n;for(n=0;n=t.c.b:t.a<=t.c.b))throw it(new lc);return e=t.a,t.a+=t.c.c,++t.b,pe(e)}function dln(t){var e;return e=new Cee(t),hD(t.a,Wbe,new yl(lt(ct(mO,1),De,369,0,[e]))),e.d&&le(e.f,e.d),e.f}function Vit(t){var e;return e=new b2t(t.a),Mo(e,t),Jt(e,(ae(),_i),t),e.o.a=t.g,e.o.b=t.f,e.n.a=t.i,e.n.b=t.j,e}function gln(t,e,n,r){var s,o;for(o=t.Kc();o.Ob();)s=u(o.Pb(),70),s.n.a=e.a+(r.a-s.o.a)/2,s.n.b=e.b,e.b+=s.o.b+n}function pln(t,e,n){var r,s;for(s=e.a.a.ec().Kc();s.Ob();)if(r=u(s.Pb(),57),sQt(t,r,n))return!0;return!1}function bln(t){var e,n;for(n=new S(t.r);n.a=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function yln(t,e){var n,r,s;for(s=1,n=t,r=e>=0?e:-e;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return e<0?1/s:s}function Jre(t){var e,n;if(t!=null)for(n=0;n0&&(n=u(Ne(t.a,t.a.c.length-1),570),$yt(n,e))||le(t.a,new IJt(e))}function Cln(t){df();var e,n;e=t.d.c-t.e.c,n=u(t.g,145),xu(n.b,new AC(e)),xu(n.c,new Yb(e)),va(n.i,new dR(e))}function rie(t){var e;return e=new Mp,e.a+="VerticalSegment ",hc(e,t.e),e.a+=" ",Gr(e,_2t(new vet,new S(t.k))),e.a}function _ln(t){var e;return e=u(Xw(t.c.c,""),229),e||(e=new Yx(o8(a8(new xm,""),"Other")),m2(t.c.c,"",e)),e}function J9(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (name: ",go(e,t.zb),e.a+=")",e.a)}function t3t(t,e,n){var r,s;return s=t.sb,t.sb=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,4,s,e),n?n.Ei(r):n=r),n}function Git(t,e){var n,r,s;for(n=0,s=Ko(t,e).Kc();s.Ob();)r=u(s.Pb(),11),n+=Q(r,(ae(),Ju))!=null?1:0;return n}function c4(t,e,n){var r,s,o;for(r=0,o=ei(t,0);o.b!=o.d.c&&(s=Xt(ye(ti(o))),!(s>n));)s>=e&&++r;return r}function Sln(t,e,n){var r,s;return r=new z0(t.e,3,13,null,(s=e.c,s||(dn(),W1)),Hg(t,e),!1),n?n.Ei(r):n=r,n}function Aln(t,e,n){var r,s;return r=new z0(t.e,4,13,(s=e.c,s||(dn(),W1)),null,Hg(t,e),!1),n?n.Ei(r):n=r,n}function e3t(t,e,n){var r,s;return s=t.r,t.r=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,8,s,t.r),n?n.Ei(r):n=r),n}function $g(t,e){var n,r;return n=u(e,676),r=n.vk(),!r&&n.wk(r=_t(e,88)?new JGt(t,u(e,26)):new yZt(t,u(e,148))),r}function UD(t,e,n){var r;t.qi(t.i+1),r=t.oi(e,n),e!=t.i&&Dc(t.g,e,t.g,e+1,t.i-e),ts(t.g,e,r),++t.i,t.bi(e,n),t.ci()}function Lln(t,e){var n;return e.a&&(n=e.a.a.length,t.a?Gr(t.a,t.b):t.a=new Ol(t.d),kZt(t.a,e.a,e.d.length,n)),t}function Mln(t,e){var n,r,s,o;if(e.vi(t.a),o=u(Dn(t.a,8),1936),o!=null)for(n=o,r=0,s=n.length;rn)throw it(new yo(Wq+t+Yxt+e+", size: "+n));if(t>e)throw it(new Fn(Wq+t+Dfe+e))}function fh(t,e,n){if(e<0)i5t(t,n);else{if(!n.Ij())throw it(new Fn(lb+n.ne()+X_));u(n,66).Nj().Vj(t,t.yh(),e)}}function Oln(t,e,n,r,s,o,h,d){var v;for(v=n;o=r||e=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t>=48&&t<=57?t-48:0}function lie(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (source: ",go(e,t.d),e.a+=")",e.a)}function Fln(t,e,n){var r,s;return s=t.a,t.a=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,5,s,t.a),n?T4t(n,r):n=r),n}function zg(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,2,n,e))}function r3t(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,8,n,e))}function Iz(t,e){var n;n=(t.Bb&256)!=0,e?t.Bb|=256:t.Bb&=-257,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,8,n,e))}function qg(t,e){var n;n=(t.Bb&512)!=0,e?t.Bb|=512:t.Bb&=-513,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,3,n,e))}function i3t(t,e){var n;n=(t.Bb&512)!=0,e?t.Bb|=512:t.Bb&=-513,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,9,n,e))}function e_(t,e){var n;return t.b==-1&&t.a&&(n=t.a.Gj(),t.b=n?t.c.Xg(t.a.aj(),n):Gi(t.c.Tg(),t.a)),t.c.Og(t.b,e)}function pe(t){var e,n;return t>-129&&t<128?(e=t+128,n=(cKt(),fEt)[e],!n&&(n=fEt[e]=new uM(t)),n):new uM(t)}function uE(t){var e,n;return t>-129&&t<128?(e=t+128,n=(gKt(),bEt)[e],!n&&(n=bEt[e]=new fR(t)),n):new fR(t)}function s3t(t){var e,n;return e=t.k,e==(Vn(),ks)?(n=u(Q(t,(ae(),oc)),61),n==(ve(),Pn)||n==mr):!1}function Nln(t,e,n){var r,s,o;return o=(s=_E(t.b,e),s),o&&(r=u(Pq(TD(t,o),""),26),r)?C5t(t,r,e,n):null}function Uit(t,e,n){var r,s,o;return o=(s=_E(t.b,e),s),o&&(r=u(Pq(TD(t,o),""),26),r)?_5t(t,r,e,n):null}function hie(t,e){var n,r;for(r=new nr(t);r.e!=r.i.gc();)if(n=u(dr(r),138),Vt(e)===Vt(n))return!0;return!1}function n_(t,e,n){var r;if(r=t.gc(),e>r)throw it(new qm(e,r));if(t.hi()&&t.Hc(n))throw it(new Fn(eO));t.Xh(e,n)}function Bln(t,e){var n;if(n=n4(t.i,e),n==null)throw it(new ud("Node did not exist in input."));return byt(e,n),null}function Rln(t,e){var n;if(n=mI(t,e),_t(n,322))return u(n,34);throw it(new Fn(lb+e+"' is not a valid attribute"))}function jln(t,e,n){var r,s;for(s=_t(e,99)&&u(e,18).Bb&Ka?new rnt(e,t):new tE(e,t),r=0;re?1:t==e?t==0?Ms(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1}function Yln(t,e){vr(e,"Sort end labels",1),ls(Ri(Wo(new Tn(null,new _n(t.b,16)),new cN),new K5),new AK),or(e)}function r_(t,e,n){var r,s;return t.ej()?(s=t.fj(),r=Jst(t,e,n),t.$i(t.Zi(7,pe(n),r,e,s)),r):Jst(t,e,n)}function Wit(t,e){var n,r,s;t.d==null?(++t.e,--t.f):(s=e.cd(),n=e.Sh(),r=(n&wi)%t.d.length,Dan(t,r,Lce(t,r,n,s)))}function lE(t,e){var n;n=(t.Bb&xf)!=0,e?t.Bb|=xf:t.Bb&=-1025,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,10,n,e))}function hE(t,e){var n;n=(t.Bb&Ey)!=0,e?t.Bb|=Ey:t.Bb&=-4097,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,12,n,e))}function fE(t,e){var n;n=(t.Bb&Hu)!=0,e?t.Bb|=Hu:t.Bb&=-8193,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,15,n,e))}function dE(t,e){var n;n=(t.Bb&Dy)!=0,e?t.Bb|=Dy:t.Bb&=-2049,t.Db&4&&!(t.Db&1)&&mi(t,new bf(t,1,11,n,e))}function Kln(t,e){var n;return n=Ms(t.b.c,e.b.c),n!=0||(n=Ms(t.a.a,e.a.a),n!=0)?n:Ms(t.a.b,e.a.b)}function Xln(t,e){var n;if(n=tr(t.k,e),n==null)throw it(new ud("Port did not exist in input."));return byt(e,n),null}function Qln(t){var e,n;for(n=Pce(Rl(t)).Kc();n.Ob();)if(e=Br(n.Pb()),k_(t,e))return san((HVt(),l5e),e);return null}function Zln(t,e){var n,r,s,o,h;for(h=ou(t.e.Tg(),e),o=0,n=u(t.g,119),s=0;s>10)+RI&ys,e[1]=(t&1023)+56320&ys,Mh(e,0,e.length)}function Pz(t){var e,n;return n=u(Q(t,(Te(),Wl)),103),n==(ao(),h0)?(e=Xt(ye(Q(t,rG))),e>=1?Cf:ng):n}function ehn(t){switch(u(Q(t,(Te(),eg)),218).g){case 1:return new YX;case 3:return new JX;default:return new WX}}function w2(t){if(t.c)w2(t.c);else if(t.d)throw it(new No("Stream already terminated, can't be modified or used"))}function Xit(t){var e;return t.Db&64?mf(t):(e=new _h(mf(t)),e.a+=" (identifier: ",go(e,t.k),e.a+=")",e.a)}function pie(t,e,n){var r,s;return r=(Sw(),s=new xp,s),iz(r,e),sz(r,n),t&&Dr((!t.a&&(t.a=new As(Gh,t,5)),t.a),r),r}function Qit(t,e,n,r){var s,o;return On(r),On(n),s=t.xc(e),o=s==null?n:MVt(u(s,15),u(n,14)),o==null?t.Bc(e):t.zc(e,o),o}function un(t){var e,n,r,s;return n=(e=u(Vf((r=t.gm,s=r.f,s==Hr?r:s)),9),new sh(e,u(ff(e,e.length),9),0)),vf(n,t),n}function nhn(t,e,n){var r,s;for(s=t.a.ec().Kc();s.Ob();)if(r=u(s.Pb(),10),ND(n,u(Ne(e,r.p),14)))return r;return null}function rhn(t,e,n){var r;try{Bun(t,e,n)}catch(s){throw s=Wi(s),_t(s,597)?(r=s,it(new dmt(r))):it(s)}return e}function Jp(t,e){var n;return Bo(t)&&Bo(e)&&(n=t-e,BI>1,t.k=n-1>>1}function Zit(){M4t();var t,e,n;n=Jxn+++Date.now(),t=ps(b.Math.floor(n*$I))&Uq,e=ps(n-t*Gxt),this.a=t^1502,this.b=e^Eot}function U0(t){var e,n,r;for(e=new he,r=new S(t.j);r.a34028234663852886e22?as:e<-34028234663852886e22?Cs:e}function bie(t){return t-=t>>1&1431655765,t=(t>>2&858993459)+(t&858993459),t=(t>>4)+t&252645135,t+=t>>8,t+=t>>16,t&63}function wie(t){var e,n,r,s;for(e=new QWt(t.Hd().gc()),s=0,r=e6(t.Hd().Kc());r.Ob();)n=r.Pb(),vin(e,n,pe(s++));return Hgn(e.a)}function uhn(t,e){var n,r,s;for(s=new _r,r=e.vc().Kc();r.Ob();)n=u(r.Pb(),42),ki(s,n.cd(),tun(t,u(n.dd(),15)));return s}function h3t(t,e){t.n.c.length==0&&le(t.n,new E$(t.s,t.t,t.i)),le(t.b,e),W3t(u(Ne(t.n,t.n.c.length-1),211),e),Sle(t,e)}function u4(t){return(t.c!=t.b.b||t.i!=t.g.b)&&(t.a.c=Nt(Qn,De,1,0,5,1),Ls(t.a,t.b),Ls(t.a,t.g),t.c=t.b.b,t.i=t.g.b),t.a}function Jit(t,e){var n,r,s;for(s=0,r=u(e.Kb(t),20).Kc();r.Ob();)n=u(r.Pb(),17),je(Re(Q(n,(ae(),q1))))||++s;return s}function lhn(t,e){var n,r,s;r=t4(e),s=Xt(ye(oy(r,(Te(),Tf)))),n=b.Math.max(0,s/2-.5),h_(e,n,1),le(t,new uGt(e,n))}function dh(){dh=Z,MO=new MM(J0,0),ES=new MM("FIRST",1),bb=new MM(C1e,2),TS=new MM("LAST",3),jy=new MM(_1e,4)}function W0(){W0=Z,Cft=new sj(N_,0),eP=new sj("POLYLINE",1),N7=new sj("ORTHOGONAL",2),X6=new sj("SPLINES",3)}function Fz(){Fz=Z,z_t=new Xet("ASPECT_RATIO_DRIVEN",0),Qht=new Xet("MAX_SCALE_DRIVEN",1),$_t=new Xet("AREA_DRIVEN",2)}function KD(){KD=Z,jG=new Qet("P1_STRUCTURE",0),$G=new Qet("P2_PROCESSING_ORDER",1),zG=new Qet("P3_EXECUTION",2)}function Nz(){Nz=Z,Ght=new Wet("OVERLAP_REMOVAL",0),Hht=new Wet("COMPACTION",1),Vht=new Wet("GRAPH_SIZE_CALCULATION",2)}function av(t,e){return k1(),wf(sb),b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e))}function vie(t,e){var n,r;for(n=ei(t,0);n.b!=n.d.c;){if(r=pM(ye(ti(n))),r==e)return;if(r>e){Ort(n);break}}eD(n,e)}function an(t,e){var n,r,s,o,h;if(n=e.f,m2(t.c.d,n,e),e.g!=null)for(s=e.g,o=0,h=s.length;oe&&r.ue(t[o-1],t[o])>0;--o)h=t[o],ts(t,o,t[o-1]),ts(t,o-1,h)}function gh(t,e,n,r){if(e<0)M5t(t,n,r);else{if(!n.Ij())throw it(new Fn(lb+n.ne()+X_));u(n,66).Nj().Tj(t,t.yh(),e,r)}}function Bz(t,e){if(e==t.d)return t.e;if(e==t.e)return t.d;throw it(new Fn("Node "+e+" not part of edge "+t))}function fhn(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function mie(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function f3t(t,e,n,r){switch(e){case 3:return t.f;case 4:return t.g;case 5:return t.i;case 6:return t.j}return n3t(t,e,n,r)}function dhn(t){return t.k!=(Vn(),Os)?!1:N8(new Tn(null,new jw(new ar(lr(Ds(t).a.Kc(),new z)))),new $N)}function ghn(t){return t.e==null?t:(!t.c&&(t.c=new fat((t.f&256)!=0,t.i,t.a,t.d,(t.f&16)!=0,t.j,t.g,null)),t.c)}function phn(t,e){return t.h==NI&&t.m==0&&t.l==0?(e&&(hb=iu(0,0,0)),yUt((q8(),aEt))):(e&&(hb=iu(t.l,t.m,t.h)),iu(0,0,0))}function $o(t){var e;return Array.isArray(t)&&t.im===Et?Ip(ol(t))+"@"+(e=Hi(t)>>>0,e.toString(16)):t.toString()}function i_(t){var e;this.a=(e=u(t.e&&t.e(),9),new sh(e,u(ff(e,e.length),9),0)),this.b=Nt(Qn,De,1,this.a.a.length,5,1)}function bhn(t){var e,n,r;for(this.a=new O0,r=new S(t);r.a0&&(Rr(e-1,t.length),t.charCodeAt(e-1)==58)&&!tst(t,oA,cA))}function tst(t,e,n){var r,s;for(r=0,s=t.length;r=s)return e.c+n;return e.c+e.b.gc()}function xhn(t,e){y8();var n,r,s,o;for(r=Ote(t),s=e,$8(r,0,r.length,s),n=0;n0&&(r+=s,++n);return n>1&&(r+=t.d*(n-1)),r}function g3t(t){var e,n,r;for(r=new Ag,r.a+="[",e=0,n=t.gc();e0&&this.b>0&&Kwt(this.c,this.b,this.a)}function w3t(t){nst(),this.c=A1(lt(ct(w6n,1),De,831,0,[eme])),this.b=new _r,this.a=t,ki(this.b,vG,1),xu(nme,new czt(this))}function yie(t,e){var n;return t.d?Tl(t.b,e)?u(tr(t.b,e),51):(n=e.Kf(),ki(t.b,e,n),n):e.Kf()}function v3t(t,e){var n;return Vt(t)===Vt(e)?!0:_t(e,91)?(n=u(e,91),t.e==n.e&&t.d==n.d&&oan(t,n.a)):!1}function a6(t){switch(ve(),t.g){case 4:return Pn;case 1:return Hn;case 3:return mr;case 2:return Bn;default:return Zo}}function m3t(t,e){switch(e){case 3:return t.f!=0;case 4:return t.g!=0;case 5:return t.i!=0;case 6:return t.j!=0}return vyt(t,e)}function Shn(t){switch(t.g){case 0:return new gZ;case 1:return new tB;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function xie(t){switch(t.g){case 0:return new JN;case 1:return new eB;default:throw it(new Fn(Yot+(t.f!=null?t.f:""+t.g)))}}function kie(t){switch(t.g){case 0:return new Qpt;case 1:return new Oqt;default:throw it(new Fn(_H+(t.f!=null?t.f:""+t.g)))}}function Ahn(t){switch(t.g){case 1:return new uZ;case 2:return new jWt;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function Lhn(t){var e,n;if(t.b)return t.b;for(n=$1?null:t.d;n;){if(e=$1?null:n.b,e)return e;n=$1?null:n.d}return d8(),NEt}function Mhn(t){var e,n,r;return t.e==0?0:(e=t.d<<5,n=t.a[t.d-1],t.e<0&&(r=Ine(t),r==t.d-1&&(--n,n=n|0)),e-=pI(n),e)}function Dhn(t){var e,n,r;return t>5,e=t&31,r=Nt(Cr,Xr,25,n+1,15,1),r[n]=1<3;)s*=10,--o;t=(t+(s>>1))/s|0}return r.i=t,!0}function Ohn(t){return qit(),Nn(),!!(mie(u(t.a,81).j,u(t.b,103))||u(t.a,81).d.e!=0&&mie(u(t.a,81).j,u(t.b,103)))}function Phn(t){V$(),u(t.We((ui(),xb)),174).Hc((ll(),iU))&&(u(t.We(Qy),174).Fc((Zu(),Q6)),u(t.We(xb),174).Mc(iU))}function Tie(t,e){var n,r;if(e){for(n=0;n=0;--r)for(e=n[r],s=0;s>1,this.k=e-1>>1}function $hn(t,e){vr(e,"End label post-processing",1),ls(Ri(Wo(new Tn(null,new _n(t.b,16)),new kK),new EK),new TK),or(e)}function zhn(t,e,n){var r,s;return r=Xt(t.p[e.i.p])+Xt(t.d[e.i.p])+e.n.b+e.a.b,s=Xt(t.p[n.i.p])+Xt(t.d[n.i.p])+n.n.b+n.a.b,s-r}function qhn(t,e,n){var r,s;for(r=Ns(n,co),s=0;yc(r,0)!=0&&s0&&(Rr(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function Vhn(t){var e;return t==null?null:new Rp((e=$c(t,!0),e.length>0&&(Rr(0,e.length),e.charCodeAt(0)==43)?e.substr(1):e))}function _3t(t,e){var n;return t.i>0&&(e.lengtht.i&&ts(e,t.i,null),e}function Zc(t,e,n){var r,s,o;return t.ej()?(r=t.i,o=t.fj(),UD(t,r,e),s=t.Zi(3,null,e,r,o),n?n.Ei(s):n=s):UD(t,t.i,e),n}function Ghn(t,e,n){var r,s;return r=new z0(t.e,4,10,(s=e.c,_t(s,88)?u(s,26):(dn(),Kh)),null,Hg(t,e),!1),n?n.Ei(r):n=r,n}function Uhn(t,e,n){var r,s;return r=new z0(t.e,3,10,null,(s=e.c,_t(s,88)?u(s,26):(dn(),Kh)),Hg(t,e),!1),n?n.Ei(r):n=r,n}function Sie(t){$m();var e;return e=new xo(u(t.e.We((ui(),c5)),8)),t.B.Hc((ll(),R7))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function Aie(t){cy();var e;return(t.q?t.q:(wn(),wn(),u0))._b((Te(),Bv))?e=u(Q(t,Bv),197):e=u(Q(Na(t),AS),197),e}function oy(t,e){var n,r;return r=null,Us(t,(Te(),bG))&&(n=u(Q(t,bG),94),n.Xe(e)&&(r=n.We(e))),r==null&&(r=Q(Na(t),e)),r}function Lie(t,e){var n,r,s;return _t(e,42)?(n=u(e,42),r=n.cd(),s=sy(t.Rc(),r),pd(s,n.dd())&&(s!=null||t.Rc()._b(r))):!1}function ist(t,e){var n,r,s;return t.f>0?(t.qj(),r=e==null?0:Hi(e),s=(r&wi)%t.d.length,n=Lce(t,s,r,e),n!=-1):!1}function Xf(t,e){var n,r,s;return t.f>0&&(t.qj(),r=e==null?0:Hi(e),s=(r&wi)%t.d.length,n=l5t(t,s,r,e),n)?n.dd():null}function XD(t,e){var n,r,s,o;for(o=ou(t.e.Tg(),e),n=u(t.g,119),s=0;s1?S1(F0(e.a[1],32),Ns(e.a[0],co)):Ns(e.a[0],co),Yw(_a(e.e,n))))}function QD(t,e){var n;return Bo(t)&&Bo(e)&&(n=t%e,BI>5,e&=31,s=t.d+n+(e==0?0:1),r=Nt(Cr,Xr,25,s,15,1),W0n(r,t.a,n,e),o=new X3(t.e,s,r),N9(o),o}function A3t(t,e,n){var r,s;r=u(Nc(z7,e),117),s=u(Nc(gA,e),117),n?(ko(z7,t,r),ko(gA,t,s)):(ko(gA,t,r),ko(z7,t,s))}function Nie(t,e,n){var r,s,o;for(s=null,o=t.b;o;){if(r=t.a.ue(e,o.d),n&&r==0)return o;r>=0?o=o.a[1]:(s=o,o=o.a[0])}return s}function Bie(t,e,n){var r,s,o;for(s=null,o=t.b;o;){if(r=t.a.ue(e,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(s=o,o=o.a[1])}return s}function Qhn(t,e,n,r){var s,o,h;return s=!1,I4n(t.f,n,r)&&(kfn(t.f,t.a[e][n],t.a[e][r]),o=t.a[e],h=o[r],o[r]=o[n],o[n]=h,s=!0),s}function L3t(t,e,n,r,s){var o,h,d;for(h=s;e.b!=e.c;)o=u(Hx(e),10),d=u(Ko(o,r).Xb(0),11),t.d[d.p]=h++,n.c[n.c.length]=d;return h}function M3t(t,e,n){var r,s,o,h,d;return h=t.k,d=e.k,r=n[h.g][d.g],s=ye(oy(t,r)),o=ye(oy(e,r)),b.Math.max((On(s),s),(On(o),o))}function Zhn(t,e,n){var r,s,o,h;for(r=n/t.c.length,s=0,h=new S(t);h.a2e3&&(Pge=t,JH=b.setTimeout(sXe,10))),ZH++==0?(Oon((nbt(),rEt)),!0):!1}function tfn(t,e){var n,r,s;for(r=new ar(lr(Ds(t).a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),s=n.d.i,s.c==e)return!1;return!0}function D3t(t,e){var n,r;if(_t(e,245)){r=u(e,245);try{return n=t.vd(r),n==0}catch(s){if(s=Wi(s),!_t(s,205))throw it(s)}}return!1}function efn(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function nfn(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))>0}function I3t(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))<0}function $ie(t,e){return k1(),k1(),wf(sb),(b.Math.abs(t-e)<=sb||t==e||isNaN(t)&&isNaN(e)?0:te?1:Iw(isNaN(t),isNaN(e)))<=0}function ast(t,e){for(var n=0;!e[n]||e[n]=="";)n++;for(var r=e[n++];nvot)return n.fh();if(r=n.Zg(),r||n==t)break}return r}function O3t(t){return C$(),_t(t,156)?u(tr(dP,Uge),288).vg(t):Tl(dP,ol(t))?u(tr(dP,ol(t)),288).vg(t):null}function ifn(t){if(Vz(XE,t))return Nn(),r7;if(Vz(Vct,t))return Nn(),F2;throw it(new Fn("Expecting true or false"))}function sfn(t,e){if(e.c==t)return e.d;if(e.d==t)return e.c;throw it(new Fn("Input edge is not connected to the input port."))}function Uie(t,e){return t.e>e.e?1:t.ee.d?t.e:t.d=48&&t<48+b.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function Yie(t,e){var n;return Vt(e)===Vt(t)?!0:!_t(e,21)||(n=u(e,21),n.gc()!=t.gc())?!1:t.Ic(n)}function afn(t,e){var n,r,s,o;return r=t.a.length-1,n=e-t.b&r,o=t.c-e&r,s=t.c-t.b&r,TWt(n=o?(sln(t,e),-1):(aln(t,e),1)}function ofn(t,e){var n,r;for(n=(Rr(e,t.length),t.charCodeAt(e)),r=e+1;re.e?1:t.fe.f?1:Hi(t)-Hi(e)}function Vz(t,e){return On(t),e==null?!1:hn(t,e)?!0:t.length==e.length&&hn(t.toLowerCase(),e.toLowerCase())}function bfn(t,e){var n,r,s,o;for(r=0,s=e.gc();r0&&yc(t,128)<0?(e=Ar(t)+128,n=(dKt(),dEt)[e],!n&&(n=dEt[e]=new Am(t)),n):new Am(t)}function Xie(t,e){var n,r;return n=e.Hh(t.a),n&&(r=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),ci)),r!=null)?r:e.ne()}function wfn(t,e){var n,r;return n=e.Hh(t.a),n&&(r=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),ci)),r!=null)?r:e.ne()}function vfn(t,e){_rt();var n,r;for(r=new ar(lr(U0(t).a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),n.d.i==e||n.c.i==e)return n;return null}function N3t(t,e,n){this.c=t,this.f=new he,this.e=new Ca,this.j=new Gwt,this.n=new Gwt,this.b=e,this.g=new ah(e.c,e.d,e.b,e.a),this.a=n}function ost(t){var e,n,r,s;for(this.a=new O0,this.d=new Hs,this.e=0,n=t,r=0,s=n.length;r0):!1}function Jie(t){var e;Vt(qe(t,(ui(),s5)))===Vt((G0(),tU))&&(es(t)?(e=u(qe(es(t),s5),334),wo(t,s5,e)):wo(t,s5,ZS))}function kfn(t,e,n){var r,s;qst(t.e,e,n,(ve(),Bn)),qst(t.i,e,n,Hn),t.a&&(s=u(Q(e,(ae(),_i)),11),r=u(Q(n,_i),11),Irt(t.g,s,r))}function tse(t,e,n){var r,s,o;r=e.c.p,o=e.p,t.b[r][o]=new wQt(t,e),n&&(t.a[r][o]=new e8(e),s=u(Q(e,(ae(),Pv)),10),s&&ln(t.d,s,e))}function ese(t,e){var n,r,s;if(le(dV,t),e.Fc(t),n=u(tr(Jut,t),21),n)for(s=n.Kc();s.Ob();)r=u(s.Pb(),33),Ro(dV,r,0)!=-1||ese(r,e)}function Efn(t,e,n){var r;(Jge?(Lhn(t),!0):tpe||npe?(d8(),!0):epe&&(d8(),!1))&&(r=new LYt(e),r.b=n,_gn(t,r))}function cst(t,e){var n;n=!t.A.Hc((Al(),K2))||t.q==(ua(),Gc),t.u.Hc((Zu(),sg))?n?G5n(t,e):Dhe(t,e):t.u.Hc(Cb)&&(n?l5n(t,e):Ghe(t,e))}function bE(t,e){var n,r;if(++t.j,e!=null&&(n=(r=t.a.Cb,_t(r,97)?u(r,97).Jg():null),vbn(e,n))){o6(t.a,4,n);return}o6(t.a,4,u(e,126))}function nse(t,e,n){return new ah(b.Math.min(t.a,e.a)-n/2,b.Math.min(t.b,e.b)-n/2,b.Math.abs(t.a-e.a)+n,b.Math.abs(t.b-e.b)+n)}function Tfn(t,e){var n,r;return n=pu(t.a.c.p,e.a.c.p),n!=0?n:(r=pu(t.a.d.i.p,e.a.d.i.p),r!=0?r:pu(e.a.d.p,t.a.d.p))}function Cfn(t,e,n){var r,s,o,h;return o=e.j,h=n.j,o!=h?o.g-h.g:(r=t.f[e.p],s=t.f[n.p],r==0&&s==0?0:r==0?-1:s==0?1:Ms(r,s))}function rse(t,e,n){var r,s,o;if(!n[e.d])for(n[e.d]=!0,s=new S(u4(e));s.a=s)return s;for(e=e>0?e:0;er&&ts(e,r,null),e}function sse(t,e){var n,r;for(r=t.a.length,e.lengthr&&ts(e,r,null),e}function m2(t,e,n){var r,s,o;return s=u(tr(t.e,e),387),s?(o=awt(s,n),XUt(t,s),o):(r=new Owt(t,e,n),ki(t.e,e,r),kQt(r),null)}function Afn(t){var e;if(t==null)return null;if(e=k2n($c(t,!0)),e==null)throw it(new pet("Invalid hexBinary value: '"+t+"'"));return e}function JD(t){return rb(),yc(t,0)<0?yc(t,-1)!=0?new x4t(-1,z8(t)):But:yc(t,10)<=0?CEt[Ar(t)]:new x4t(1,t)}function lst(){return $q(),lt(ct($pe,1),oe,159,0,[Rpe,Bpe,jpe,Lpe,Ape,Mpe,Ope,Ipe,Dpe,Npe,Fpe,Ppe,_pe,Cpe,Spe,Epe,kpe,Tpe,ype,mpe,xpe,Uut])}function ase(t){var e;this.d=new he,this.j=new Ca,this.g=new Ca,e=t.g.b,this.f=u(Q(Na(e),(Te(),Wl)),103),this.e=Xt(ye(Wz(e,Wy)))}function ose(t){this.b=new he,this.e=new he,this.d=t,this.a=!qC(Ri(new Tn(null,new jw(new L1(t.b))),new Zt(new zN))).sd((Qb(),o7))}function Qf(){Qf=Z,qn=new OM("PARENTS",0),ea=new OM("NODES",1),Pd=new OM("EDGES",2),V2=new OM("PORTS",3),rp=new OM("LABELS",4)}function l4(){l4=Z,Eb=new FM("DISTRIBUTED",0),iP=new FM("JUSTIFIED",1),IAt=new FM("BEGIN",2),JS=new FM(qE,3),OAt=new FM("END",4)}function Lfn(t){var e;switch(e=t.yi(null),e){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function hst(t){switch(t.g){case 1:return ao(),rg;case 4:return ao(),zh;case 2:return ao(),Cf;case 3:return ao(),ng}return ao(),h0}function Mfn(t,e,n){var r;switch(r=n.q.getFullYear()-ab+ab,r<0&&(r=-r),e){case 1:t.a+=r;break;case 2:Jd(t,r%100,2);break;default:Jd(t,r,e)}}function ei(t,e){var n,r;if(Km(e,t.b),e>=t.b>>1)for(r=t.c,n=t.b;n>e;--n)r=r.b;else for(r=t.a.a,n=0;n=64&&e<128&&(s=S1(s,F0(1,e-64)));return s}function Wz(t,e){var n,r;return r=null,Us(t,(ui(),K6))&&(n=u(Q(t,K6),94),n.Xe(e)&&(r=n.We(e))),r==null&&Na(t)&&(r=Q(Na(t),e)),r}function lse(t,e){var n,r,s;s=e.d.i,r=s.k,!(r==(Vn(),Os)||r==z1)&&(n=new ar(lr(Ds(s).a.Kc(),new z)),zr(n)&&ki(t.k,e,u(Mr(n),17)))}function fst(t,e){var n,r,s;return r=yn(t.Tg(),e),n=e-t.Ah(),n<0?(s=t.Yg(r),s>=0?t.lh(s):Zst(t,r)):n<0?Zst(t,r):u(r,66).Nj().Sj(t,t.yh(),n)}function Ie(t){var e;if(_t(t.a,4)){if(e=O3t(t.a),e==null)throw it(new No(ode+t.b+"'. "+ade+(P0(gP),gP.k)+d8t));return e}else return t.a}function Ofn(t){var e;if(t==null)return null;if(e=J5n($c(t,!0)),e==null)throw it(new pet("Invalid base64Binary value: '"+t+"'"));return e}function dr(t){var e;try{return e=t.i.Xb(t.e),t.mj(),t.g=t.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(t.mj(),it(new lc)):it(n)}}function dst(t){var e;try{return e=t.c.ki(t.e),t.mj(),t.g=t.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(t.mj(),it(new lc)):it(n)}}function o_(){o_=Z,p7t=(ui(),hAt),Qut=HSt,Jpe=W6,g7t=U2,rbe=(sq(),WEt),nbe=GEt,ibe=KEt,ebe=VEt,tbe=(Rit(),h7t),Xut=Xpe,d7t=Qpe,fV=Zpe}function Yz(t){switch(kbt(),this.c=new he,this.d=t,t.g){case 0:case 2:this.a=Mvt(O7t),this.b=as;break;case 3:case 1:this.a=O7t,this.b=Cs}}function hse(t,e,n){var r,s;if(t.c)ku(t.c,t.c.i+e),Eu(t.c,t.c.j+n);else for(s=new S(t.b);s.a0&&(le(t.b,new GYt(e.a,n)),r=e.a.length,0r&&(e.a+=KUt(Nt(xh,yd,25,-r,15,1))))}function fse(t,e){var n,r,s;for(n=t.o,s=u(u(Ai(t.r,e),21),84).Kc();s.Ob();)r=u(s.Pb(),111),r.e.a=N1n(r,n.a),r.e.b=n.b*Xt(ye(r.b.We(uV)))}function Ffn(t,e){var n,r,s,o;return s=t.k,n=Xt(ye(Q(t,(ae(),Fv)))),o=e.k,r=Xt(ye(Q(e,Fv))),o!=(Vn(),ks)?-1:s!=ks?1:n==r?0:n=0?t.hh(e,n,r):(t.eh()&&(r=(s=t.Vg(),s>=0?t.Qg(r):t.eh().ih(t,-1-s,null,r))),t.Sg(e,n,r))}function R3t(t,e){switch(e){case 7:!t.e&&(t.e=new Cn(Ys,t,7,4)),xr(t.e);return;case 8:!t.d&&(t.d=new Cn(Ys,t,8,5)),xr(t.d);return}T3t(t,e)}function Zf(t,e){var n;n=t.Zc(e);try{return n.Pb()}catch(r){throw r=Wi(r),_t(r,109)?it(new yo("Can't get element "+e)):it(r)}}function j3t(t,e){this.e=t,e=0&&(n.d=t.t);break;case 3:t.t>=0&&(n.a=t.t)}t.C&&(n.b=t.C.b,n.c=t.C.c)}function u6(){u6=Z,dO=new QR(Kq,0),fO=new QR(Iot,1),gO=new QR(Oot,2),pO=new QR(Pot,3),dO.a=!1,fO.a=!0,gO.a=!1,pO.a=!0}function c_(){c_=Z,bO=new XR(Kq,0),lV=new XR(Iot,1),hV=new XR(Oot,2),wO=new XR(Pot,3),bO.a=!1,lV.a=!0,hV.a=!1,wO.a=!0}function $fn(t){var e;e=t.a;do e=u(Mr(new ar(lr(jo(e).a.Kc(),new z))),17).c.i,e.k==(Vn(),ta)&&t.b.Fc(e);while(e.k==(Vn(),ta));t.b=l2(t.b)}function zfn(t){var e,n,r;for(r=t.c.a,t.p=(Lr(r),new Bu(r)),n=new S(r);n.an.b)return!0}return!1}function gst(t,e){return ra(t)?!!Sge[e]:t.hm?!!t.hm[e]:Bm(t)?!!_ge[e]:Nm(t)?!!Cge[e]:!1}function wo(t,e,n){return n==null?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),qz(t.o,e)):(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),aq(t.o,e,n)),t}function Gfn(t,e,n,r){var s,o;o=e.Xe((ui(),o5))?u(e.We(o5),21):t.j,s=Pln(o),s!=($q(),Uut)&&(n&&!P3t(s)||V4t(E2n(t,s,r),e))}function Xz(t,e,n,r){var s,o,h;return o=yn(t.Tg(),e),s=e-t.Ah(),s<0?(h=t.Yg(o),h>=0?t._g(h,n,!0):dv(t,o,n)):u(o,66).Nj().Pj(t,t.yh(),s,n,r)}function Ufn(t,e,n,r){var s,o,h;n.mh(e)&&(to(),ait(e)?(s=u(n.ah(e),153),bfn(t,s)):(o=(h=e,h?u(r,49).xh(h):null),o&&YYe(n.ah(e),o)))}function Wfn(t){switch(t.g){case 1:return rv(),hO;case 3:return rv(),lO;case 2:return rv(),Yut;case 4:return rv(),Wut;default:return null}}function $3t(t){switch(typeof t){case Vat:return Vg(t);case Nxt:return ps(t);case b6:return Nn(),t?1231:1237;default:return t==null?0:Pw(t)}}function Yfn(t,e,n){if(t.e)switch(t.b){case 1:Ern(t.c,e,n);break;case 0:Trn(t.c,e,n)}else tJt(t.c,e,n);t.a[e.p][n.p]=t.c.i,t.a[n.p][e.p]=t.c.e}function wse(t){var e,n;if(t==null)return null;for(n=Nt(l0,ee,193,t.length,0,2),e=0;e=0)return s;if(t.Fk()){for(r=0;r=s)throw it(new qm(e,s));if(t.hi()&&(r=t.Xc(n),r>=0&&r!=e))throw it(new Fn(eO));return t.mi(e,n)}function z3t(t,e){if(this.a=u(Lr(t),245),this.b=u(Lr(e),245),t.vd(e)>0||t==(cet(),_ut)||e==(oet(),Sut))throw it(new Fn("Invalid range: "+XZt(t,e)))}function vse(t){var e,n;for(this.b=new he,this.c=t,this.a=!1,n=new S(t.a);n.a0),(e&-e)==e)return ps(e*ul(t,31)*4656612873077393e-25);do n=ul(t,31),r=n%e;while(n-r+(e-1)<0);return ps(r)}function Vg(t){MYt();var e,n,r;return n=":"+t,r=aV[n],r!=null?ps((On(r),r)):(r=REt[n],e=r==null?$wn(t):ps((On(r),r)),prn(),aV[n]=e,e)}function yse(t,e,n){vr(n,"Compound graph preprocessor",1),t.a=new Uw,_he(t,e,null),S3n(t,e),uwn(t),Jt(e,(ae(),rCt),t.a),t.a=null,Xu(t.b),or(n)}function Qfn(t,e,n){switch(n.g){case 1:t.a=e.a/2,t.b=0;break;case 2:t.a=e.a,t.b=e.b/2;break;case 3:t.a=e.a/2,t.b=e.b;break;case 4:t.a=0,t.b=e.b/2}}function Zfn(t){var e,n,r;for(r=u(Ai(t.a,(b4(),qV)),15).Kc();r.Ob();)n=u(r.Pb(),101),e=t4t(n),_8(t,n,e[0],(nv(),Mv),0),_8(t,n,e[1],Dv,1)}function Jfn(t){var e,n,r;for(r=u(Ai(t.a,(b4(),HV)),15).Kc();r.Ob();)n=u(r.Pb(),101),e=t4t(n),_8(t,n,e[0],(nv(),Mv),0),_8(t,n,e[1],Dv,1)}function pst(t){switch(t.g){case 0:return null;case 1:return new yne;case 2:return new Zpt;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function tI(t,e,n){var r,s;for(xun(t,e-t.s,n-t.t),s=new S(t.n);s.a1&&(o=Xfn(t,e)),o}function bst(t){var e;return t.f&&t.f.kh()&&(e=u(t.f,49),t.f=u(Zp(t,e),82),t.f!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,8,e,t.f))),t.f}function wst(t){var e;return t.i&&t.i.kh()&&(e=u(t.i,49),t.i=u(Zp(t,e),82),t.i!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,7,e,t.i))),t.i}function no(t){var e;return t.b&&t.b.Db&64&&(e=t.b,t.b=u(Zp(t,e),18),t.b!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,21,e,t.b))),t.b}function Jz(t,e){var n,r,s;t.d==null?(++t.e,++t.f):(r=e.Sh(),bwn(t,t.f+1),s=(r&wi)%t.d.length,n=t.d[s],!n&&(n=t.d[s]=t.uj()),n.Fc(e),++t.f)}function V3t(t,e,n){var r;return e.Kj()?!1:e.Zj()!=-2?(r=e.zj(),r==null?n==null:yi(r,n)):e.Hj()==t.e.Tg()&&n==null}function tq(){var t;jl(16,bfe),t=hne(16),this.b=Nt(Lut,PI,317,t,0,1),this.c=Nt(Lut,PI,317,t,0,1),this.a=null,this.e=null,this.i=0,this.f=t-1,this.g=0}function Y0(t){cwt.call(this),this.k=(Vn(),Os),this.j=(jl(6,ky),new Xc(6)),this.b=(jl(2,ky),new Xc(2)),this.d=new net,this.f=new Hpt,this.a=t}function e1n(t){var e,n;t.c.length<=1||(e=vue(t,(ve(),mr)),aoe(t,u(e.a,19).a,u(e.b,19).a),n=vue(t,Bn),aoe(t,u(n.a,19).a,u(n.b,19).a))}function u_(){u_=Z,F9t=new LM("SIMPLE",0),xht=new LM(Xot,1),kht=new LM("LINEAR_SEGMENTS",2),DS=new LM("BRANDES_KOEPF",3),IS=new LM(q1e,4)}function G3t(t,e,n){jx(u(Q(e,(Te(),cs)),98))||(jmt(t,e,Gg(e,n)),jmt(t,e,Gg(e,(ve(),mr))),jmt(t,e,Gg(e,Pn)),wn(),Zs(e.j,new hM(t)))}function xse(t,e,n,r){var s,o,h;for(s=u(Ai(r?t.a:t.b,e),21),h=s.Kc();h.Ob();)if(o=u(h.Pb(),33),Tq(t,n,o))return!0;return!1}function vst(t){var e,n;for(n=new nr(t);n.e!=n.i.gc();)if(e=u(dr(n),87),e.e||(!e.d&&(e.d=new As(ho,e,1)),e.d).i!=0)return!0;return!1}function mst(t){var e,n;for(n=new nr(t);n.e!=n.i.gc();)if(e=u(dr(n),87),e.e||(!e.d&&(e.d=new As(ho,e,1)),e.d).i!=0)return!0;return!1}function n1n(t){var e,n,r;for(e=0,r=new S(t.c.a);r.a102?-1:t<=57?t-48:t<65?-1:t<=70?t-65+10:t<97?-1:t-97+10}function kst(t,e){if(t==null)throw it(new Sx("null key in entry: null="+e));if(e==null)throw it(new Sx("null value in entry: "+t+"=null"))}function r1n(t,e){for(var n,r;t.Ob();)if(!e.Ob()||(n=t.Pb(),r=e.Pb(),!(Vt(n)===Vt(r)||n!=null&&yi(n,r))))return!1;return!e.Ob()}function Ese(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[zit(t.a[0],e),zit(t.a[1],e),zit(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Tse(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[Lz(t.a[0],e),Lz(t.a[1],e),Lz(t.a[2],e)]),t.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function x2(){x2=Z,Mlt=new AM("GREEDY",0),PTt=new AM(A1e,1),Dlt=new AM(Xot,2),vS=new AM("MODEL_ORDER",3),wS=new AM("GREEDY_MODEL_ORDER",4)}function Cse(t,e){var n,r,s;for(t.b[e.g]=1,r=ei(e.d,0);r.b!=r.d.c;)n=u(ti(r),188),s=n.c,t.b[s.g]==1?ri(t.a,n):t.b[s.g]==2?t.b[s.g]=1:Cse(t,s)}function i1n(t,e){var n,r,s;for(s=new Xc(e.gc()),r=e.Kc();r.Ob();)n=u(r.Pb(),286),n.c==n.f?EE(t,n,n.c):npn(t,n)||(s.c[s.c.length]=n);return s}function s1n(t,e,n){var r,s,o,h,d;for(d=t.r+e,t.r+=e,t.d+=n,r=n/t.n.c.length,s=0,h=new S(t.n);h.ao&&ts(e,o,null),e}function m1n(t,e){var n,r;if(r=t.gc(),e==null){for(n=0;n0&&(v+=s),k[C]=h,h+=d*(v+r)}function Ose(t){var e,n,r;for(r=t.f,t.n=Nt(aa,vo,25,r,15,1),t.d=Nt(aa,vo,25,r,15,1),e=0;e0?t.c:0),++s;t.b=r,t.d=o}function _1n(t,e){var n,r,s,o,h;for(r=0,s=0,n=0,h=new S(e);h.a0?t.g:0),++n;t.c=s,t.d=r}function Rse(t,e){var n;return n=lt(ct(aa,1),vo,25,15,[H3t(t,(Kf(),sc),e),H3t(t,eu,e),H3t(t,ac,e)]),t.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function S1n(t,e,n){var r;try{Sq(t,e+t.j,n+t.k,!1,!0)}catch(s){throw s=Wi(s),_t(s,73)?(r=s,it(new yo(r.g+Qq+e+Ya+n+")."))):it(s)}}function A1n(t,e,n){var r;try{Sq(t,e+t.j,n+t.k,!0,!1)}catch(s){throw s=Wi(s),_t(s,73)?(r=s,it(new yo(r.g+Qq+e+Ya+n+")."))):it(s)}}function jse(t){var e;Us(t,(Te(),Nv))&&(e=u(Q(t,Nv),21),e.Hc((py(),_f))?(e.Mc(_f),e.Fc(Sf)):e.Hc(Sf)&&(e.Mc(Sf),e.Fc(_f)))}function $se(t){var e;Us(t,(Te(),Nv))&&(e=u(Q(t,Nv),21),e.Hc((py(),Lf))?(e.Mc(Lf),e.Fc(Hh)):e.Hc(Hh)&&(e.Mc(Hh),e.Fc(Lf)))}function L1n(t,e,n){vr(n,"Self-Loop ordering",1),ls(wu(Ri(Ri(Wo(new Tn(null,new _n(e.b,16)),new mN),new rX),new iX),new sX),new Lm(t)),or(n)}function nI(t,e,n,r){var s,o;for(s=e;s0&&(s.b+=e),s}function rq(t,e){var n,r,s;for(s=new Ca,r=t.Kc();r.Ob();)n=u(r.Pb(),37),x_(n,0,s.b),s.b+=n.f.b+e,s.a=b.Math.max(s.a,n.f.a);return s.a>0&&(s.a+=e),s}function qse(t){var e,n,r;for(r=wi,n=new S(t.a);n.a>16==6?t.Cb.ih(t,5,i1,e):(r=no(u(yn((n=u(Dn(t,16),26),n||t.zh()),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function P1n(t){I8();var e=t.e;if(e&&e.stack){var n=e.stack,r=e+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function F1n(t){var e;return e=(sne(),jge),e[t>>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[t&15]<<28}function Gse(t){var e,n,r;t.b==t.c&&(r=t.a.length,n=Dyt(b.Math.max(8,r))<<1,t.b!=0?(e=ff(t.a,n),dne(t,e,r),t.a=e,t.b=0):fqt(t.a,n),t.c=r)}function N1n(t,e){var n;return n=t.b,n.Xe((ui(),dl))?n.Hf()==(ve(),Bn)?-n.rf().a-Xt(ye(n.We(dl))):e+Xt(ye(n.We(dl))):n.Hf()==(ve(),Bn)?-n.rf().a:e}function rI(t){var e;return t.b.c.length!=0&&u(Ne(t.b,0),70).a?u(Ne(t.b,0),70).a:(e=grt(t),e??""+(t.c?Ro(t.c.a,t,0):-1))}function iq(t){var e;return t.f.c.length!=0&&u(Ne(t.f,0),70).a?u(Ne(t.f,0),70).a:(e=grt(t),e??""+(t.i?Ro(t.i.j,t,0):-1))}function B1n(t,e){var n,r;if(e<0||e>=t.gc())return null;for(n=e;n0?t.c:0),s=b.Math.max(s,e.d),++r;t.e=o,t.b=s}function j1n(t){var e,n;if(!t.b)for(t.b=D$(u(t.f,118).Ag().i),n=new nr(u(t.f,118).Ag());n.e!=n.i.gc();)e=u(dr(n),137),le(t.b,new get(e));return t.b}function $1n(t,e){var n,r,s;if(e.dc())return y8(),y8(),pP;for(n=new YWt(t,e.gc()),s=new nr(t);s.e!=s.i.gc();)r=dr(s),e.Hc(r)&&Dr(n,r);return n}function Z3t(t,e,n,r){return e==0?r?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),t.o):(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),wD(t.o)):Xz(t,e,n,r)}function Mst(t){var e,n;if(t.rb)for(e=0,n=t.rb.i;e>22),s+=r>>22,s<0)?!1:(t.l=n&hl,t.m=r&hl,t.h=s&Z0,!0)}function V1n(t,e,n,r,s,o,h){var d,v;return!(e.Ae()&&(v=t.a.ue(n,r),v<0||!s&&v==0)||e.Be()&&(d=t.a.ue(n,o),d>0||!h&&d==0))}function G1n(t,e){oE();var n;if(n=t.j.g-e.j.g,n!=0)return 0;switch(t.j.g){case 2:return Jit(e,_Tt)-Jit(t,_Tt);case 4:return Jit(t,CTt)-Jit(e,CTt)}return 0}function U1n(t){switch(t.g){case 0:return Olt;case 1:return Plt;case 2:return Flt;case 3:return Nlt;case 4:return UV;case 5:return Blt;default:return null}}function _o(t,e,n){var r,s;return r=(s=new set,b2(s,e),Qc(s,n),Dr((!t.c&&(t.c=new fe(Vv,t,12,10)),t.c),s),s),Rg(r,0),ry(r,1),qg(r,!0),zg(r,!0),r}function l6(t,e){var n,r;if(e>=t.i)throw it(new nnt(e,t.i));return++t.j,n=t.g[e],r=t.i-e-1,r>0&&Dc(t.g,e+1,t.g,e,r),ts(t.g,--t.i,null),t.fi(e,n),t.ci(),n}function Use(t,e){var n,r;return t.Db>>16==17?t.Cb.ih(t,21,Uh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||t.zh()),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function W1n(t){var e,n,r,s;for(wn(),Zs(t.c,t.a),s=new S(t.c);s.an.a.c.length))throw it(new Fn("index must be >= 0 and <= layer node count"));t.c&&mu(t.c.a,t),t.c=n,n&&Hm(n.a,e,t)}function Qse(t,e){var n,r,s;for(r=new ar(lr(U0(t).a.Kc(),new z));zr(r);)return n=u(Mr(r),17),s=u(e.Kb(n),10),new Wk(Lr(s.n.b+s.o.b/2));return PC(),PC(),Cut}function Zse(t,e){this.c=new _r,this.a=t,this.b=e,this.d=u(Q(t,(ae(),Q4)),304),Vt(Q(t,(Te(),h9t)))===Vt((xD(),WV))?this.e=new Lqt:this.e=new Aqt}function J1n(t,e){var n,r,s,o;for(o=0,r=new S(t);r.a>16==6?t.Cb.ih(t,6,Ys,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),aU)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function i4t(t,e){var n,r;return t.Db>>16==7?t.Cb.ih(t,1,lP,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),GAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function s4t(t,e){var n,r;return t.Db>>16==9?t.Cb.ih(t,9,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),WAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function tae(t,e){var n,r;return t.Db>>16==5?t.Cb.ih(t,9,pU,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),op)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function a4t(t,e){var n,r;return t.Db>>16==3?t.Cb.ih(t,0,fP,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),ap)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function eae(t,e){var n,r;return t.Db>>16==7?t.Cb.ih(t,6,i1,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),up)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function nae(){this.a=new oB,this.g=new tq,this.j=new tq,this.b=new _r,this.d=new tq,this.i=new tq,this.k=new _r,this.c=new _r,this.e=new _r,this.f=new _r}function rdn(t,e,n){var r,s,o;for(n<0&&(n=0),o=t.i,s=n;svot)return vE(t,r);if(r==t)return!0}}return!1}function sdn(t){switch(Cj(),t.q.g){case 5:$oe(t,(ve(),Pn)),$oe(t,mr);break;case 4:Fce(t,(ve(),Pn)),Fce(t,mr);break;default:Fhe(t,(ve(),Pn)),Fhe(t,mr)}}function adn(t){switch(Cj(),t.q.g){case 5:ece(t,(ve(),Hn)),ece(t,Bn);break;case 4:fse(t,(ve(),Hn)),fse(t,Bn);break;default:Nhe(t,(ve(),Hn)),Nhe(t,Bn)}}function odn(t){var e,n;e=u(Q(t,(Jf(),ybe)),19),e?(n=e.a,n==0?Jt(t,(Yp(),wV),new Zit):Jt(t,(Yp(),wV),new F$(n))):Jt(t,(Yp(),wV),new F$(1))}function cdn(t,e){var n;switch(n=t.i,e.g){case 1:return-(t.n.b+t.o.b);case 2:return t.n.a-n.o.a;case 3:return t.n.b-n.o.b;case 4:return-(t.n.a+t.o.a)}return 0}function udn(t,e){switch(t.g){case 0:return e==(dh(),bb)?BV:RV;case 1:return e==(dh(),bb)?BV:kO;case 2:return e==(dh(),bb)?kO:RV;default:return kO}}function sI(t,e){var n,r,s;for(mu(t.a,e),t.e-=e.r+(t.a.c.length==0?0:t.c),s=Ukt,r=new S(t.a);r.a>16==3?t.Cb.ih(t,12,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),VAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function c4t(t,e){var n,r;return t.Db>>16==11?t.Cb.ih(t,10,rs,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(Jc(),UAt)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function rae(t,e){var n,r;return t.Db>>16==10?t.Cb.ih(t,11,Uh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),cp)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function iae(t,e){var n,r;return t.Db>>16==10?t.Cb.ih(t,12,Wh,e):(r=no(u(yn((n=u(Dn(t,16),26),n||(dn(),i3)),t.Db>>16),18)),t.Cb.ih(t,r.n,r.f,e))}function Dh(t){var e;return!(t.Bb&1)&&t.r&&t.r.kh()&&(e=u(t.r,49),t.r=u(Zp(t,e),138),t.r!=e&&t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,9,8,e,t.r))),t.r}function Ist(t,e,n){var r;return r=lt(ct(aa,1),vo,25,15,[O4t(t,(Kf(),sc),e,n),O4t(t,eu,e,n),O4t(t,ac,e,n)]),t.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function ldn(t,e){var n,r,s;if(s=i1n(t,e),s.c.length!=0)for(Zs(s,new WK),n=s.c.length,r=0;r>19,k=e.h>>19,v!=k?k-v:(s=t.h,d=e.h,s!=d?s-d:(r=t.m,h=e.m,r!=h?r-h:(n=t.l,o=e.l,n-o)))}function sq(){sq=Z,XEt=(Cq(),Vut),KEt=new mn(Qxt,XEt),YEt=(Q$(),Hut),WEt=new mn(Zxt,YEt),UEt=(Gz(),qut),GEt=new mn(Jxt,UEt),VEt=new mn(t6t,(Nn(),!0))}function h_(t,e,n){var r,s;r=e*n,_t(t.g,145)?(s=Xx(t),s.f.d?s.f.a||(t.d.a+=r+B1):(t.d.d-=r+B1,t.d.a+=r+B1)):_t(t.g,10)&&(t.d.d-=r,t.d.a+=2*r)}function sae(t,e,n){var r,s,o,h,d;for(s=t[n.g],d=new S(e.d);d.a0?t.g:0),++n;e.b=r,e.e=s}function aae(t){var e,n,r;if(r=t.b,AVt(t.i,r.length)){for(n=r.length*2,t.b=Nt(Lut,PI,317,n,0,1),t.c=Nt(Lut,PI,317,n,0,1),t.f=n-1,t.i=0,e=t.a;e;e=e.c)fI(t,e,e);++t.g}}function vdn(t,e,n,r){var s,o,h,d;for(s=0;sh&&(d=h/r),s>o&&(v=o/s),fd(t,b.Math.min(d,v)),t}function ydn(){Dq();var t,e;try{if(e=u(m4t((Pp(),Yh),ZE),2014),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new ax}function xdn(){Qte();var t,e;try{if(e=u(m4t((Pp(),Yh),O2),2024),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new _m}function kdn(){Dq();var t,e;try{if(e=u(m4t((Pp(),Yh),Bh),1941),e)return e}catch(n){if(n=Wi(n),_t(n,102))t=n,avt((Pr(),t));else throw it(n)}return new aJ}function Edn(t,e,n){var r,s;return s=t.e,t.e=e,t.Db&4&&!(t.Db&1)&&(r=new Js(t,1,4,s,e),n?n.Ei(r):n=r),s!=e&&(e?n=PE(t,vq(t,e),n):n=PE(t,t.a,n)),n}function oae(){BR.call(this),this.e=-1,this.a=!1,this.p=Sa,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=Sa}function Tdn(t,e){var n,r,s;if(r=t.b.d.d,t.a||(r+=t.b.d.a),s=e.b.d.d,e.a||(s+=e.b.d.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function Cdn(t,e){var n,r,s;if(r=t.b.b.d,t.a||(r+=t.b.b.a),s=e.b.b.d,e.a||(s+=e.b.b.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function _dn(t,e){var n,r,s;if(r=t.b.g.d,t.a||(r+=t.b.g.a),s=e.b.g.d,e.a||(s+=e.b.g.a),n=Ms(r,s),n==0){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}function l4t(){l4t=Z,Pbe=Ku(bi(bi(bi(new Vs,(Wa(),qc),(ro(),hTt)),qc,fTt),Io,dTt),Io,tTt),Nbe=bi(bi(new Vs,qc,W7t),qc,eTt),Fbe=Ku(new Vs,Io,rTt)}function Sdn(t){var e,n,r,s,o;for(e=u(Q(t,(ae(),kS)),83),o=t.n,r=e.Cc().Kc();r.Ob();)n=u(r.Pb(),306),s=n.i,s.c+=o.a,s.d+=o.b,n.c?Eue(n):Tue(n);Jt(t,kS,null)}function Adn(t,e,n){var r,s;switch(s=t.b,r=s.d,e.g){case 1:return-r.d-n;case 2:return s.o.a+r.c+n;case 3:return s.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function Ldn(t){var e,n,r,s,o;if(r=0,s=VE,t.b)for(e=0;e<360;e++)n=e*.017453292519943295,txt(t,t.d,0,0,O4,n),o=t.b.ig(t.d),o0&&(h=(o&wi)%t.d.length,s=l5t(t,h,o,e),s)?(d=s.ed(n),d):(r=t.tj(o,e,n),t.c.Fc(r),null)}function d4t(t,e){var n,r,s,o;switch($g(t,e)._k()){case 3:case 2:{for(n=T4(e),s=0,o=n.i;s=0;r--)if(hn(t[r].d,e)||hn(t[r].d,n)){t.length>=r+1&&t.splice(0,r+1);break}return t}function aI(t,e){var n;return Bo(t)&&Bo(e)&&(n=t/e,BI0&&(t.b+=2,t.a+=r):(t.b+=1,t.a+=b.Math.min(r,s))}function gae(t,e){var n,r;if(r=!1,ra(e)&&(r=!0,Vx(t,new Um(Br(e)))),r||_t(e,236)&&(r=!0,Vx(t,(n=mwt(u(e,236)),new EC(n)))),!r)throw it(new fet(A8t))}function Wdn(t,e,n,r){var s,o,h;return s=new z0(t.e,1,10,(h=e.c,_t(h,88)?u(h,26):(dn(),Kh)),(o=n.c,_t(o,88)?u(o,26):(dn(),Kh)),Hg(t,e),!1),r?r.Ei(s):r=s,r}function b4t(t){var e,n;switch(u(Q(Na(t),(Te(),r9t)),420).g){case 0:return e=t.n,n=t.o,new $e(e.a+n.a/2,e.b+n.b/2);case 1:return new xo(t.n);default:return null}}function oI(){oI=Z,YV=new t9(J0,0),qTt=new t9("LEFTUP",1),VTt=new t9("RIGHTUP",2),zTt=new t9("LEFTDOWN",3),HTt=new t9("RIGHTDOWN",4),Rlt=new t9("BALANCED",5)}function Ydn(t,e,n){var r,s,o;if(r=Ms(t.a[e.p],t.a[n.p]),r==0){if(s=u(Q(e,(ae(),R6)),15),o=u(Q(n,R6),15),s.Hc(n))return-1;if(o.Hc(e))return 1}return r}function Kdn(t){switch(t.g){case 1:return new hZ;case 2:return new fZ;case 3:return new lZ;case 0:return null;default:throw it(new Fn(Ict+(t.f!=null?t.f:""+t.g)))}}function w4t(t,e,n){switch(e){case 1:!t.n&&(t.n=new fe(qo,t,1,7)),xr(t.n),!t.n&&(t.n=new fe(qo,t,1,7)),is(t.n,u(n,14));return;case 2:G9(t,Br(n));return}Byt(t,e,n)}function v4t(t,e,n){switch(e){case 3:Jw(t,Xt(ye(n)));return;case 4:tv(t,Xt(ye(n)));return;case 5:ku(t,Xt(ye(n)));return;case 6:Eu(t,Xt(ye(n)));return}w4t(t,e,n)}function oq(t,e,n){var r,s,o;o=(r=new set,r),s=F1(o,e,null),s&&s.Fi(),Qc(o,n),Dr((!t.c&&(t.c=new fe(Vv,t,12,10)),t.c),o),Rg(o,0),ry(o,1),qg(o,!0),zg(o,!0)}function m4t(t,e){var n,r,s;return n=KC(t.g,e),_t(n,235)?(s=u(n,235),s.Qh()==null,s.Nh()):_t(n,498)?(r=u(n,1938),s=r.b,s):null}function Xdn(t,e,n,r){var s,o;return Lr(e),Lr(n),o=u(x9(t.d,e),19),nee(!!o,"Row %s not in %s",e,t.e),s=u(x9(t.b,n),19),nee(!!s,"Column %s not in %s",n,t.c),ore(t,o.a,s.a,r)}function pae(t,e,n,r,s,o,h){var d,v,k,C,M;if(C=s[o],k=o==h-1,d=k?r:0,M=Nse(d,C),r!=10&<(ct(t,h-o),e[o],n[o],d,M),!k)for(++o,v=0;v1||d==-1?(o=u(v,15),s.Wb(rfn(t,o))):s.Wb(yat(t,u(v,56)))))}function r0n(t,e,n,r){nVt();var s=Tut;function o(){for(var h=0;hLct)return n;s>-1e-6&&++n}return n}function k4t(t,e){var n;e!=t.b?(n=null,t.b&&(n=m$(t.b,t,-4,n)),e&&(n=c6(e,t,-4,n)),n=Qre(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function vae(t,e){var n;e!=t.f?(n=null,t.f&&(n=m$(t.f,t,-1,n)),e&&(n=c6(e,t,-1,n)),n=Zre(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,0,e,e))}function mae(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new Ag,e=n.Kc();e.Ob();)go(r,(Ii(),Br(e.Pb()))),r.a+=" ";return int(r,r.a.length-1)}function yae(t){var e,n,r;if(t==null)return null;if(n=u(t,15),n.dc())return"";for(r=new Ag,e=n.Kc();e.Ob();)go(r,(Ii(),Br(e.Pb()))),r.a+=" ";return int(r,r.a.length-1)}function h0n(t,e,n){var r,s;return r=t.c[e.c.p][e.p],s=t.c[n.c.p][n.p],r.a!=null&&s.a!=null?Unt(r.a,s.a):r.a!=null?-1:s.a!=null?1:0}function f0n(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new e2(o),d=(n.b-n.a)*n.c<0?(Fp(),Ib):new jp(n);d.Ob();)h=u(d.Pb(),19),s=P8(e,h.a),r=new xzt(t),ern(r.a,s)}function d0n(t,e){var n,r,s,o,h,d;if(e)for(o=e.a.length,n=new e2(o),d=(n.b-n.a)*n.c<0?(Fp(),Ib):new jp(n);d.Ob();)h=u(d.Pb(),19),s=P8(e,h.a),r=new fzt(t),trn(r.a,s)}function g0n(t){var e;if(t!=null&&t.length>0&&wa(t,t.length-1)==33)try{return e=woe(Pl(t,0,t.length-1)),e.e==null}catch(n){if(n=Wi(n),!_t(n,32))throw it(n)}return!1}function xae(t,e,n){var r,s,o;return r=e.ak(),o=e.dd(),s=r.$j()?Gp(t,3,r,null,o,DE(t,r,o,_t(r,99)&&(u(r,18).Bb&Ka)!=0),!0):Gp(t,1,r,r.zj(),o,-1,!0),n?n.Ei(s):n=s,n}function p0n(){var t,e,n;for(e=0,t=0;t<1;t++){if(n=g5t((Rr(t,1),"X".charCodeAt(t))),n==0)throw it(new Nr("Unknown Option: "+"X".substr(t)));e|=n}return e}function b0n(t,e,n){var r,s,o;switch(r=Na(e),s=Pz(r),o=new Mc,Uo(o,e),n.g){case 1:Bs(o,YD(a6(s)));break;case 2:Bs(o,a6(s))}return Jt(o,(Te(),Vy),ye(Q(t,Vy))),o}function E4t(t){var e,n;return e=u(Mr(new ar(lr(jo(t.a).a.Kc(),new z))),17),n=u(Mr(new ar(lr(Ds(t.a).a.Kc(),new z))),17),je(Re(Q(e,(ae(),q1))))||je(Re(Q(n,q1)))}function b4(){b4=Z,$V=new SM("ONE_SIDE",0),qV=new SM("TWO_SIDES_CORNER",1),HV=new SM("TWO_SIDES_OPPOSING",2),zV=new SM("THREE_SIDES",3),jV=new SM("FOUR_SIDES",4)}function Nst(t,e,n,r,s){var o,h;o=u(Bl(Ri(e.Oc(),new VX),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),h=u(h2(t.b,n,r),15),s==0?h.Wc(0,o):h.Gc(o)}function w0n(t,e){var n,r,s,o,h;for(o=new S(e.a);o.a0&&Wse(this,this.c-1,(ve(),Hn)),this.c0&&t[0].length>0&&(this.c=je(Re(Q(Na(t[0][0]),(ae(),sCt))))),this.a=Nt(Tme,ee,2018,t.length,0,2),this.b=Nt(Cme,ee,2019,t.length,0,2),this.d=new Vre}function k0n(t){return t.c.length==0?!1:(An(0,t.c.length),u(t.c[0],17)).c.i.k==(Vn(),ta)?!0:N8(wu(new Tn(null,new _n(t,16)),new mQ),new yQ)}function E0n(t,e,n){return vr(n,"Tree layout",1),L$(t.b),Kd(t.b,(wE(),AG),AG),Kd(t.b,RS,RS),Kd(t.b,$O,$O),Kd(t.b,jS,jS),t.a=Fq(t.b,e),Zwn(t,e,Rc(n,1)),or(n),e}function Eae(t,e){var n,r,s,o,h,d,v;for(d=wy(e),o=e.f,v=e.g,h=b.Math.sqrt(o*o+v*v),s=0,r=new S(d);r.a=0?(n=aI(t,Gq),r=QD(t,Gq)):(e=Vm(t,1),n=aI(e,5e8),r=QD(e,5e8),r=Pa(F0(r,1),Ns(t,1))),S1(F0(r,32),Ns(n,co))}function _ae(t,e,n){var r,s;switch(r=(Zn(e.b!=0),u(lh(e,e.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=t.f;break;case 3:r.a=0;break;default:r.a=t.g}return s=ei(e,0),eD(s,r),e}function Sae(t,e,n,r){var s,o,h,d,v;switch(v=t.b,o=e.d,h=o.j,d=B3t(h,v.d[h.g],n),s=Li(nc(o.n),o.a),o.j.g){case 1:case 3:d.a+=s.a;break;case 2:case 4:d.b+=s.b}fs(r,d,r.c.b,r.c)}function F0n(t,e,n){var r,s,o,h;for(h=Ro(t.e,e,0),o=new zpt,o.b=n,r=new da(t.e,h);r.b1;e>>=1)e&1&&(r=e4(r,n)),n.d==1?n=e4(n,n):n=new Qie(ale(n.a,n.d,Nt(Cr,Xr,25,n.d<<1,15,1)));return r=e4(r,n),r}function M4t(){M4t=Z;var t,e,n,r;for(DEt=Nt(aa,vo,25,25,15,1),IEt=Nt(aa,vo,25,33,15,1),r=152587890625e-16,e=32;e>=0;e--)IEt[e]=r,r*=.5;for(n=1,t=24;t>=0;t--)DEt[t]=n,n*=.5}function z0n(t){var e,n;if(je(Re(qe(t,(Te(),Hy))))){for(n=new ar(lr(K0(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),79),fv(e)&&je(Re(qe(e,j2))))return!0}return!1}function Aae(t,e){var n,r,s;Fs(t.f,e)&&(e.b=t,r=e.c,Ro(t.j,r,0)!=-1||le(t.j,r),s=e.d,Ro(t.j,s,0)!=-1||le(t.j,s),n=e.a.b,n.c.length!=0&&(!t.i&&(t.i=new ase(t)),run(t.i,n)))}function q0n(t){var e,n,r,s,o;return n=t.c.d,r=n.j,s=t.d.d,o=s.j,r==o?n.p=0&&hn(t.substr(e,3),"GMT")||e>=0&&hn(t.substr(e,3),"UTC"))&&(n[0]=e+3),rxt(t,n,r)}function V0n(t,e){var n,r,s,o,h;for(o=t.g.a,h=t.g.b,r=new S(t.d);r.an;o--)t[o]|=e[o-n-1]>>>h,t[o-1]=e[o-n-1]<=t.f)break;o.c[o.c.length]=n}return o}function I4t(t){var e,n,r,s;for(e=null,s=new S(t.wf());s.a0&&Dc(t.g,e,t.g,e+r,d),h=n.Kc(),t.i+=r,s=0;so&&ann(k,Tee(n[d],LEt))&&(s=d,o=v);return s>=0&&(r[0]=e+o),s}function Q0n(t,e){var n;if(n=xUt(t.b.Hf(),e.b.Hf()),n!=0)return n;switch(t.b.Hf().g){case 1:case 2:return pu(t.b.sf(),e.b.sf());case 3:case 4:return pu(e.b.sf(),t.b.sf())}return 0}function Z0n(t){var e,n,r;for(r=t.e.c.length,t.a=t2(Cr,[ee,Xr],[48,25],15,[r,r],2),n=new S(t.c);n.a>4&15,o=t[r]&15,h[s++]=YAt[n],h[s++]=YAt[o];return Mh(h,0,h.length)}function egn(t,e,n){var r,s,o;return r=e.ak(),o=e.dd(),s=r.$j()?Gp(t,4,r,o,null,DE(t,r,o,_t(r,99)&&(u(r,18).Bb&Ka)!=0),!0):Gp(t,r.Kj()?2:1,r,o,r.zj(),-1,!0),n?n.Ei(s):n=s,n}function Cu(t){var e,n;return t>=Ka?(e=RI+(t-Ka>>10&1023)&ys,n=56320+(t-Ka&1023)&ys,String.fromCharCode(e)+(""+String.fromCharCode(n))):String.fromCharCode(t&ys)}function ngn(t,e){$m();var n,r,s,o;return s=u(u(Ai(t.r,e),21),84),s.gc()>=2?(r=u(s.Kc().Pb(),111),n=t.u.Hc((Zu(),nA)),o=t.u.Hc(Q6),!r.a&&!n&&(s.gc()==2||o)):!1}function Dae(t,e,n,r,s){var o,h,d;for(o=gue(t,e,n,r,s),d=!1;!o;)bq(t,s,!0),d=!0,o=gue(t,e,n,r,s);d&&bq(t,s,!1),h=Cit(s),h.c.length!=0&&(t.d&&t.d.lg(h),Dae(t,s,n,r,h))}function hq(){hq=Z,Sft=new a9(J0,0),kAt=new a9("DIRECTED",1),TAt=new a9("UNDIRECTED",2),yAt=new a9("ASSOCIATION",3),EAt=new a9("GENERALIZATION",4),xAt=new a9("DEPENDENCY",5)}function rgn(t,e){var n;if(!T1(t))throw it(new No(_de));switch(n=T1(t),e.g){case 1:return-(t.j+t.f);case 2:return t.i-n.g;case 3:return t.j-n.f;case 4:return-(t.i+t.g)}return 0}function xE(t,e){var n,r;for(On(e),r=t.b.c.length,le(t.b,e);r>0;){if(n=r,r=(r-1)/2|0,t.a.ue(Ne(t.b,r),e)<=0)return ch(t.b,n,e),!0;ch(t.b,n,Ne(t.b,r))}return ch(t.b,r,e),!0}function O4t(t,e,n,r){var s,o;if(s=0,n)s=Lz(t.a[n.g][e.g],r);else for(o=0;o=d)}function P4t(t,e,n,r){var s;if(s=!1,ra(r)&&(s=!0,E8(e,n,Br(r))),s||Nm(r)&&(s=!0,P4t(t,e,n,r)),s||_t(r,236)&&(s=!0,r2(e,n,u(r,236))),!s)throw it(new fet(A8t))}function sgn(t,e){var n,r,s;if(n=e.Hh(t.a),n&&(s=Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),Nh),s!=null)){for(r=1;r<($u(),vLt).length;++r)if(hn(vLt[r],s))return r}return 0}function agn(t,e){var n,r,s;if(n=e.Hh(t.a),n&&(s=Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),Nh),s!=null)){for(r=1;r<($u(),mLt).length;++r)if(hn(mLt[r],s))return r}return 0}function Iae(t,e){var n,r,s,o;if(On(e),o=t.a.gc(),o0?1:0;o.a[s]!=n;)o=o.a[s],s=t.a.ue(n.d,o.d)>0?1:0;o.a[s]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function ugn(t){Zu();var e,n;return e=ji(sg,lt(ct(eU,1),oe,273,0,[Cb])),!(OD(k$(e,t))>1||(n=ji(nA,lt(ct(eU,1),oe,273,0,[eA,Q6])),OD(k$(n,t))>1))}function N4t(t,e){var n;n=Nc((Pp(),Yh),t),_t(n,498)?ko(Yh,t,new QGt(this,e)):ko(Yh,t,this),Hst(this,e),e==(c8(),aLt)?(this.wb=u(this,1939),u(e,1941)):this.wb=(Hp(),Ln)}function lgn(t){var e,n,r;if(t==null)return null;for(e=null,n=0;n=Wg?"error":r>=900?"warn":r>=800?"info":"log"),vXt(n,t.a),t.b&&N5t(e,n,t.b,"Exception: ",!0))}function Q(t,e){var n,r;return r=(!t.q&&(t.q=new _r),tr(t.q,e)),r??(n=e.wg(),_t(n,4)&&(n==null?(!t.q&&(t.q=new _r),Jx(t.q,e)):(!t.q&&(t.q=new _r),ki(t.q,e,n))),n)}function Wa(){Wa=Z,Dd=new _M("P1_CYCLE_BREAKING",0),gb=new _M("P2_LAYERING",1),cu=new _M("P3_NODE_ORDERING",2),qc=new _M("P4_NODE_PLACEMENT",3),Io=new _M("P5_EDGE_ROUTING",4)}function Nae(t,e){var n,r,s,o,h;for(s=e==1?clt:olt,r=s.a.ec().Kc();r.Ob();)for(n=u(r.Pb(),103),h=u(Ai(t.f.c,n),21).Kc();h.Ob();)o=u(h.Pb(),46),mu(t.b.b,o.b),mu(t.b.a,u(o.b,81).d)}function hgn(t,e){H9();var n;if(t.c==e.c){if(t.b==e.b||Ncn(t.b,e.b)){if(n=GXe(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return pu(t.b.g,e.b.g)}else return Ms(t.c,e.c)}function fgn(t,e){var n;vr(e,"Hierarchical port position processing",1),n=t.b,n.c.length>0&&ele((An(0,n.c.length),u(n.c[0],29)),t),n.c.length>1&&ele(u(Ne(n,n.c.length-1),29),t),or(e)}function Bae(t,e){var n,r,s;if(R4t(t,e))return!0;for(r=new S(e);r.a=s||e<0)throw it(new yo(iut+e+D2+s));if(n>=s||n<0)throw it(new yo(sut+n+D2+s));return e!=n?r=(o=t.Ti(n),t.Hi(e,o),o):r=t.Oi(n),r}function $ae(t){var e,n,r;if(r=t,t)for(e=0,n=t.Ug();n;n=n.Ug()){if(++e>vot)return $ae(n);if(r=n,n==t)throw it(new No("There is a cycle in the containment hierarchy of "+t))}return r}function eb(t){var e,n,r;for(r=new f2(Ya,"[","]"),n=t.Kc();n.Ob();)e=n.Pb(),$0(r,Vt(e)===Vt(t)?"(this Collection)":e==null?_u:$o(e));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function R4t(t,e){var n,r;if(r=!1,e.gc()<2)return!1;for(n=0;nr&&(Rr(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return r>0||e1&&(t.j.b+=t.e)):(t.j.a+=n.a,t.j.b=b.Math.max(t.j.b,n.b),t.d.c.length>1&&(t.j.a+=t.e))}function nb(){nb=Z,y2e=lt(ct(Xa,1),xc,61,0,[(ve(),Pn),Hn,mr]),m2e=lt(ct(Xa,1),xc,61,0,[Hn,mr,Bn]),x2e=lt(ct(Xa,1),xc,61,0,[mr,Bn,Pn]),k2e=lt(ct(Xa,1),xc,61,0,[Bn,Pn,Hn])}function ggn(t,e,n,r){var s,o,h,d,v,k,C;if(h=t.c.d,d=t.d.d,h.j!=d.j)for(C=t.b,s=h.j,v=null;s!=d.j;)v=e==0?Oz(s):o3t(s),o=B3t(s,C.d[s.g],n),k=B3t(v,C.d[v.g],n),ri(r,Li(o,k)),s=v}function pgn(t,e,n,r){var s,o,h,d,v;return h=Yse(t.a,e,n),d=u(h.a,19).a,o=u(h.b,19).a,r&&(v=u(Q(e,(ae(),Ju)),10),s=u(Q(n,Ju),10),v&&s&&(tJt(t.b,v,s),d+=t.b.i,o+=t.b.e)),d>o}function qae(t){var e,n,r,s,o,h,d,v,k;for(this.a=wse(t),this.b=new he,n=t,r=0,s=n.length;rynt(t.d).c?(t.i+=t.g.c,sst(t.d)):ynt(t.d).c>ynt(t.g).c?(t.e+=t.d.c,sst(t.g)):(t.i+=mKt(t.g),t.e+=mKt(t.d),sst(t.g),sst(t.d))}function vgn(t,e,n){var r,s,o,h;for(o=e.q,h=e.r,new i2((Uf(),mb),e,o,1),new i2(mb,o,h,1),s=new S(n);s.ad&&(v=d/r),s>o&&(k=o/s),h=b.Math.min(v,k),t.a+=h*(e.a-t.a),t.b+=h*(e.b-t.b)}function kgn(t,e,n,r,s){var o,h;for(h=!1,o=u(Ne(n.b,0),33);Byn(t,e,o,r,s)&&(h=!0,e0n(n,o),n.b.c.length!=0);)o=u(Ne(n.b,0),33);return n.b.c.length==0&&sI(n.j,n),h&&nq(e.q),h}function Egn(t,e){k4();var n,r,s,o;if(e.b<2)return!1;for(o=ei(e,0),n=u(ti(o),8),r=n;o.b!=o.d.c;){if(s=u(ti(o),8),cat(t,r,s))return!0;r=s}return!!cat(t,r,n)}function $4t(t,e,n,r){var s,o;return n==0?(!t.o&&(t.o=new _l((Jc(),Sb),Hv,t,0)),Oj(t.o,e,r)):(o=u(yn((s=u(Dn(t,16),26),s||t.zh()),n),66),o.Nj().Rj(t,su(t),n-Jn(t.zh()),e,r))}function Hst(t,e){var n;e!=t.sb?(n=null,t.sb&&(n=u(t.sb,49).ih(t,1,sA,n)),e&&(n=u(e,49).gh(t,1,sA,n)),n=t3t(t,e,n),n&&n.Fi()):t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,4,e,e))}function Tgn(t,e){var n,r,s,o;if(e)s=H0(e,"x"),n=new vzt(t),V8(n.a,(On(s),s)),o=H0(e,"y"),r=new mzt(t),U8(r.a,(On(o),o));else throw it(new ud("All edge sections need an end point."))}function Cgn(t,e){var n,r,s,o;if(e)s=H0(e,"x"),n=new pzt(t),G8(n.a,(On(s),s)),o=H0(e,"y"),r=new bzt(t),W8(r.a,(On(o),o));else throw it(new ud("All edge sections need a start point."))}function _gn(t,e){var n,r,s,o,h,d,v;for(r=Are(t),o=0,d=r.length;o>22-e,s=t.h<>22-e):e<44?(n=0,r=t.l<>44-e):(n=0,r=0,s=t.l<t)throw it(new Fn("k must be smaller than n"));return e==0||e==t?1:t==0?0:g4t(t)/(g4t(e)*g4t(t-e))}function z4t(t,e){var n,r,s,o;for(n=new l2t(t);n.g==null&&!n.c?Hvt(n):n.g==null||n.i!=0&&u(n.g[n.i-1],47).Ob();)if(o=u(wq(n),56),_t(o,160))for(r=u(o,160),s=0;s>4],e[n*2+1]=yU[o&15];return Mh(e,0,e.length)}function Hgn(t){c$();var e,n,r;switch(r=t.c.length,r){case 0:return Age;case 1:return e=u(Ioe(new S(t)),42),den(e.cd(),e.dd());default:return n=u(P1(t,Nt(P2,Hq,42,t.c.length,0,1)),165),new uet(n)}}function Vgn(t){var e,n,r,s,o,h;for(e=new B3,n=new B3,Up(e,t),Up(n,t);n.b!=n.c;)for(s=u(Hx(n),37),h=new S(s.a);h.a0&&kI(t,n,e),s):_bn(t,e,n)}function Xae(t,e,n){var r,s,o,h;if(e.b!=0){for(r=new Zi,h=ei(e,0);h.b!=h.d.c;)o=u(ti(h),86),Ua(r,Eyt(o)),s=o.e,s.a=u(Q(o,(fc(),$ht)),19).a,s.b=u(Q(o,o_t),19).a;Xae(t,r,Rc(n,r.b/t.a|0))}}function Qae(t,e){var n,r,s,o,h;if(t.e<=e||Zin(t,t.g,e))return t.g;for(o=t.r,r=t.g,h=t.r,s=(o-r)/2+r;r+11&&(t.e.b+=t.a)):(t.e.a+=n.a,t.e.b=b.Math.max(t.e.b,n.b),t.d.c.length>1&&(t.e.a+=t.a))}function Kgn(t){var e,n,r,s;switch(s=t.i,e=s.b,r=s.j,n=s.g,s.a.g){case 0:n.a=(t.g.b.o.a-r.a)/2;break;case 1:n.a=e.d.n.a+e.d.a.a;break;case 2:n.a=e.d.n.a+e.d.a.a-r.a;break;case 3:n.b=e.d.n.b+e.d.a.b}}function Zae(t,e,n,r,s){if(rr&&(t.a=r),t.bs&&(t.b=s),t}function Xgn(t){if(_t(t,149))return Cwn(u(t,149));if(_t(t,229))return khn(u(t,229));if(_t(t,23))return Lgn(u(t,23));throw it(new Fn(L8t+eb(new yl(lt(ct(Qn,1),De,1,5,[t])))))}function Qgn(t,e,n,r,s){var o,h,d;for(o=!0,h=0;h>>s|n[h+r+1]<>>s,++h}return o}function G4t(t,e,n,r){var s,o,h;if(e.k==(Vn(),ta)){for(o=new ar(lr(jo(e).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),h=s.c.i.k,h==ta&&t.c.a[s.c.i.c.p]==r&&t.c.a[e.c.p]==n)return!0}return!1}function Zgn(t,e){var n,r,s,o;return e&=63,n=t.h&Z0,e<22?(o=n>>>e,s=t.m>>e|n<<22-e,r=t.l>>e|t.m<<22-e):e<44?(o=0,s=n>>>e-22,r=t.m>>e-22|t.h<<44-e):(o=0,s=0,r=n>>>e-44),iu(r&hl,s&hl,o&Z0)}function Jae(t,e,n,r){var s;this.b=r,this.e=t==(ev(),FS),s=e[n],this.d=t2(pl,[ee,o0],[177,25],16,[s.length,s.length],2),this.a=t2(Cr,[ee,Xr],[48,25],15,[s.length,s.length],2),this.c=new S4t(e,n)}function Jgn(t){var e,n,r;for(t.k=new Wvt((ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])).length,t.j.c.length),r=new S(t.j);r.a=n)return EE(t,e,r.p),!0;return!1}function eoe(t){var e;return t.Db&64?Vst(t):(e=new Ol(v8t),!t.a||Gr(Gr((e.a+=' "',e),t.a),'"'),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function noe(t,e,n){var r,s,o,h,d;for(d=ou(t.e.Tg(),e),s=u(t.g,119),r=0,h=0;hn?J4t(t,n,"start index"):e<0||e>n?J4t(e,n,"end index"):y_("end index (%s) must not be less than start index (%s)",lt(ct(Qn,1),De,1,5,[pe(e),pe(t)]))}function ioe(t,e){var n,r,s,o;for(r=0,s=t.length;r0&&soe(t,o,n));e.p=0}function Xe(t){var e;this.c=new Zi,this.f=t.e,this.e=t.d,this.i=t.g,this.d=t.c,this.b=t.b,this.k=t.j,this.a=t.a,t.i?this.j=t.i:this.j=(e=u(Vf(ip),9),new sh(e,u(ff(e,e.length),9),0)),this.g=t.f}function spn(t){var e,n,r,s;for(e=qp(Gr(new Ol("Predicates."),"and"),40),n=!0,s=new mx(t);s.b0?d[h-1]:Nt(l0,Yg,10,0,0,1),s=d[h],k=h=0?t.Bh(s):i5t(t,r);else throw it(new Fn(lb+r.ne()+X_));else throw it(new Fn(Bde+e+Rde));else fh(t,n,r)}function U4t(t){var e,n;if(n=null,e=!1,_t(t,204)&&(e=!0,n=u(t,204).a),e||_t(t,258)&&(e=!0,n=""+u(t,258).a),e||_t(t,483)&&(e=!0,n=""+u(t,483).a),!e)throw it(new fet(A8t));return n}function uoe(t,e){var n,r;if(t.f){for(;e.Ob();)if(n=u(e.Pb(),72),r=n.ak(),_t(r,99)&&u(r,18).Bb&dc&&(!t.e||r.Gj()!=j7||r.aj()!=0)&&n.dd()!=null)return e.Ub(),!0;return!1}else return e.Ob()}function loe(t,e){var n,r;if(t.f){for(;e.Sb();)if(n=u(e.Ub(),72),r=n.ak(),_t(r,99)&&u(r,18).Bb&dc&&(!t.e||r.Gj()!=j7||r.aj()!=0)&&n.dd()!=null)return e.Pb(),!0;return!1}else return e.Sb()}function W4t(t,e,n){var r,s,o,h,d,v;for(v=ou(t.e.Tg(),e),r=0,d=t.i,s=u(t.g,119),h=0;h1&&(e.c[e.c.length]=o))}function upn(t){var e,n,r,s;for(n=new Zi,Ua(n,t.o),r=new qpt;n.b!=0;)e=u(n.b==0?null:(Zn(n.b!=0),lh(n,n.a.a)),508),s=Hhe(t,e,!0),s&&le(r.a,e);for(;r.a.c.length!=0;)e=u(Nre(r),508),Hhe(t,e,!1)}function Ug(){Ug=Z,_St=new Ox(N_,0),La=new Ox("BOOLEAN",1),gc=new Ox("INT",2),I7=new Ox("STRING",3),Oo=new Ox("DOUBLE",4),us=new Ox("ENUM",5),U6=new Ox("ENUMSET",6),V1=new Ox("OBJECT",7)}function g_(t,e){var n,r,s,o,h;r=b.Math.min(t.c,e.c),o=b.Math.min(t.d,e.d),s=b.Math.max(t.c+t.b,e.c+e.b),h=b.Math.max(t.d+t.a,e.d+e.a),s=(s/2|0))for(this.e=r?r.c:null,this.d=s;n++0;)Vvt(this);this.b=e,this.a=null}function fpn(t,e){var n,r;e.a?Fwn(t,e):(n=u(Cnt(t.b,e.b),57),n&&n==t.a[e.b.f]&&n.a&&n.a!=e.b.a&&n.c.Fc(e.b),r=u(Tnt(t.b,e.b),57),r&&t.a[r.f]==e.b&&r.a&&r.a!=e.b.a&&e.b.c.Fc(r),fnt(t.b,e.b))}function foe(t,e){var n,r;if(n=u(po(t.b,e),124),u(u(Ai(t.r,e),21),84).dc()){n.n.b=0,n.n.c=0;return}n.n.b=t.C.b,n.n.c=t.C.c,t.A.Hc((Al(),K2))&&Nue(t,e),r=qfn(t,e),lat(t,e)==(l4(),Eb)&&(r+=2*t.w),n.a.a=r}function doe(t,e){var n,r;if(n=u(po(t.b,e),124),u(u(Ai(t.r,e),21),84).dc()){n.n.d=0,n.n.a=0;return}n.n.d=t.C.d,n.n.a=t.C.a,t.A.Hc((Al(),K2))&&Bue(t,e),r=Hfn(t,e),lat(t,e)==(l4(),Eb)&&(r+=2*t.w),n.a.b=r}function dpn(t,e){var n,r,s,o;for(o=new he,r=new S(e);r.an.a&&(r.Hc((hy(),WO))?s=(e.a-n.a)/2:r.Hc(YO)&&(s=e.a-n.a)),e.b>n.b&&(r.Hc((hy(),XO))?o=(e.b-n.b)/2:r.Hc(KO)&&(o=e.b-n.b)),F4t(t,s,o)}function xoe(t,e,n,r,s,o,h,d,v,k,C,M,j){_t(t.Cb,88)&&gy(sl(u(t.Cb,88)),4),Qc(t,n),t.f=h,hE(t,d),dE(t,v),lE(t,k),fE(t,C),qg(t,M),gE(t,j),zg(t,!0),Rg(t,s),t.ok(o),b2(t,e),r!=null&&(t.i=null,fz(t,r))}function koe(t){var e,n;if(t.f){for(;t.n>0;){if(e=u(t.k.Xb(t.n-1),72),n=e.ak(),_t(n,99)&&u(n,18).Bb&dc&&(!t.e||n.Gj()!=j7||n.aj()!=0)&&e.dd()!=null)return!0;--t.n}return!1}else return t.n>0}function J4t(t,e,n){if(t<0)return y_(afe,lt(ct(Qn,1),De,1,5,[n,pe(t)]));if(e<0)throw it(new Fn(ofe+e));return y_("%s (%s) must not be greater than size (%s)",lt(ct(Qn,1),De,1,5,[n,pe(t),pe(e)]))}function t5t(t,e,n,r,s,o){var h,d,v,k;if(h=r-n,h<7){hhn(e,n,r,o);return}if(v=n+s,d=r+s,k=v+(d-v>>1),t5t(e,t,v,k,-s,o),t5t(e,t,k,d,-s,o),o.ue(t[k-1],t[k])<=0){for(;n=0?t.sh(o,n):M5t(t,s,n);else throw it(new Fn(lb+s.ne()+X_));else throw it(new Fn(Bde+e+Rde));else gh(t,r,s,n)}function Eoe(t){var e,n,r,s;if(n=u(t,49).qh(),n)try{if(r=null,e=_E((Pp(),Yh),sle(ghn(n))),e&&(s=e.rh(),s&&(r=s.Wk(kKe(n.e)))),r&&r!=t)return Eoe(r)}catch(o){if(o=Wi(o),!_t(o,60))throw it(o)}return t}function au(t,e,n){var r,s,o,h;if(h=e==null?0:t.b.se(e),s=(r=t.a.get(h),r??new Array),s.length==0)t.a.set(h,s);else if(o=jre(t,e,s),o)return o.ed(n);return ts(s,s.length,new KR(e,n)),++t.c,w$(t.b),null}function Toe(t,e){var n,r;return L$(t.a),Kd(t.a,(pz(),FG),FG),Kd(t.a,D7,D7),r=new Vs,bi(r,D7,(Nz(),Ght)),Vt(qe(e,(uy(),Yht)))!==Vt((HD(),NG))&&bi(r,D7,Hht),bi(r,D7,Vht),TUt(t.a,r),n=Fq(t.a,e),n}function Coe(t){if(!t)return cHt(),Bge;var e=t.valueOf?t.valueOf():t;if(e!==t){var n=Put[typeof e];return n?n(e):Uyt(typeof e)}else return t instanceof Array||t instanceof b.Array?new wx(t):new Qk(t)}function _oe(t,e,n){var r,s,o;switch(o=t.o,r=u(po(t.p,n),244),s=r.i,s.b=gI(r),s.a=dI(r),s.b=b.Math.max(s.b,o.a),s.b>o.a&&!e&&(s.b=o.a),s.c=-(s.b-o.a)/2,n.g){case 1:s.d=-s.a;break;case 3:s.d=o.b}Eat(r),Tat(r)}function Soe(t,e,n){var r,s,o;switch(o=t.o,r=u(po(t.p,n),244),s=r.i,s.b=gI(r),s.a=dI(r),s.a=b.Math.max(s.a,o.b),s.a>o.b&&!e&&(s.a=o.b),s.d=-(s.a-o.b)/2,n.g){case 4:s.c=-s.b;break;case 2:s.c=o.a}Eat(r),Tat(r)}function Apn(t,e){var n,r,s,o,h;if(!e.dc()){if(s=u(e.Xb(0),128),e.gc()==1){tue(t,s,s,1,0,e);return}for(n=1;n0)try{s=ql(e,Sa,wi)}catch(o){throw o=Wi(o),_t(o,127)?(r=o,it(new W$(r))):it(o)}return n=(!t.a&&(t.a=new Ztt(t)),t.a),s=0?u(At(n,s),56):null}function Ipn(t,e){if(t<0)return y_(afe,lt(ct(Qn,1),De,1,5,["index",pe(t)]));if(e<0)throw it(new Fn(ofe+e));return y_("%s (%s) must be less than size (%s)",lt(ct(Qn,1),De,1,5,["index",pe(t),pe(e)]))}function Opn(t){var e,n,r,s,o;if(t==null)return _u;for(o=new f2(Ya,"[","]"),n=t,r=0,s=n.length;r0)for(h=t.c.d,d=t.d.d,s=fd(ia(new $e(d.a,d.b),h),1/(r+1)),o=new $e(h.a,h.b),n=new S(t.a);n.a=0?t._g(n,!0,!0):dv(t,s,!0),153)),u(r,215).ol(e);else throw it(new Fn(lb+e.ne()+X_))}function s5t(t){var e,n;return t>-0x800000000000&&t<0x800000000000?t==0?0:(e=t<0,e&&(t=-t),n=ps(b.Math.floor(b.Math.log(t)/.6931471805599453)),(!e||t!=b.Math.pow(2,n))&&++n,n):Jne(Tu(t))}function Upn(t){var e,n,r,s,o,h,d;for(o=new O0,n=new S(t);n.a2&&d.e.b+d.j.b<=2&&(s=d,r=h),o.a.zc(s,o),s.q=r);return o}function Foe(t,e){var n,r,s;return r=new Y0(t),Mo(r,e),Jt(r,(ae(),eG),e),Jt(r,(Te(),cs),(ua(),Gc)),Jt(r,Id,(t0(),UG)),D0(r,(Vn(),ks)),n=new Mc,Uo(n,r),Bs(n,(ve(),Bn)),s=new Mc,Uo(s,r),Bs(s,Hn),r}function Noe(t){switch(t.g){case 0:return new det((ev(),RO));case 1:return new VB;case 2:return new ltt;default:throw it(new Fn("No implementation is available for the crossing minimizer "+(t.f!=null?t.f:""+t.g)))}}function Boe(t,e){var n,r,s,o,h;for(t.c[e.p]=!0,le(t.a,e),h=new S(e.j);h.a=o)h.$b();else for(s=h.Kc(),r=0;r0?rbt():h<0&&zoe(t,e,-h),!0):!1}function dI(t){var e,n,r,s,o,h,d;if(d=0,t.b==0){for(h=Ese(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}else d=bHt(Sne(l$(Ri(Qnt(t.a),new Ml),new ha)));return d>0?d+t.n.d+t.n.a:0}function gI(t){var e,n,r,s,o,h,d;if(d=0,t.b==0)d=bHt(Sne(l$(Ri(Qnt(t.a),new th),new Fa)));else{for(h=Tse(t,!0),e=0,r=h,s=0,o=r.length;s0&&(d+=n,++e);e>1&&(d+=t.c*(e-1))}return d>0?d+t.n.b+t.n.c:0}function tbn(t,e){var n,r,s,o;for(o=u(po(t.b,e),124),n=o.a,s=u(u(Ai(t.r,e),21),84).Kc();s.Ob();)r=u(s.Pb(),111),r.c&&(n.a=b.Math.max(n.a,Vwt(r.c)));if(n.a>0)switch(e.g){case 2:o.n.c=t.s;break;case 4:o.n.b=t.s}}function ebn(t,e){var n,r,s;return n=u(Q(e,(Jf(),c7)),19).a-u(Q(t,c7),19).a,n==0?(r=ia(nc(u(Q(t,(Yp(),vO)),8)),u(Q(t,dS),8)),s=ia(nc(u(Q(e,vO),8)),u(Q(e,dS),8)),Ms(r.a*r.b,s.a*s.b)):n}function nbn(t,e){var n,r,s;return n=u(Q(e,(gv(),PG)),19).a-u(Q(t,PG),19).a,n==0?(r=ia(nc(u(Q(t,(fc(),zO)),8)),u(Q(t,$S),8)),s=ia(nc(u(Q(e,zO),8)),u(Q(e,$S),8)),Ms(r.a*r.b,s.a*s.b)):n}function qoe(t){var e,n;return n=new Mp,n.a+="e_",e=hun(t),e!=null&&(n.a+=""+e),t.c&&t.d&&(Gr((n.a+=" ",n),iq(t.c)),Gr(hc((n.a+="[",n),t.c.i),"]"),Gr((n.a+=Uot,n),iq(t.d)),Gr(hc((n.a+="[",n),t.d.i),"]")),n.a}function Hoe(t){switch(t.g){case 0:return new ZL;case 1:return new ctt;case 2:return new ott;case 3:return new GB;default:throw it(new Fn("No implementation is available for the layout phase "+(t.f!=null?t.f:""+t.g)))}}function o5t(t,e,n,r,s){var o;switch(o=0,s.g){case 1:o=b.Math.max(0,e.b+t.b-(n.b+r));break;case 3:o=b.Math.max(0,-t.b-r);break;case 2:o=b.Math.max(0,-t.a-r);break;case 4:o=b.Math.max(0,e.a+t.a-(n.a+r))}return o}function rbn(t,e,n){var r,s,o,h,d;if(n)for(s=n.a.length,r=new e2(s),d=(r.b-r.a)*r.c<0?(Fp(),Ib):new jp(r);d.Ob();)h=u(d.Pb(),19),o=P8(n,h.a),k8t in o.a||nut in o.a?gmn(t,o,e):yxn(t,o,e),zQe(u(tr(t.b,pE(o)),79))}function c5t(t){var e,n;switch(t.b){case-1:return!0;case 0:return n=t.t,n>1||n==-1?(t.b=-1,!0):(e=Dh(t),e&&(to(),e.Cj()==j0e)?(t.b=-1,!0):(t.b=1,!1));default:case 1:return!1}}function ibn(t,e){var n,r,s,o,h;for(r=(!e.s&&(e.s=new fe(Mu,e,21,17)),e.s),o=null,s=0,h=r.i;s=0&&r=0?t._g(n,!0,!0):dv(t,s,!0),153)),u(r,215).ll(e);throw it(new Fn(lb+e.ne()+Wct))}function ubn(){Tbt();var t;return T5e?u(_E((Pp(),Yh),Bh),1939):(ii(P2,new jf),V4n(),t=u(_t(Nc((Pp(),Yh),Bh),547)?Nc(Yh,Bh):new LXt,547),T5e=!0,$xn(t),Gxn(t),ki((Ebt(),sLt),t,new oJ),ko(Yh,Bh,t),t)}function lbn(t,e){var n,r,s,o;t.j=-1,xl(t.e)?(n=t.i,o=t.i!=0,gD(t,e),r=new z0(t.e,3,t.c,null,e,n,o),s=e.Qk(t.e,t.c,null),s=xae(t,e,s),s?(s.Ei(r),s.Fi()):mi(t.e,r)):(gD(t,e),s=e.Qk(t.e,t.c,null),s&&s.Fi())}function gq(t,e){var n,r,s;if(s=0,r=e[0],r>=t.length)return-1;for(n=(Rr(r,t.length),t.charCodeAt(r));n>=48&&n<=57&&(s=s*10+(n-48),++r,!(r>=t.length));)n=(Rr(r,t.length),t.charCodeAt(r));return r>e[0]?e[0]=r:s=-1,s}function hbn(t){var e,n,r,s,o;return s=u(t.a,19).a,o=u(t.b,19).a,n=s,r=o,e=b.Math.max(b.Math.abs(s),b.Math.abs(o)),s<=0&&s==o?(n=0,r=o-1):s==-e&&o!=e?(n=o,r=s,o>=0&&++n):(n=-o,r=s),new fa(pe(n),pe(r))}function fbn(t,e,n,r){var s,o,h,d,v,k;for(s=0;s=0&&k>=0&&v=t.i)throw it(new yo(iut+e+D2+t.i));if(n>=t.i)throw it(new yo(sut+n+D2+t.i));return r=t.g[n],e!=n&&(e>16),e=r>>16&16,n=16-e,t=t>>e,r=t-256,e=r>>16&8,n+=e,t<<=e,r=t-Ey,e=r>>16&4,n+=e,t<<=e,r=t-md,e=r>>16&2,n+=e,t<<=e,r=t>>14,e=r&~(r>>1),n+2-e)}function gbn(t){Ux();var e,n,r,s;for(dV=new he,Jut=new _r,Zut=new he,e=(!t.a&&(t.a=new fe(rs,t,10,11)),t.a),U5n(e),s=new nr(e);s.e!=s.i.gc();)r=u(dr(s),33),Ro(dV,r,0)==-1&&(n=new he,le(Zut,n),ese(r,n));return Zut}function pbn(t,e,n){var r,s,o,h;t.a=n.b.d,_t(e,352)?(s=x4(u(e,79),!1,!1),o=lI(s),r=new Ea(t),va(o,r),CI(o,s),e.We((ui(),a5))!=null&&va(u(e.We(a5),74),r)):(h=u(e,470),h.Hg(h.Dg()+t.a.a),h.Ig(h.Eg()+t.a.b))}function Goe(t,e){var n,r,s,o,h,d,v,k;for(k=Xt(ye(Q(e,(Te(),LS)))),v=t[0].n.a+t[0].o.a+t[0].d.c+k,d=1;d=0?n:(d=D9(ia(new $e(h.c+h.b/2,h.d+h.a/2),new $e(o.c+o.b/2,o.d+o.a/2))),-(dle(o,h)-1)*d)}function wbn(t,e,n){var r;ls(new Tn(null,(!n.a&&(n.a=new fe(Ji,n,6,6)),new _n(n.a,16))),new LGt(t,e)),ls(new Tn(null,(!n.n&&(n.n=new fe(qo,n,1,7)),new _n(n.n,16))),new MGt(t,e)),r=u(qe(n,(ui(),a5)),74),r&&dyt(r,t,e)}function dv(t,e,n){var r,s,o;if(o=C4(($u(),ya),t.Tg(),e),o)return to(),u(o,66).Oj()||(o=Kx(To(ya,o))),s=(r=t.Yg(o),u(r>=0?t._g(r,!0,!0):dv(t,o,!0),153)),u(s,215).hl(e,n);throw it(new Fn(lb+e.ne()+Wct))}function l5t(t,e,n,r){var s,o,h,d,v;if(s=t.d[e],s){if(o=s.g,v=s.i,r!=null){for(d=0;d=n&&(r=e,k=(v.c+v.a)/2,h=k-n,v.c<=k-n&&(s=new Dnt(v.c,h),Hm(t,r++,s)),d=k+n,d<=v.a&&(o=new Dnt(d,v.a),Km(r,t.c.length),XC(t.c,r,o)))}function h5t(t){var e;if(!t.c&&t.g==null)t.d=t.si(t.f),Dr(t,t.d),e=t.d;else{if(t.g==null)return!0;if(t.i==0)return!1;e=u(t.g[t.i-1],47)}return e==t.b&&null.km>=null.jm()?(wq(t),h5t(t)):e.Ob()}function xbn(t,e,n){var r,s,o,h,d;if(d=n,!d&&(d=qwt(new r8,0)),vr(d,c1e,1),dhe(t.c,e),h=F4n(t.a,e),h.gc()==1)Kle(u(h.Xb(0),37),d);else for(o=1/h.gc(),s=h.Kc();s.Ob();)r=u(s.Pb(),37),Kle(r,Rc(d,o));LKe(t.a,h,e),Fvn(e),or(d)}function Yoe(t){if(this.a=t,t.c.i.k==(Vn(),ks))this.c=t.c,this.d=u(Q(t.c.i,(ae(),oc)),61);else if(t.d.i.k==ks)this.c=t.d,this.d=u(Q(t.d.i,(ae(),oc)),61);else throw it(new Fn("Edge "+t+" is not an external edge."))}function Koe(t,e){var n,r,s;s=t.b,t.b=e,t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,s,t.b)),e?e!=t&&(Qc(t,e.zb),hit(t,e.d),n=(r=e.c,r??e.zb),dit(t,n==null||hn(n,e.zb)?null:n)):(Qc(t,null),hit(t,0),dit(t,null))}function Xoe(t){var e,n;if(t.f){for(;t.n=h)throw it(new qm(e,h));return s=n[e],h==1?r=null:(r=Nt(Fft,lut,415,h-1,0,1),Dc(n,0,r,0,e),o=h-e-1,o>0&&Dc(n,e+1,r,e,o)),bE(t,r),moe(t,e,s),s}function d6(){d6=Z,tk=u(At(Wt((fbt(),pc).qb),6),34),J6=u(At(Wt(pc.qb),3),34),zft=u(At(Wt(pc.qb),4),34),qft=u(At(Wt(pc.qb),5),18),cq(tk),cq(J6),cq(zft),cq(qft),A5e=new yl(lt(ct(Mu,1),B4,170,0,[tk,J6]))}function tce(t,e){var n;this.d=new OC,this.b=e,this.e=new xo(e.qf()),n=t.u.Hc((Zu(),sP)),t.u.Hc(sg)?t.D?this.a=n&&!e.If():this.a=!0:t.u.Hc(Cb)?n?this.a=!(e.zf().Kc().Ob()||e.Bf().Kc().Ob()):this.a=!1:this.a=!1}function ece(t,e){var n,r,s,o;for(n=t.o.a,o=u(u(Ai(t.r,e),21),84).Kc();o.Ob();)s=u(o.Pb(),111),s.e.a=(r=s.b,r.Xe((ui(),dl))?r.Hf()==(ve(),Bn)?-r.rf().a-Xt(ye(r.We(dl))):n+Xt(ye(r.We(dl))):r.Hf()==(ve(),Bn)?-r.rf().a:n)}function nce(t,e){var n,r,s,o;n=u(Q(t,(Te(),Wl)),103),o=u(qe(e,C7),61),s=u(Q(t,cs),98),s!=(ua(),G1)&&s!=Tb?o==(ve(),Zo)&&(o=uxt(e,n),o==Zo&&(o=a6(n))):(r=Yle(e),r>0?o=a6(n):o=YD(a6(n))),wo(e,C7,o)}function Cbn(t,e){var n,r,s,o,h;for(h=t.j,e.a!=e.b&&Zs(h,new ex),s=h.c.length/2|0,r=0;r0&&kI(t,n,e),o):r.a!=null?(kI(t,e,n),-1):s.a!=null?(kI(t,n,e),1):0}function rce(t,e){var n,r,s,o;t.ej()?(n=t.Vi(),o=t.fj(),++t.j,t.Hi(n,t.oi(n,e)),r=t.Zi(3,null,e,n,o),t.bj()?(s=t.cj(e,null),s?(s.Ei(r),s.Fi()):t.$i(r)):t.$i(r)):(mXt(t,e),t.bj()&&(s=t.cj(e,null),s&&s.Fi()))}function pq(t,e){var n,r,s,o,h;for(h=ou(t.e.Tg(),e),s=new ox,n=u(t.g,119),o=t.i;--o>=0;)r=n[o],h.rl(r.ak())&&Dr(s,r);!Uhe(t,s)&&xl(t.e)&&n8(t,e.$j()?Gp(t,6,e,(wn(),io),null,-1,!1):Gp(t,e.Kj()?2:1,e,null,null,-1,!1))}function TE(){TE=Z;var t,e;for(D6=Nt(j4,ee,91,32,0,1),lS=Nt(j4,ee,91,32,0,1),t=1,e=0;e<=18;e++)D6[e]=JD(t),lS[e]=JD(F0(t,e)),t=_a(t,5);for(;eh)||e.q&&(r=e.C,h=r.c.c.a-r.o.a/2,s=r.n.a-n,s>h)))}function Abn(t,e){var n;vr(e,"Partition preprocessing",1),n=u(Bl(Ri(Wo(Ri(new Tn(null,new _n(t.a,16)),new QK),new wN),new Z5),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),ls(n.Oc(),new vN),or(e)}function ice(t){_rt();var e,n,r,s,o,h,d;for(n=new a2,s=new S(t.e.b);s.a1?t.e*=Xt(t.a):t.f/=Xt(t.a),uln(t),gfn(t),Xvn(t),Jt(t.b,(o_(),fV),t.g)}function cce(t,e,n){var r,s,o,h,d,v;for(r=0,v=n,e||(r=n*(t.c.length-1),v*=-1),o=new S(t);o.a=0?(e||(e=new $C,r>0&&go(e,t.substr(0,r))),e.a+="\\",S8(e,n&ys)):e&&S8(e,n&ys);return e?e.a:t}function Bbn(t){var e;if(!t.a)throw it(new No("IDataType class expected for layout option "+t.f));if(e=Gsn(t.a),e==null)throw it(new No("Couldn't create new instance of property '"+t.f+"'. "+ade+(P0(gP),gP.k)+d8t));return u(e,414)}function eat(t){var e,n,r,s,o;return o=t.eh(),o&&o.kh()&&(s=Zp(t,o),s!=o)?(n=t.Vg(),r=(e=t.Vg(),e>=0?t.Qg(null):t.eh().ih(t,-1-e,null,null)),t.Rg(u(s,49),n),r&&r.Fi(),t.Lg()&&t.Mg()&&n>-1&&mi(t,new Js(t,9,n,o,s)),s):o}function dce(t){var e,n,r,s,o,h,d,v;for(h=0,o=t.f.e,r=0;r>5,s>=t.d)return t.e<0;if(n=t.a[s],e=1<<(e&31),t.e<0){if(r=Ine(t),s>16)),15).Xc(o),d0&&(!(Bp(t.a.c)&&e.n.d)&&!(b8(t.a.c)&&e.n.b)&&(e.g.d+=b.Math.max(0,r/2-.5)),!(Bp(t.a.c)&&e.n.a)&&!(b8(t.a.c)&&e.n.c)&&(e.g.a-=r-1))}function bce(t){var e,n,r,s,o;if(s=new he,o=ule(t,s),e=u(Q(t,(ae(),Ju)),10),e)for(r=new S(e.j);r.a>e,o=t.m>>e|n<<22-e,s=t.l>>e|t.m<<22-e):e<44?(h=r?Z0:0,o=n>>e-22,s=t.m>>e-22|n<<44-e):(h=r?Z0:0,o=r?hl:0,s=n>>e-44),iu(s&hl,o&hl,h&Z0)}function nat(t){var e,n,r,s,o,h;for(this.c=new he,this.d=t,r=as,s=as,e=Cs,n=Cs,h=ei(t,0);h.b!=h.d.c;)o=u(ti(h),8),r=b.Math.min(r,o.a),s=b.Math.min(s,o.b),e=b.Math.max(e,o.a),n=b.Math.max(n,o.b);this.a=new ah(r,s,e-r,n-s)}function mce(t,e){var n,r,s,o,h,d;for(o=new S(t.b);o.a0&&_t(e,42)&&(t.a.qj(),k=u(e,42),v=k.cd(),o=v==null?0:Hi(v),h=rwt(t.a,o),n=t.a.d[h],n)){for(r=u(n.g,367),C=n.i,d=0;d=2)for(n=s.Kc(),e=ye(n.Pb());n.Ob();)o=e,e=ye(n.Pb()),r=b.Math.min(r,(On(e),e-(On(o),o)));return r}function Ybn(t,e){var n,r,s,o,h;r=new Zi,fs(r,e,r.c.b,r.c);do for(n=(Zn(r.b!=0),u(lh(r,r.a.a),86)),t.b[n.g]=1,o=ei(n.d,0);o.b!=o.d.c;)s=u(ti(o),188),h=s.c,t.b[h.g]==1?ri(t.a,s):t.b[h.g]==2?t.b[h.g]=1:fs(r,h,r.c.b,r.c);while(r.b!=0)}function Kbn(t,e){var n,r,s;if(Vt(e)===Vt(Lr(t)))return!0;if(!_t(e,15)||(r=u(e,15),s=t.gc(),s!=r.gc()))return!1;if(_t(r,54)){for(n=0;n0&&(s=n),h=new S(t.f.e);h.a0?(e-=1,n-=1):r>=0&&s<0?(e+=1,n+=1):r>0&&s>=0?(e-=1,n+=1):(e+=1,n-=1),new fa(pe(e),pe(n))}function d2n(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?Hi(t.a)-Hi(e.a):t.d==($9(),BS)&&e.d==NS?-1:t.d==NS&&e.d==BS?1:0}function _ce(t,e){var n,r,s,o,h;return o=e.a,o.c.i==e.b?h=o.d:h=o.c,o.c.i==e.b?r=o.c:r=o.d,s=zhn(t.a,h,r),s>0&&s0):s<0&&-s0):!1}function g2n(t,e,n,r){var s,o,h,d,v,k,C,M;for(s=(e-t.d)/t.c.c.length,o=0,t.a+=n,t.d=e,M=new S(t.c);M.a>24;return h}function b2n(t){if(t.pe()){var e=t.c;e.qe()?t.o="["+e.n:e.pe()?t.o="["+e.ne():t.o="[L"+e.ne()+";",t.b=e.me()+"[]",t.k=e.oe()+"[]";return}var n=t.j,r=t.d;r=r.split("/"),t.o=ast(".",[n,ast("$",r)]),t.b=ast(".",[n,ast(".",r)]),t.k=r[r.length-1]}function w2n(t,e){var n,r,s,o,h;for(h=null,o=new S(t.e.a);o.a=0;e-=2)for(n=0;n<=e;n+=2)(t.b[n]>t.b[n+2]||t.b[n]===t.b[n+2]&&t.b[n+1]>t.b[n+3])&&(r=t.b[n+2],t.b[n+2]=t.b[n],t.b[n]=r,r=t.b[n+3],t.b[n+3]=t.b[n+1],t.b[n+1]=r);t.c=!0}}function Sce(t,e){var n,r,s,o,h,d,v,k;for(h=e==1?clt:olt,o=h.a.ec().Kc();o.Ob();)for(s=u(o.Pb(),103),v=u(Ai(t.f.c,s),21).Kc();v.Ob();)switch(d=u(v.Pb(),46),r=u(d.b,81),k=u(d.a,189),n=k.c,s.g){case 2:case 1:r.g.d+=n;break;case 4:case 3:r.g.c+=n}}function y2n(t,e){var n,r,s,o,h,d,v,k,C;for(k=-1,C=0,h=t,d=0,v=h.length;d0&&++C;++k}return C}function mf(t){var e,n;return n=new Ol(Ip(t.gm)),n.a+="@",Gr(n,(e=Hi(t)>>>0,e.toString(16))),t.kh()?(n.a+=" (eProxyURI: ",hc(n,t.qh()),t.$g()&&(n.a+=" eClass: ",hc(n,t.$g())),n.a+=")"):t.$g()&&(n.a+=" (eClass: ",hc(n,t.$g()),n.a+=")"),n.a}function v_(t){var e,n,r,s;if(t.e)throw it(new No((P0(zut),Sot+zut.k+Aot)));for(t.d==(ao(),h0)&&Bq(t,zh),n=new S(t.a.a);n.a>24}return n}function E2n(t,e,n){var r,s,o;if(s=u(po(t.i,e),306),!s)if(s=new Aee(t.d,e,n),zx(t.i,e,s),P3t(e))jQe(t.a,e.c,e.b,s);else switch(o=lpn(e),r=u(po(t.p,o),244),o.g){case 1:case 3:s.j=!0,het(r,e.b,s);break;case 4:case 2:s.k=!0,het(r,e.c,s)}return s}function T2n(t,e,n,r){var s,o,h,d,v,k;if(d=new ox,v=ou(t.e.Tg(),e),s=u(t.g,119),to(),u(e,66).Oj())for(h=0;h=0)return s;for(o=1,d=new S(e.j);d.a0&&e.ue((An(s-1,t.c.length),u(t.c[s-1],10)),o)>0;)ch(t,s,(An(s-1,t.c.length),u(t.c[s-1],10))),--s;An(s,t.c.length),t.c[s]=o}n.a=new _r,n.b=new _r}function C2n(t,e,n){var r,s,o,h,d,v,k,C;for(C=(r=u(e.e&&e.e(),9),new sh(r,u(ff(r,r.length),9),0)),v=vy(n,"[\\[\\]\\s,]+"),o=v,h=0,d=o.length;h0&&(!(Bp(t.a.c)&&e.n.d)&&!(b8(t.a.c)&&e.n.b)&&(e.g.d-=b.Math.max(0,r/2-.5)),!(Bp(t.a.c)&&e.n.a)&&!(b8(t.a.c)&&e.n.c)&&(e.g.a+=b.Math.max(0,r-1)))}function Ice(t,e,n){var r,s;if((t.c-t.b&t.a.length-1)==2)e==(ve(),Pn)||e==Hn?(nz(u(Q9(t),15),(zl(),f0)),nz(u(Q9(t),15),kb)):(nz(u(Q9(t),15),(zl(),kb)),nz(u(Q9(t),15),f0));else for(s=new O9(t);s.a!=s.b;)r=u(Mz(s),15),nz(r,n)}function S2n(t,e){var n,r,s,o,h,d,v;for(s=x8(new Tpt(t)),d=new da(s,s.c.length),o=x8(new Tpt(e)),v=new da(o,o.c.length),h=null;d.b>0&&v.b>0&&(n=(Zn(d.b>0),u(d.a.Xb(d.c=--d.b),33)),r=(Zn(v.b>0),u(v.a.Xb(v.c=--v.b),33)),n==r);)h=n;return h}function ul(t,e){var n,r,s,o,h,d;return o=t.a*Eot+t.b*1502,d=t.b*Eot+11,n=b.Math.floor(d*$I),o+=n,d-=n*Gxt,o%=Gxt,t.a=o,t.b=d,e<=24?b.Math.floor(t.a*DEt[e]):(s=t.a*(1<=2147483648&&(r-=mot),r)}function Oce(t,e,n){var r,s,o,h;rZt(t,e)>rZt(t,n)?(r=Ko(n,(ve(),Hn)),t.d=r.dc()?0:Nnt(u(r.Xb(0),11)),h=Ko(e,Bn),t.b=h.dc()?0:Nnt(u(h.Xb(0),11))):(s=Ko(n,(ve(),Bn)),t.d=s.dc()?0:Nnt(u(s.Xb(0),11)),o=Ko(e,Hn),t.b=o.dc()?0:Nnt(u(o.Xb(0),11)))}function Pce(t){var e,n,r,s,o,h,d;if(t&&(e=t.Hh(Bh),e&&(h=Br(Xf((!e.b&&(e.b=new kl((dn(),Qa),cc,e)),e.b),"conversionDelegates")),h!=null))){for(d=new he,r=vy(h,"\\w+"),s=0,o=r.length;st.c));h++)s.a>=t.s&&(o<0&&(o=h),d=h);return v=(t.s+t.c)/2,o>=0&&(r=lmn(t,e,o,d),v=mXe((An(r,e.c.length),u(e.c[r],329))),ybn(e,r,n)),v}function sat(){sat=Z,l3e=new eo((ui(),W6),1.3),G_t=GSt,Z_t=new Ow(15),w3e=new eo(U2,Z_t),m3e=new eo(W2,15),h3e=YG,g3e=G2,p3e=c5,b3e=xb,d3e=o5,K_t=tP,v3e=Qy,Q_t=(y5t(),o3e),Y_t=s3e,X_t=a3e,J_t=c3e,U_t=i3e,W_t=KG,f3e=WSt,HO=r3e,V_t=n3e,tSt=u3e}function Ir(t,e,n){var r,s,o,h,d,v,k;for(h=(o=new lB,o),oyt(h,(On(e),e)),k=(!h.b&&(h.b=new kl((dn(),Qa),cc,h)),h.b),v=1;v0&&r4n(this,s)}function S5t(t,e,n,r,s,o){var h,d,v;if(!s[e.b]){for(s[e.b]=!0,h=r,!h&&(h=new B$),le(h.e,e),v=o[e.b].Kc();v.Ob();)d=u(v.Pb(),282),!(d.d==n||d.c==n)&&(d.c!=e&&S5t(t,d.c,e,h,s,o),d.d!=e&&S5t(t,d.d,e,h,s,o),le(h.c,d),Ls(h.d,d.b));return h}return null}function M2n(t){var e,n,r,s,o,h,d;for(e=0,s=new S(t.e);s.a=2}function D2n(t,e){var n,r,s,o;for(vr(e,"Self-Loop pre-processing",1),r=new S(t.a);r.a1||(e=ji(_f,lt(ct(lo,1),oe,93,0,[ig,Sf])),OD(k$(e,t))>1)||(r=ji(Lf,lt(ct(lo,1),oe,93,0,[d0,Hh])),OD(k$(r,t))>1))}function P2n(t,e){var n,r,s;return n=e.Hh(t.a),n&&(s=Br(Xf((!n.b&&(n.b=new kl((dn(),Qa),cc,n)),n.b),"affiliation")),s!=null)?(r=Tj(s,Cu(35)),r==-1?Uit(t,C9(t,Rl(e.Hj())),s):r==0?Uit(t,null,s.substr(1)):Uit(t,s.substr(0,r),s.substr(r+1))):null}function F2n(t){var e,n,r;try{return t==null?_u:$o(t)}catch(s){if(s=Wi(s),_t(s,102))return e=s,r=Ip(ol(t))+"@"+(n=(Gd(),$3t(t)>>>0),n.toString(16)),Efn(kun(),(d8(),"Exception during lenientFormat for "+r),e),"<"+r+" threw "+Ip(e.gm)+">";throw it(s)}}function Bce(t){switch(t.g){case 0:return new ett;case 1:return new qB;case 2:return new jVt;case 3:return new BL;case 4:return new aYt;case 5:return new ntt;default:throw it(new Fn("No implementation is available for the layerer "+(t.f!=null?t.f:""+t.g)))}}function A5t(t,e,n){var r,s,o;for(o=new S(t.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&ri(e,r.b));for(s=new S(t.i);s.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&ri(n,r.a))}function wq(t){var e,n,r,s,o;if(t.g==null&&(t.d=t.si(t.f),Dr(t,t.d),t.c))return o=t.f,o;if(e=u(t.g[t.i-1],47),s=e.Pb(),t.e=e,n=t.si(s),n.Ob())t.d=n,Dr(t,n);else for(t.d=null;!e.Ob()&&(ts(t.g,--t.i,null),t.i!=0);)r=u(t.g[t.i-1],47),e=r;return s}function N2n(t,e){var n,r,s,o,h,d;if(r=e,s=r.ak(),X0(t.e,s)){if(s.hi()&&O$(t,s,r.dd()))return!1}else for(d=ou(t.e.Tg(),s),n=u(t.g,119),o=0;o1||n>1)return 2;return e+n==1?2:0}function jce(t,e,n){var r,s,o,h,d;for(vr(n,"ELK Force",1),je(Re(qe(e,(Jf(),y7t))))||y$((r=new rr((Pm(),new Mm(e))),r)),d=pre(e),odn(d),$un(t,u(Q(d,m7t),424)),h=Ale(t.a,d),o=h.Kc();o.Ob();)s=u(o.Pb(),231),kmn(t.b,s,Rc(n,1/h.gc()));d=zhe(h),Rhe(d),or(n)}function H2n(t,e){var n,r,s,o,h;if(vr(e,"Breaking Point Processor",1),u5n(t),je(Re(Q(t,(Te(),S9t))))){for(s=new S(t.b);s.a=0?t._g(r,!0,!0):dv(t,o,!0),153)),u(s,215).ml(e,n)}else throw it(new Fn(lb+e.ne()+X_))}function W2n(t,e){var n,r,s,o,h;for(n=new he,s=Wo(new Tn(null,new _n(t,16)),new ZQ),o=Wo(new Tn(null,new _n(t,16)),new JQ),h=yon(Fan(l$(_wn(lt(ct(n6n,1),De,833,0,[s,o])),new tZ))),r=1;r=2*e&&le(n,new Dnt(h[r-1]+e,h[r]-e));return n}function Y2n(t,e,n){vr(n,"Eades radial",1),n.n&&e&&gf(n,pf(e),(Sl(),Ql)),t.d=u(qe(e,(m9(),HS)),33),t.c=Xt(ye(qe(e,(uy(),RG)))),t.e=pst(u(qe(e,qO),293)),t.a=Shn(u(qe(e,D_t),426)),t.b=Kdn(u(qe(e,M_t),340)),Ldn(t),n.n&&e&&gf(n,pf(e),(Sl(),Ql))}function K2n(t,e,n){var r,s,o,h,d,v,k,C;if(n)for(o=n.a.length,r=new e2(o),d=(r.b-r.a)*r.c<0?(Fp(),Ib):new jp(r);d.Ob();)h=u(d.Pb(),19),s=P8(n,h.a),s&&(v=Wsn(t,(k=(Sw(),C=new Gpt,C),e&&D5t(k,e),k),s),G9(v,R0(s,Ad)),lq(s,v),e5t(s,v),Lit(t,s,v))}function mq(t){var e,n,r,s,o,h;if(!t.j){if(h=new tC,e=uA,o=e.a.zc(t,e),o==null){for(r=new nr(Ao(t));r.e!=r.i.gc();)n=u(dr(r),26),s=mq(n),is(h,s),Dr(h,n);e.a.Bc(t)!=null}iy(h),t.j=new V3((u(At(Wt((Hp(),Ln).o),11),18),h.i),h.g),sl(t).b&=-33}return t.j}function X2n(t){var e,n,r,s;if(t==null)return null;if(r=$c(t,!0),s=oO.length,hn(r.substr(r.length-s,s),oO)){if(n=r.length,n==4){if(e=(Rr(0,r.length),r.charCodeAt(0)),e==43)return CLt;if(e==45)return G5e}else if(n==3)return CLt}return new Ppt(r)}function Q2n(t){var e,n,r;return n=t.l,n&n-1||(r=t.m,r&r-1)||(e=t.h,e&e-1)||e==0&&r==0&&n==0?-1:e==0&&r==0&&n!=0?tyt(n):e==0&&r!=0&&n==0?tyt(r)+22:e!=0&&r==0&&n==0?tyt(e)+44:-1}function Z2n(t,e){var n,r,s,o,h;for(vr(e,"Edge joining",1),n=je(Re(Q(t,(Te(),dht)))),s=new S(t.b);s.a1)for(s=new S(t.a);s.a0),o.a.Xb(o.c=--o.b),zm(o,s),Zn(o.b3&&Jd(t,0,e-3))}function nwn(t){var e,n,r,s;return Vt(Q(t,(Te(),qy)))===Vt((G0(),sp))?!t.e&&Vt(Q(t,DO))!==Vt((eE(),TO)):(r=u(Q(t,eht),292),s=je(Re(Q(t,nht)))||Vt(Q(t,_S))===Vt((n6(),EO)),e=u(Q(t,VCt),19).a,n=t.a.c.length,!s&&r!=(eE(),TO)&&(e==0||e>n))}function rwn(t){var e,n;for(n=0;n0);n++);if(n>0&&n0);e++);return e>0&&n>16!=6&&e){if(vE(t,e))throw it(new Fn(Q_+sce(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?r4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,6,r)),r=ewt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,6,e,e))}function D5t(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=9&&e){if(vE(t,e))throw it(new Fn(Q_+zue(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?s4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,9,r)),r=nwt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,9,e,e))}function oat(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(vE(t,e))throw it(new Fn(Q_+$le(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?o4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,12,r)),r=twt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function SE(t){var e,n,r,s,o;if(r=Dh(t),o=t.j,o==null&&r)return t.$j()?null:r.zj();if(_t(r,148)){if(n=r.Aj(),n&&(s=n.Nh(),s!=t.i)){if(e=u(r,148),e.Ej())try{t.g=s.Kh(e,o)}catch(h){if(h=Wi(h),_t(h,78))t.g=null;else throw it(h)}t.i=s}return t.g}return null}function qce(t){var e;return e=new he,le(e,new Dx(new $e(t.c,t.d),new $e(t.c+t.b,t.d))),le(e,new Dx(new $e(t.c,t.d),new $e(t.c,t.d+t.a))),le(e,new Dx(new $e(t.c+t.b,t.d+t.a),new $e(t.c+t.b,t.d))),le(e,new Dx(new $e(t.c+t.b,t.d+t.a),new $e(t.c,t.d+t.a))),e}function Hce(t,e,n,r){var s,o,h;if(h=p4t(e,n),r.c[r.c.length]=e,t.j[h.p]==-1||t.j[h.p]==2||t.a[e.p])return r;for(t.j[h.p]=-1,o=new ar(lr(U0(h).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),!(!(!Ga(s)&&!(!Ga(s)&&s.c.i.c==s.d.i.c))||s==e))return Hce(t,s,h,r);return r}function iwn(t,e,n){var r,s,o;for(o=e.a.ec().Kc();o.Ob();)s=u(o.Pb(),79),r=u(tr(t.b,s),266),!r&&(es(e0(s))==es(tb(s))?mvn(t,s,n):e0(s)==es(tb(s))?tr(t.c,s)==null&&tr(t.b,tb(s))!=null&&khe(t,s,n,!1):tr(t.d,s)==null&&tr(t.b,e0(s))!=null&&khe(t,s,n,!0))}function swn(t,e){var n,r,s,o,h,d,v;for(s=t.Kc();s.Ob();)for(r=u(s.Pb(),10),d=new Mc,Uo(d,r),Bs(d,(ve(),Hn)),Jt(d,(ae(),nG),(Nn(),!0)),h=e.Kc();h.Ob();)o=u(h.Pb(),10),v=new Mc,Uo(v,o),Bs(v,Bn),Jt(v,nG,!0),n=new Vw,Jt(n,nG,!0),Oa(n,d),oa(n,v)}function awn(t,e,n,r){var s,o,h,d;s=Rie(t,e,n),o=Rie(t,n,e),h=u(tr(t.c,e),112),d=u(tr(t.c,n),112),sr.b.g&&(o.c[o.c.length]=r);return o}function AE(){AE=Z,i5=new DM("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),G6=new DM("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),GS=new DM("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),VS=new DM("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),US=new DM("WHOLE_DRAWING",4)}function own(t,e){if(_t(e,239))return Bln(t,u(e,33));if(_t(e,186))return Xln(t,u(e,118));if(_t(e,354))return urn(t,u(e,137));if(_t(e,352))return Oyn(t,u(e,79));if(e)return null;throw it(new Fn(L8t+eb(new yl(lt(ct(Qn,1),De,1,5,[e])))))}function cwn(t){var e,n,r,s,o,h,d;for(o=new Zi,s=new S(t.d.a);s.a1)for(e=Fw((n=new Xb,++t.b,n),t.d),d=ei(o,0);d.b!=d.d.c;)h=u(ti(d),121),yf(lf(uf(hf(cf(new Ch,1),0),e),h))}function I5t(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=11&&e){if(vE(t,e))throw it(new Fn(Q_+X5t(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?c4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=c6(e,t,10,r)),r=lwt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,11,e,e))}function uwn(t){var e,n,r,s;for(r=new p2(new Cg(t.b).a);r.b;)n=Zw(r),s=u(n.cd(),11),e=u(n.dd(),10),Jt(e,(ae(),_i),s),Jt(s,Ju,e),Jt(s,SO,(Nn(),!0)),Bs(s,u(Q(e,oc),61)),Q(e,oc),Jt(s.i,(Te(),cs),(ua(),B7)),u(Q(Na(s.i),Vc),21).Fc((oo(),y7))}function lwn(t,e,n){var r,s,o,h,d,v;if(o=0,h=0,t.c)for(v=new S(t.d.i.j);v.ao.a?-1:s.av){for(C=t.d,t.d=Nt(XAt,R8t,63,2*v+4,0,1),o=0;o=9223372036854776e3?(q8(),sEt):(s=!1,t<0&&(s=!0,t=-t),r=0,t>=C2&&(r=ps(t/C2),t-=r*C2),n=0,t>=m6&&(n=ps(t/m6),t-=n*m6),e=ps(t),o=iu(e,n,r),s&&Ait(o),o)}function ywn(t,e){var n,r,s,o;for(n=!e||!t.u.Hc((Zu(),sg)),o=0,s=new S(t.e.Cf());s.a=-e&&r==e?new fa(pe(n-1),pe(r)):new fa(pe(n),pe(r-1))}function Yce(){return ro(),lt(ct(l6n,1),oe,77,0,[J7t,X7t,gS,glt,vTt,CV,FV,h7,bTt,oTt,gTt,l7,wTt,iTt,mTt,V7t,LV,plt,EV,IV,xTt,DV,G7t,pTt,kTt,OV,yTt,TV,eTt,fTt,hTt,NV,Y7t,kV,SV,W7t,u7,uTt,sTt,dTt,pS,Q7t,K7t,lTt,aTt,AV,PV,U7t,MV,cTt,_V,nTt,tTt,xO,xV,rTt,Z7t])}function Twn(t,e,n){t.d=0,t.b=0,e.k==(Vn(),Hc)&&n.k==Hc&&u(Q(e,(ae(),_i)),10)==u(Q(n,_i),10)&&(eit(e).j==(ve(),Pn)?Oce(t,e,n):Oce(t,n,e)),e.k==Hc&&n.k==ta?eit(e).j==(ve(),Pn)?t.d=1:t.b=1:n.k==Hc&&e.k==ta&&(eit(n).j==(ve(),Pn)?t.b=1:t.d=1),h1n(t,e,n)}function Cwn(t){var e,n,r,s,o,h,d,v,k,C,M;return M=D4t(t),e=t.a,v=e!=null,v&&E8(M,"category",t.a),s=wM(new Sm(t.d)),h=!s,h&&(k=new Eg,Yf(M,"knownOptions",k),n=new Nzt(k),va(new Sm(t.d),n)),o=wM(t.g),d=!o,d&&(C=new Eg,Yf(M,"supportedFeatures",C),r=new Bzt(C),va(t.g,r)),M}function _wn(t){var e,n,r,s,o,h,d,v,k;for(r=!1,e=336,n=0,o=new XWt(t.length),d=t,v=0,k=d.length;v>16!=7&&e){if(vE(t,e))throw it(new Fn(Q_+eoe(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?i4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=u(e,49).gh(t,1,lP,r)),r=nvt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,7,e,e))}function Kce(t,e){var n,r;if(e!=t.Cb||t.Db>>16!=3&&e){if(vE(t,e))throw it(new Fn(Q_+lie(t)));r=null,t.Cb&&(r=(n=t.Db>>16,n>=0?a4t(t,r):t.Cb.ih(t,-1-n,null,r))),e&&(r=u(e,49).gh(t,0,fP,r)),r=rvt(t,e,r),r&&r.Fi()}else t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,3,e,e))}function uat(t,e){TE();var n,r,s,o,h,d,v,k,C;return e.d>t.d&&(d=t,t=e,e=d),e.d<63?bvn(t,e):(h=(t.d&-2)<<4,k=bmt(t,h),C=bmt(e,h),r=Cat(t,Qx(k,h)),s=Cat(e,Qx(C,h)),v=uat(k,C),n=uat(r,s),o=uat(Cat(k,r),Cat(s,C)),o=Oat(Oat(o,v),n),o=Qx(o,h),v=Qx(v,h<<1),Oat(Oat(v,o),n))}function Awn(t,e,n){var r,s,o,h,d;for(h=t_(t,n),d=Nt(l0,Yg,10,e.length,0,1),r=0,o=h.Kc();o.Ob();)s=u(o.Pb(),11),je(Re(Q(s,(ae(),SO))))&&(d[r++]=u(Q(s,Ju),10));if(r=0;o+=n?1:-1)h=h|e.c.Sf(v,o,n,r&&!je(Re(Q(e.j,(ae(),Ov))))&&!je(Re(Q(e.j,(ae(),X4))))),h=h|e.q._f(v,o,n),h=h|Pue(t,v[o],n,r);return Fs(t.c,e),h}function xq(t,e,n){var r,s,o,h,d,v,k,C,M,j;for(C=OZt(t.j),M=0,j=C.length;M1&&(t.a=!0),Ven(u(n.b,65),Li(nc(u(e.b,65).c),fd(ia(nc(u(n.b,65).a),u(e.b,65).a),s))),WQt(t,e),Xce(t,n)}function Qce(t){var e,n,r,s,o,h,d;for(o=new S(t.a.a);o.a0&&o>0?h.p=e++:r>0?h.p=n++:o>0?h.p=s++:h.p=n++}wn(),Zs(t.j,new DL)}function Own(t){var e,n;n=null,e=u(Ne(t.g,0),17);do{if(n=e.d.i,Us(n,(ae(),$h)))return u(Q(n,$h),11).i;if(n.k!=(Vn(),Os)&&zr(new ar(lr(Ds(n).a.Kc(),new z))))e=u(Mr(new ar(lr(Ds(n).a.Kc(),new z))),17);else if(n.k!=Os)return null}while(n&&n.k!=(Vn(),Os));return n}function Pwn(t,e){var n,r,s,o,h,d,v,k,C;for(d=e.j,h=e.g,v=u(Ne(d,d.c.length-1),113),C=(An(0,d.c.length),u(d.c[0],113)),k=Ast(t,h,v,C),o=1;ok&&(v=n,C=s,k=r);e.a=C,e.c=v}function Fwn(t,e){var n,r;if(r=tD(t.b,e.b),!r)throw it(new No("Invalid hitboxes for scanline constraint calculation."));(ire(e.b,u(FZe(t.b,e.b),57))||ire(e.b,u(PZe(t.b,e.b),57)))&&(Gd(),e.b+""),t.a[e.b.f]=u(Cnt(t.b,e.b),57),n=u(Tnt(t.b,e.b),57),n&&(t.a[n.f]=e.b)}function yf(t){if(!t.a.d||!t.a.e)throw it(new No((P0(fpe),fpe.k+" must have a source and target "+(P0(a7t),a7t.k)+" specified.")));if(t.a.d==t.a.e)throw it(new No("Network simplex does not support self-loops: "+t.a+" "+t.a.d+" "+t.a.e));return _j(t.a.d.g,t.a),_j(t.a.e.b,t.a),t.a}function Nwn(t,e,n){var r,s,o,h,d,v,k;for(k=new Op(new F$t(t)),h=lt(ct(Jbe,1),h1e,11,0,[e,n]),d=0,v=h.length;dv-t.b&&dv-t.a&&d0&&++H;++j}return H}function Uwn(t,e){var n,r,s,o,h;for(h=u(Q(e,(gv(),d_t)),425),o=ei(e.b,0);o.b!=o.d.c;)if(s=u(ti(o),86),t.b[s.g]==0){switch(h.g){case 0:Cse(t,s);break;case 1:Ybn(t,s)}t.b[s.g]=2}for(r=ei(t.a,0);r.b!=r.d.c;)n=u(ti(r),188),ay(n.b.d,n,!0),ay(n.c.b,n,!0);Jt(e,(fc(),a_t),t.a)}function ou(t,e){to();var n,r,s,o;return e?e==(Ii(),H5e)||(e==D5e||e==X2||e==M5e)&&t!=ELt?new Axt(t,e):(r=u(e,677),n=r.pk(),n||(M8(To(($u(),ya),e)),n=r.pk()),o=(!n.i&&(n.i=new _r),n.i),s=u(ec(Lo(o.f,t)),1942),!s&&ki(o,t,s=new Axt(t,e)),s):S5e}function Wwn(t,e){var n,r,s,o,h,d,v,k,C;for(v=u(Q(t,(ae(),_i)),11),k=Yo(lt(ct(Ws,1),ee,8,0,[v.i.n,v.n,v.a])).a,C=t.i.n.b,n=wd(t.e),s=n,o=0,h=s.length;o0?o.a?(d=o.b.rf().a,n>d&&(s=(n-d)/2,o.d.b=s,o.d.c=s)):o.d.c=t.s+n:S9(t.u)&&(r=I4t(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.rf().a&&(o.d.c=r.c+r.b-o.b.rf().a))}function Qwn(t,e){var n,r,s,o;for(vr(e,"Semi-Interactive Crossing Minimization Processor",1),n=!1,s=new S(t.b);s.a=0){if(e==n)return new fa(pe(-e-1),pe(-e-1));if(e==-n)return new fa(pe(-e),pe(n+1))}return b.Math.abs(e)>b.Math.abs(n)?e<0?new fa(pe(-e),pe(n)):new fa(pe(-e),pe(n+1)):new fa(pe(e+1),pe(n))}function tvn(t){var e,n;n=u(Q(t,(Te(),uu)),163),e=u(Q(t,(ae(),B2)),303),n==(dh(),bb)?(Jt(t,uu,MO),Jt(t,B2,(q0(),Y4))):n==jy?(Jt(t,uu,MO),Jt(t,B2,(q0(),F6))):e==(q0(),Y4)?(Jt(t,uu,bb),Jt(t,B2,CO)):e==F6&&(Jt(t,uu,jy),Jt(t,B2,CO))}function kq(){kq=Z,jO=new jQ,Zme=bi(new Vs,(Wa(),cu),(ro(),EV)),eye=Ku(bi(new Vs,cu,DV),Io,MV),nye=uv(uv(VR(Ku(bi(new Vs,Dd,FV),Io,PV),qc),OV),NV),Jme=Ku(bi(bi(bi(new Vs,gb,CV),qc,SV),qc,u7),Io,_V),tye=Ku(bi(bi(new Vs,qc,u7),qc,kV),Io,xV)}function m_(){m_=Z,sye=bi(Ku(new Vs,(Wa(),Io),(ro(),nTt)),cu,EV),uye=uv(uv(VR(Ku(bi(new Vs,Dd,FV),Io,PV),qc),OV),NV),aye=Ku(bi(bi(bi(new Vs,gb,CV),qc,SV),qc,u7),Io,_V),cye=bi(bi(new Vs,cu,DV),Io,MV),oye=Ku(bi(bi(new Vs,qc,u7),qc,kV),Io,xV)}function evn(t,e,n,r,s){var o,h;(!Ga(e)&&e.c.i.c==e.d.i.c||!fne(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])),n))&&!Ga(e)&&(e.c==s?m8(e.a,0,new xo(n)):ri(e.a,new xo(n)),r&&!I0(t.a,n)&&(h=u(Q(e,(Te(),So)),74),h||(h=new Pu,Jt(e,So,h)),o=new xo(n),fs(h,o,h.c.b,h.c),Fs(t.a,o)))}function nvn(t){var e,n;for(n=new ar(lr(jo(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),17),e.c.i.k!=(Vn(),Ll))throw it(new R3(Kot+rI(t)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function rvn(t,e,n){var r,s,o,h,d,v,k;if(s=bie(t.Db&254),s==0)t.Eb=n;else{if(s==1)d=Nt(Qn,De,1,2,5,1),o=Sst(t,e),o==0?(d[0]=n,d[1]=t.Eb):(d[0]=t.Eb,d[1]=n);else for(d=Nt(Qn,De,1,s+1,5,1),h=u2(t.Eb),r=2,v=0,k=0;r<=128;r<<=1)r==e?d[k++]=n:t.Db&r&&(d[k++]=h[v++]);t.Eb=d}t.Db|=e}function Jce(t,e,n){var r,s,o,h;for(this.b=new he,s=0,r=0,h=new S(t);h.a0&&(o=u(Ne(this.b,0),167),s+=o.o,r+=o.p),s*=2,r*=2,e>1?s=ps(b.Math.ceil(s*e)):r=ps(b.Math.ceil(r/e)),this.a=new C3t(s,r)}function tue(t,e,n,r,s,o){var h,d,v,k,C,M,j,H,G,K,tt,gt;for(C=r,e.j&&e.o?(H=u(tr(t.f,e.A),57),K=H.d.c+H.d.b,--C):K=e.a.c+e.a.b,M=s,n.q&&n.o?(H=u(tr(t.f,n.C),57),k=H.d.c,++M):k=n.a.c,tt=k-K,v=b.Math.max(2,M-C),d=tt/v,G=K+d,j=C;j=0;h+=s?1:-1){for(d=e[h],v=r==(ve(),Hn)?s?Ko(d,r):l2(Ko(d,r)):s?l2(Ko(d,r)):Ko(d,r),o&&(t.c[d.p]=v.gc()),M=v.Kc();M.Ob();)C=u(M.Pb(),11),t.d[C.p]=k++;Ls(n,v)}}function eue(t,e,n){var r,s,o,h,d,v,k,C;for(o=Xt(ye(t.b.Kc().Pb())),k=Xt(ye(fun(e.b))),r=fd(nc(t.a),k-n),s=fd(nc(e.a),n-o),C=Li(r,s),fd(C,1/(k-o)),this.a=C,this.b=new he,d=!0,h=t.b.Kc(),h.Pb();h.Ob();)v=Xt(ye(h.Pb())),d&&v-n>Lct&&(this.b.Fc(n),d=!1),this.b.Fc(v);d&&this.b.Fc(n)}function ivn(t){var e,n,r,s;if(pmn(t,t.n),t.d.c.length>0){for(RC(t.c);w5t(t,u(J(new S(t.e.a)),121))>5,e&=31,r>=t.d)return t.e<0?(rb(),But):(rb(),s7);if(o=t.d-r,s=Nt(Cr,Xr,25,o+1,15,1),Qgn(s,o,t.a,r,e),t.e<0){for(n=0;n0&&t.a[n]<<32-e){for(n=0;n=0?!1:(n=C4(($u(),ya),s,e),n?(r=n.Zj(),(r>1||r==-1)&&Hw(To(ya,n))!=3):!0)):!1}function cvn(t,e,n,r){var s,o,h,d,v;return d=Do(u(At((!e.b&&(e.b=new Cn(br,e,4,7)),e.b),0),82)),v=Do(u(At((!e.c&&(e.c=new Cn(br,e,5,8)),e.c),0),82)),es(d)==es(v)||ey(v,d)?null:(h=cD(e),h==n?r:(o=u(tr(t.a,h),10),o&&(s=o.e,s)?s:null))}function uvn(t,e){var n;switch(n=u(Q(t,(Te(),uG)),276),vr(e,"Label side selection ("+n+")",1),n.g){case 0:mce(t,(zl(),f0));break;case 1:mce(t,(zl(),kb));break;case 2:Ple(t,(zl(),f0));break;case 3:Ple(t,(zl(),kb));break;case 4:pue(t,(zl(),f0));break;case 5:pue(t,(zl(),kb))}or(e)}function j5t(t,e,n){var r,s,o,h,d,v;if(r=YKe(n,t.length),h=t[r],h[0].k==(Vn(),ks))for(o=mHt(n,h.length),v=e.j,s=0;s0&&(n[0]+=t.d,h-=n[0]),n[2]>0&&(n[2]+=t.d,h-=n[2]),o=b.Math.max(0,h),n[1]=b.Math.max(n[1],h),vmt(t,eu,s.c+r.b+n[0]-(n[1]-h)/2,n),e==eu&&(t.c.b=o,t.c.c=s.c+r.b+(o-h)/2)}function fue(){this.c=Nt(aa,vo,25,(ve(),lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn])).length,15,1),this.b=Nt(aa,vo,25,lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn]).length,15,1),this.a=Nt(aa,vo,25,lt(ct(Xa,1),xc,61,0,[Zo,Pn,Hn,mr,Bn]).length,15,1),Abt(this.c,as),Abt(this.b,Cs),Abt(this.a,Cs)}function jc(t,e,n){var r,s,o,h;if(e<=n?(s=e,o=n):(s=n,o=e),r=0,t.b==null)t.b=Nt(Cr,Xr,25,2,15,1),t.b[0]=s,t.b[1]=o,t.c=!0;else{if(r=t.b.length,t.b[r-1]+1==s){t.b[r-1]=o;return}h=Nt(Cr,Xr,25,r+2,15,1),Dc(t.b,0,h,0,r),t.b=h,t.b[r-1]>=s&&(t.c=!1,t.a=!1),t.b[r++]=s,t.b[r]=o,t.c||v4(t)}}function wvn(t,e,n){var r,s,o,h,d,v,k;for(k=e.d,t.a=new Xc(k.c.length),t.c=new _r,d=new S(k);d.a=0?t._g(k,!1,!0):dv(t,n,!1),58));t:for(o=M.Kc();o.Ob();){for(s=u(o.Pb(),56),C=0;C1;)by(s,s.i-1);return r}function kvn(t,e){var n,r,s,o,h,d,v;for(vr(e,"Comment post-processing",1),o=new S(t.b);o.at.d[h.p]&&(n+=fmt(t.b,o),Up(t.a,pe(o)));for(;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function bue(t,e,n){var r,s,o,h;for(o=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i,s=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));s.e!=s.i.gc();)r=u(dr(s),33),(!r.a&&(r.a=new fe(rs,r,10,11)),r.a).i==0||(o+=bue(t,r,!1));if(n)for(h=es(e);h;)o+=(!h.a&&(h.a=new fe(rs,h,10,11)),h.a).i,h=es(h);return o}function by(t,e){var n,r,s,o;return t.ej()?(r=null,s=t.fj(),t.ij()&&(r=t.kj(t.pi(e),null)),n=t.Zi(4,o=l6(t,e),null,e,s),t.bj()&&o!=null&&(r=t.dj(o,r)),r?(r.Ei(n),r.Fi()):t.$i(n),o):(o=l6(t,e),t.bj()&&o!=null&&(r=t.dj(o,null),r&&r.Fi()),o)}function Tvn(t){var e,n,r,s,o,h,d,v,k,C;for(k=t.a,e=new Hs,v=0,r=new S(t.d);r.ad.d&&(C=d.d+d.a+k));n.c.d=C,e.a.zc(n,e),v=b.Math.max(v,n.c.d+n.c.a)}return v}function oo(){oo=Z,KV=new Fm("COMMENTS",0),vh=new Fm("EXTERNAL_PORTS",1),yS=new Fm("HYPEREDGES",2),XV=new Fm("HYPERNODES",3),y7=new Fm("NON_FREE_PORTS",4),W4=new Fm("NORTH_SOUTH_PORTS",5),xS=new Fm(M1e,6),v7=new Fm("CENTER_LABELS",7),m7=new Fm("END_LABELS",8),QV=new Fm("PARTITIONS",9)}function wy(t){var e,n,r,s,o;for(s=new he,e=new E9((!t.a&&(t.a=new fe(rs,t,10,11)),t.a)),r=new ar(lr(K0(t).a.Kc(),new z));zr(r);)n=u(Mr(r),79),_t(At((!n.b&&(n.b=new Cn(br,n,4,7)),n.b),0),186)||(o=Do(u(At((!n.c&&(n.c=new Cn(br,n,5,8)),n.c),0),82)),e.a._b(o)||(s.c[s.c.length]=o));return s}function Cvn(t){var e,n,r,s,o,h;for(o=new Hs,e=new E9((!t.a&&(t.a=new fe(rs,t,10,11)),t.a)),s=new ar(lr(K0(t).a.Kc(),new z));zr(s);)r=u(Mr(s),79),_t(At((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),0),186)||(h=Do(u(At((!r.c&&(r.c=new Cn(br,r,5,8)),r.c),0),82)),e.a._b(h)||(n=o.a.zc(h,o),n==null));return o}function _vn(t,e,n,r,s){return r<0?(r=w4(t,s,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot]),e),r<0&&(r=w4(t,s,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function Svn(t,e,n,r,s){return r<0?(r=w4(t,s,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot]),e),r<0&&(r=w4(t,s,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function Avn(t,e,n,r,s,o){var h,d,v,k;if(d=32,r<0){if(e[0]>=t.length||(d=wa(t,e[0]),d!=43&&d!=45)||(++e[0],r=gq(t,e),r<0))return!1;d==45&&(r=-r)}return d==32&&e[0]-n==2&&s.b==2&&(v=new BR,k=v.q.getFullYear()-ab+ab-80,h=k%100,o.a=r==h,r+=(k/100|0)*100+(r=k&&(v=r);v&&(C=b.Math.max(C,v.a.o.a)),C>j&&(M=k,j=C)}return M}function Dvn(t,e,n){var r,s,o;if(t.e=n,t.d=0,t.b=0,t.f=1,t.i=e,(t.e&16)==16&&(t.i=wmn(t.i)),t.j=t.i.length,fi(t),o=cv(t),t.d!=t.j)throw it(new Nr(qr((Pr(),Zde))));if(t.g){for(r=0;rJ1e?Zs(v,t.b):r<=J1e&&r>tde?Zs(v,t.d):r<=tde&&r>ede?Zs(v,t.c):r<=ede&&Zs(v,t.a),o=yue(t,v,o);return s}function rb(){rb=Z;var t;for(eV=new Ng(1,1),Rut=new Ng(1,10),s7=new Ng(0,0),But=new Ng(-1,1),CEt=lt(ct(j4,1),ee,91,0,[s7,eV,new Ng(1,2),new Ng(1,3),new Ng(1,4),new Ng(1,5),new Ng(1,6),new Ng(1,7),new Ng(1,8),new Ng(1,9),Rut]),nV=Nt(j4,ee,91,32,0,1),t=0;t1,d&&(r=new $e(s,n.b),ri(e.a,r)),V9(e.a,lt(ct(Ws,1),ee,8,0,[j,M]))}function Cue(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,AH),"ELK Randomizer"),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'),new ZZ))),xe(t,AH,xv,FAt),xe(t,AH,Cy,15),xe(t,AH,tH,pe(0)),xe(t,AH,E6,GE)}function q5t(){q5t=Z;var t,e,n,r,s,o;for(dA=Nt(Gu,N4,25,255,15,1),yU=Nt(xh,yd,25,16,15,1),e=0;e<255;e++)dA[e]=-1;for(n=57;n>=48;n--)dA[n]=n-48<<24>>24;for(r=70;r>=65;r--)dA[r]=r-65+10<<24>>24;for(s=102;s>=97;s--)dA[s]=s-97+10<<24>>24;for(o=0;o<10;o++)yU[o]=48+o&ys;for(t=10;t<=15;t++)yU[t]=65+t-10&ys}function Tq(t,e,n){var r,s,o,h,d,v,k,C;return d=e.i-t.g/2,v=n.i-t.g/2,k=e.j-t.g/2,C=n.j-t.g/2,o=e.g+t.g/2,h=n.g+t.g/2,r=e.f+t.g/2,s=n.f+t.g/2,d>19)return"-"+_ue(rE(t));for(n=t,r="";!(n.l==0&&n.m==0&&n.h==0);){if(s=Vrt(Gq),n=yxt(n,s,!0),e=""+RHt(hb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-e.length;o>0;o--)e="0"+e;r=e+r}return r}function Bvn(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);if(e[t]!==void 0)return!1;var n=Object.getOwnPropertyNames(e);return!(n.length!=0||(e[t]=42,e[t]!==42)||Object.getOwnPropertyNames(e).length==0)}function Rvn(t){var e,n,r,s,o,h,d;for(e=!1,n=0,s=new S(t.d.b);s.a=t.a||!L4t(e,n))return-1;if(F8(u(r.Kb(e),20)))return 1;for(s=0,h=u(r.Kb(e),20).Kc();h.Ob();)if(o=u(h.Pb(),17),v=o.c.i==e?o.d.i:o.c.i,d=V5t(t,v,n,r),d==-1||(s=b.Math.max(s,d),s>t.c-1))return-1;return s+1}function Sue(t,e){var n,r,s,o,h,d;if(Vt(e)===Vt(t))return!0;if(!_t(e,15)||(r=u(e,15),d=t.gc(),r.gc()!=d))return!1;if(h=r.Kc(),t.ni()){for(n=0;n0){if(t.qj(),e!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return t-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return t-65+10<<24>>24;default:throw it(new ld("Invalid hexadecimal"))}}function qvn(t,e,n){var r,s,o,h;for(vr(n,"Processor order nodes",2),t.a=Xt(ye(Q(e,(gv(),g_t)))),s=new Zi,h=ei(e.b,0);h.b!=h.d.c;)o=u(ti(h),86),je(Re(Q(o,(fc(),Xy))))&&fs(s,o,s.c.b,s.c);r=(Zn(s.b!=0),u(s.a.a.c,86)),Wle(t,r),!n.b&&pit(n,1),K5t(t,r,0-Xt(ye(Q(r,(fc(),IG))))/2,0),!n.b&&pit(n,1),or(n)}function Cq(){Cq=Z,i7t=new z3("SPIRAL",0),t7t=new z3("LINE_BY_LINE",1),e7t=new z3("MANHATTAN",2),JEt=new z3("JITTER",3),Vut=new z3("QUADRANTS_LINE_BY_LINE",4),r7t=new z3("QUADRANTS_MANHATTAN",5),n7t=new z3("QUADRANTS_JITTER",6),ZEt=new z3("COMBINE_LINE_BY_LINE_MANHATTAN",7),QEt=new z3("COMBINE_JITTER_MANHATTAN",8)}function Lue(t,e,n,r){var s,o,h,d,v,k;for(v=Ost(t,n),k=Ost(e,n),s=!1;v&&k&&(r||R1n(v,k,n));)h=Ost(v,n),d=Ost(k,n),kD(e),kD(t),o=v.c,Bat(v,!1),Bat(k,!1),n?(ly(e,k.p,o),e.p=k.p,ly(t,v.p+1,o),t.p=v.p):(ly(t,v.p,o),t.p=v.p,ly(e,k.p+1,o),e.p=k.p),Eo(v,null),Eo(k,null),v=h,k=d,s=!0;return s}function Hvn(t,e,n,r){var s,o,h,d,v;for(s=!1,o=!1,d=new S(r.j);d.a=e.length)throw it(new yo("Greedy SwitchDecider: Free layer not in graph."));this.c=e[t],this.e=new YM(r),mit(this.e,this.c,(ve(),Bn)),this.i=new YM(r),mit(this.i,this.c,Hn),this.f=new SKt(this.c),this.a=!o&&s.i&&!s.s&&this.c[0].k==(Vn(),ks),this.a&&apn(this,t,e.length)}function Due(t,e){var n,r,s,o,h,d;o=!t.B.Hc((ll(),cP)),h=t.B.Hc(Aft),t.a=new _ie(h,o,t.c),t.n&&Pvt(t.a.n,t.n),het(t.g,(Kf(),eu),t.a),e||(r=new a_(1,o,t.c),r.n.a=t.k,zx(t.p,(ve(),Pn),r),s=new a_(1,o,t.c),s.n.d=t.k,zx(t.p,mr,s),d=new a_(0,o,t.c),d.n.c=t.k,zx(t.p,Bn,d),n=new a_(0,o,t.c),n.n.b=t.k,zx(t.p,Hn,n))}function Gvn(t){var e,n,r;switch(e=u(Q(t.d,(Te(),eg)),218),e.g){case 2:n=xxn(t);break;case 3:n=(r=new he,ls(Ri(wu(Wo(Wo(new Tn(null,new _n(t.d.b,16)),new NX),new BX),new HT),new _X),new Utt(r)),r);break;default:throw it(new No("Compaction not supported for "+e+" edges."))}H3n(t,n),va(new Sm(t.g),new Vtt(t))}function Uvn(t,e){var n;return n=new ka,e&&Mo(n,u(tr(t.a,lP),94)),_t(e,470)&&Mo(n,u(tr(t.a,hP),94)),_t(e,354)?(Mo(n,u(tr(t.a,qo),94)),n):(_t(e,82)&&Mo(n,u(tr(t.a,br),94)),_t(e,239)?(Mo(n,u(tr(t.a,rs),94)),n):_t(e,186)?(Mo(n,u(tr(t.a,gl),94)),n):(_t(e,352)&&Mo(n,u(tr(t.a,Ys),94)),n))}function Jf(){Jf=Z,c7=new eo((ui(),ZG),pe(1)),bV=new eo(W2,80),kbe=new eo(fAt,5),dbe=new eo(W6,GE),ybe=new eo(Eft,pe(1)),xbe=new eo(Tft,(Nn(),!0)),x7t=new Ow(50),vbe=new eo(U2,x7t),v7t=KG,k7t=KS,gbe=new eo(gft,!1),y7t=tP,wbe=xb,bbe=G2,pbe=o5,mbe=Qy,m7t=(q4t(),abe),nlt=lbe,pV=sbe,elt=obe,E7t=ube}function Wvn(t){var e,n,r,s,o,h,d,v;for(v=new OJt,d=new S(t.a);d.a0&&e=0)return!1;if(e.p=n.b,le(n.e,e),s==(Vn(),ta)||s==Hc){for(h=new S(e.j);h.a1||h==-1)&&(o|=16),s.Bb&dc&&(o|=64)),n.Bb&Ka&&(o|=Dy),o|=xf):_t(e,457)?o|=512:(r=e.Bj(),r&&r.i&1&&(o|=256)),t.Bb&512&&(o|=128),o}function y_(t,e){var n,r,s,o,h;for(t=t==null?_u:(On(t),t),s=0;st.d[d.p]&&(n+=fmt(t.b,o),Up(t.a,pe(o)))):++h;for(n+=t.b.d*h;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function nmn(t,e){var n;return t.f==$ft?(n=Hw(To(($u(),ya),e)),t.e?n==4&&e!=(d6(),tk)&&e!=(d6(),J6)&&e!=(d6(),zft)&&e!=(d6(),qft):n==2):t.d&&(t.d.Hc(e)||t.d.Hc(Kx(To(($u(),ya),e)))||t.d.Hc(C4(($u(),ya),t.b,e)))?!0:t.f&&O5t(($u(),t.f),rD(To(ya,e)))?(n=Hw(To(ya,e)),t.e?n==4:n==2):!1}function rmn(t,e,n,r){var s,o,h,d,v,k,C,M;return h=u(qe(n,(ui(),Y6)),8),v=h.a,C=h.b+t,s=b.Math.atan2(C,v),s<0&&(s+=O4),s+=e,s>O4&&(s-=O4),d=u(qe(r,Y6),8),k=d.a,M=d.b+t,o=b.Math.atan2(M,k),o<0&&(o+=O4),o+=e,o>O4&&(o-=O4),k1(),wf(1e-10),b.Math.abs(s-o)<=1e-10||s==o||isNaN(s)&&isNaN(o)?0:so?1:Iw(isNaN(s),isNaN(o))}function gat(t){var e,n,r,s,o,h,d;for(d=new _r,r=new S(t.a.b);r.a=t.o)throw it(new Opt);d=e>>5,h=e&31,o=F0(1,Ar(F0(h,1))),s?t.n[n][d]=S1(t.n[n][d],o):t.n[n][d]=Ns(t.n[n][d],Rwt(o)),o=F0(o,1),r?t.n[n][d]=S1(t.n[n][d],o):t.n[n][d]=Ns(t.n[n][d],Rwt(o))}catch(v){throw v=Wi(v),_t(v,320)?it(new yo(Fot+t.o+"*"+t.p+Not+e+Ya+n+Bot)):it(v)}}function K5t(t,e,n,r){var s,o,h;e&&(o=Xt(ye(Q(e,(fc(),np))))+r,h=n+Xt(ye(Q(e,IG)))/2,Jt(e,$ht,pe(Ar(Tu(b.Math.round(o))))),Jt(e,o_t,pe(Ar(Tu(b.Math.round(h))))),e.d.b==0||K5t(t,u(xj((s=ei(new Lp(e).a.d,0),new Ex(s))),86),n+Xt(ye(Q(e,IG)))+t.a,r+Xt(ye(Q(e,M7)))),Q(e,jht)!=null&&K5t(t,u(Q(e,jht),86),n,r))}function smn(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(v=Na(e.a),s=Xt(ye(Q(v,(Te(),q2))))*2,C=Xt(ye(Q(v,t5))),k=b.Math.max(s,C),o=Nt(aa,vo,25,e.f-e.c+1,15,1),r=-k,n=0,d=e.b.Kc();d.Ob();)h=u(d.Pb(),10),r+=t.a[h.c.p]+k,o[n++]=r;for(r+=t.a[e.a.c.p]+k,o[n++]=r,j=new S(e.e);j.a0&&(r=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!r||Gr(Gr((e.a+=' "',e),r),'"'))),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function zue(t){var e,n,r;return t.Db&64?Vst(t):(e=new Ol(y8t),n=t.k,n?Gr(Gr((e.a+=' "',e),n),'"'):(!t.n&&(t.n=new fe(qo,t,1,7)),t.n.i>0&&(r=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!r||Gr(Gr((e.a+=' "',e),r),'"'))),Gr(Aw(Gr(Aw(Gr(Aw(Gr(Aw((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function bat(t,e){var n,r,s,o,h,d,v;if(e==null||e.length==0)return null;if(s=u(Nc(t.a,e),149),!s){for(r=(d=new v1(t.b).a.vc().Kc(),new m1(d));r.a.Ob();)if(n=(o=u(r.a.Pb(),42),u(o.dd(),149)),h=n.c,v=e.length,hn(h.substr(h.length-v,v),e)&&(e.length==h.length||wa(h,h.length-e.length-1)==46)){if(s)return null;s=n}s&&ko(t.a,e,s)}return s}function cmn(t,e){var n,r,s,o;return n=new eh,r=u(Bl(wu(new Tn(null,new _n(t.f,16)),n),Zm(new on,new ni,new di,new Ee,lt(ct(fl,1),oe,132,0,[(O1(),Iy),Ul]))),21),s=r.gc(),r=u(Bl(wu(new Tn(null,new _n(e.f,16)),n),Zm(new on,new ni,new di,new Ee,lt(ct(fl,1),oe,132,0,[Iy,Ul]))),21),o=r.gc(),ss.p?(Bs(o,mr),o.d&&(d=o.o.b,e=o.a.b,o.a.b=d-e)):o.j==mr&&s.p>t.p&&(Bs(o,Pn),o.d&&(d=o.o.b,e=o.a.b,o.a.b=-(d-e)));break}return s}function lmn(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G;if(o=n,n1,d&&(r=new $e(s,n.b),ri(e.a,r)),V9(e.a,lt(ct(Ws,1),ee,8,0,[j,M]))}function wat(t,e,n){var r,s,o,h,d,v;if(e)if(n<=-1){if(r=yn(e.Tg(),-1-n),_t(r,99))return u(r,18);for(h=u(e.ah(r),153),d=0,v=h.gc();d0){for(s=v.length;s>0&&v[s-1]=="";)--s;s=40,h&&xyn(t),C3n(t),ivn(t),n=fie(t),r=0;n&&r0&&ri(t.f,o)):(t.c[h]-=k+1,t.c[h]<=0&&t.a[h]>0&&ri(t.e,o))))}function Nmn(t){var e,n,r,s,o,h,d,v,k;for(d=new Op(u(Lr(new jd),62)),k=Cs,n=new S(t.d);n.a=0&&vn?e:n;k<=M;++k)k==n?d=r++:(o=s[k],C=G.rl(o.ak()),k==e&&(v=k==M&&!C?r-1:r),C&&++r);return j=u(r_(t,e,n),72),d!=v&&n8(t,new mD(t.e,7,h,pe(d),H.dd(),v)),j}}else return u(Jst(t,e,n),72);return u(r_(t,e,n),72)}function $mn(t,e){var n,r,s,o,h,d,v;for(vr(e,"Port order processing",1),v=u(Q(t,(Te(),v9t)),421),r=new S(t.b);r.a=0&&(d=H1n(t,h),!(d&&(k<22?v.l|=1<>>1,h.m=C>>>1|(M&1)<<21,h.l=j>>>1|(C&1)<<21,--k;return n&&Ait(v),o&&(r?(hb=rE(t),s&&(hb=tre(hb,(q8(),aEt)))):hb=iu(t.l,t.m,t.h)),v}function Hmn(t,e){var n,r,s,o,h,d,v,k,C,M;for(k=t.e[e.c.p][e.p]+1,v=e.c.a.c.length+1,d=new S(t.a);d.a0&&(Rr(0,t.length),t.charCodeAt(0)==45||(Rr(0,t.length),t.charCodeAt(0)==43))?1:0,r=h;rn)throw it(new ld(yv+t+'"'));return d}function Vmn(t){var e,n,r,s,o,h,d;for(h=new Zi,o=new S(t.a);o.a1)&&e==1&&u(t.a[t.b],10).k==(Vn(),Ll)?p6(u(t.a[t.b],10),(zl(),f0)):r&&(!n||(t.c-t.b&t.a.length-1)>1)&&e==1&&u(t.a[t.c-1&t.a.length-1],10).k==(Vn(),Ll)?p6(u(t.a[t.c-1&t.a.length-1],10),(zl(),kb)):(t.c-t.b&t.a.length-1)==2?(p6(u(Q9(t),10),(zl(),f0)),p6(u(Q9(t),10),kb)):R2n(t,s),lmt(t)}function Wmn(t,e,n){var r,s,o,h,d;for(o=0,s=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));s.e!=s.i.gc();)r=u(dr(s),33),h="",(!r.n&&(r.n=new fe(qo,r,1,7)),r.n).i==0||(h=u(At((!r.n&&(r.n=new fe(qo,r,1,7)),r.n),0),137).a),d=new Dit(o++,e,h),Mo(d,r),Jt(d,(fc(),qS),r),d.e.b=r.j+r.f/2,d.f.a=b.Math.max(r.g,1),d.e.a=r.i+r.g/2,d.f.b=b.Math.max(r.f,1),ri(e.b,d),au(n.f,r,d)}function Ymn(t){var e,n,r,s,o;r=u(Q(t,(ae(),_i)),33),o=u(qe(r,(Te(),$2)),174).Hc((Al(),K2)),t.e||(s=u(Q(t,Vc),21),e=new $e(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),s.Hc((oo(),vh))?(wo(r,cs,(ua(),Gc)),wv(r,e.a,e.b,!1,!0)):je(Re(qe(r,uht)))||wv(r,e.a,e.b,!0,!0)),o?wo(r,$2,un(K2)):wo(r,$2,(n=u(Vf(rA),9),new sh(n,u(ff(n,n.length),9),0)))}function rxt(t,e,n){var r,s,o,h;if(e[0]>=t.length)return n.o=0,!0;switch(wa(t,e[0])){case 43:s=1;break;case 45:s=-1;break;default:return n.o=0,!0}if(++e[0],o=e[0],h=gq(t,e),h==0&&e[0]==o)return!1;if(e[0]=0&&d!=n&&(o=new Js(t,1,d,h,null),r?r.Ei(o):r=o),n>=0&&(o=new Js(t,1,n,d==n?h:null,e),r?r.Ei(o):r=o)),r}function sle(t){var e,n,r;if(t.b==null){if(r=new Ag,t.i!=null&&(go(r,t.i),r.a+=":"),t.f&256){for(t.f&256&&t.a!=null&&(lrn(t.i)||(r.a+="//"),go(r,t.a)),t.d!=null&&(r.a+="/",go(r,t.d)),t.f&16&&(r.a+="/"),e=0,n=t.j.length;ej?!1:(M=(v=__(r,j,!1),v.a),C+d+M<=e.b&&(vD(n,o-n.s),n.c=!0,vD(r,o-n.s),tI(r,n.s,n.t+n.d+d),r.k=!0,pyt(n.q,r),H=!0,s&&(az(e,r),r.j=e,t.c.length>h&&(sI((An(h,t.c.length),u(t.c[h],200)),r),(An(h,t.c.length),u(t.c[h],200)).a.c.length==0&&Fg(t,h)))),H)}function nyn(t,e){var n,r,s,o,h,d;if(vr(e,"Partition midprocessing",1),s=new Uw,ls(Ri(new Tn(null,new _n(t.a,16)),new KK),new mw(s)),s.d!=0){for(d=u(Bl(ZQt((o=s.i,new Tn(null,(o||(s.i=new K3(s,s.c))).Nc()))),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),r=d.Kc(),n=u(r.Pb(),19);r.Ob();)h=u(r.Pb(),19),swn(u(Ai(s,n),21),u(Ai(s,h),21)),n=h;or(e)}}function cle(t,e,n){var r,s,o,h,d,v,k,C;if(e.p==0){for(e.p=1,h=n,h||(s=new he,o=(r=u(Vf(Xa),9),new sh(r,u(ff(r,r.length),9),0)),h=new fa(s,o)),u(h.a,15).Fc(e),e.k==(Vn(),ks)&&u(h.b,21).Fc(u(Q(e,(ae(),oc)),61)),v=new S(e.j);v.a0){if(s=u(t.Ab.g,1934),e==null){for(o=0;o1)for(r=new S(s);r.an.s&&dd&&(d=s,C.c=Nt(Qn,De,1,0,5,1)),s==d&&le(C,new fa(n.c.i,n)));wn(),Zs(C,t.c),Hm(t.b,v.p,C)}}function cyn(t,e){var n,r,s,o,h,d,v,k,C;for(h=new S(e.b);h.ad&&(d=s,C.c=Nt(Qn,De,1,0,5,1)),s==d&&le(C,new fa(n.d.i,n)));wn(),Zs(C,t.c),Hm(t.f,v.p,C)}}function lle(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,Tv),"ELK Box"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges."),new qZ))),xe(t,Tv,xv,PSt),xe(t,Tv,Cy,15),xe(t,Tv,VI,pe(0)),xe(t,Tv,CH,Ie(DSt)),xe(t,Tv,D4,Ie(e4e)),xe(t,Tv,T6,Ie(n4e)),xe(t,Tv,E6,cde),xe(t,Tv,GI,Ie(ISt)),xe(t,Tv,C6,Ie(OSt)),xe(t,Tv,g8t,Ie(lft)),xe(t,Tv,mH,Ie(t4e))}function hle(t,e){var n,r,s,o,h,d,v,k,C;if(s=t.i,h=s.o.a,o=s.o.b,h<=0&&o<=0)return ve(),Zo;switch(k=t.n.a,C=t.n.b,d=t.o.a,n=t.o.b,e.g){case 2:case 1:if(k<0)return ve(),Bn;if(k+d>h)return ve(),Hn;break;case 4:case 3:if(C<0)return ve(),Pn;if(C+n>o)return ve(),mr}return v=(k+d/2)/h,r=(C+n/2)/o,v+r<=1&&v-r<=0?(ve(),Bn):v+r>=1&&v-r>=0?(ve(),Hn):r<.5?(ve(),Pn):(ve(),mr)}function uyn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(n=!1,C=Xt(ye(Q(e,(Te(),$v)))),G=sb*C,s=new S(e.b);s.av+G&&(K=M.g+j.g,j.a=(j.g*j.a+M.g*M.a)/K,j.g=K,M.f=j,n=!0)),o=d,M=j;return n}function fle(t,e,n,r,s,o,h){var d,v,k,C,M,j;for(j=new Fx,k=e.Kc();k.Ob();)for(d=u(k.Pb(),839),M=new S(d.wf());M.a0?d.a?(k=d.b.rf().b,s>k&&(t.v||d.c.d.c.length==1?(h=(s-k)/2,d.d.d=h,d.d.a=h):(n=u(Ne(d.c.d,0),181).rf().b,r=(n-k)/2,d.d.d=b.Math.max(0,r),d.d.a=s-r-k))):d.d.a=t.t+s:S9(t.u)&&(o=I4t(d.b),o.d<0&&(d.d.d=-o.d),o.d+o.a>d.b.rf().b&&(d.d.a=o.d+o.a-d.b.rf().b))}function fyn(t,e){var n;switch(_D(t)){case 6:return ra(e);case 7:return Bm(e);case 8:return Nm(e);case 3:return Array.isArray(e)&&(n=_D(e),!(n>=14&&n<=16));case 11:return e!=null&&typeof e===Gat;case 12:return e!=null&&(typeof e===MI||typeof e==Gat);case 0:return gst(e,t.__elementTypeId$);case 2:return Znt(e)&&e.im!==Et;case 1:return Znt(e)&&e.im!==Et||gst(e,t.__elementTypeId$);default:return!0}}function dle(t,e){var n,r,s,o;return r=b.Math.min(b.Math.abs(t.c-(e.c+e.b)),b.Math.abs(t.c+t.b-e.c)),o=b.Math.min(b.Math.abs(t.d-(e.d+e.a)),b.Math.abs(t.d+t.a-e.d)),n=b.Math.abs(t.c+t.b/2-(e.c+e.b/2)),n>t.b/2+e.b/2||(s=b.Math.abs(t.d+t.a/2-(e.d+e.a/2)),s>t.a/2+e.a/2)?1:n==0&&s==0?0:n==0?o/s+1:s==0?r/n+1:b.Math.min(r/n,o/s)+1}function gle(t,e){var n,r,s,o,h,d;return s=Jmt(t),d=Jmt(e),s==d?t.e==e.e&&t.a<54&&e.a<54?t.fe.f?1:0:(r=t.e-e.e,n=(t.d>0?t.d:b.Math.floor((t.a-1)*Cfe)+1)-(e.d>0?e.d:b.Math.floor((e.a-1)*Cfe)+1),n>r+1?s:n0&&(h=e4(h,Nle(r))),Uie(o,h))):s0&&t.d!=(q9(),slt)&&(d+=h*(r.d.a+t.a[e.b][r.b]*(e.d.a-r.d.a)/n)),n>0&&t.d!=(q9(),rlt)&&(v+=h*(r.d.b+t.a[e.b][r.b]*(e.d.b-r.d.b)/n)));switch(t.d.g){case 1:return new $e(d/o,e.d.b);case 2:return new $e(e.d.a,v/o);default:return new $e(d/o,v/o)}}function ple(t,e){oE();var n,r,s,o,h;if(h=u(Q(t.i,(Te(),cs)),98),o=t.j.g-e.j.g,o!=0||!(h==(ua(),Y2)||h==g0||h==Gc))return 0;if(h==(ua(),Y2)&&(n=u(Q(t,tp),19),r=u(Q(e,tp),19),n&&r&&(s=n.a-r.a,s!=0)))return s;switch(t.j.g){case 1:return Ms(t.n.a,e.n.a);case 2:return Ms(t.n.b,e.n.b);case 3:return Ms(e.n.a,t.n.a);case 4:return Ms(e.n.b,t.n.b);default:throw it(new No(E6t))}}function ble(t){var e,n,r,s,o,h;for(n=(!t.a&&(t.a=new As(Gh,t,5)),t.a).i+2,h=new Xc(n),le(h,new $e(t.j,t.k)),ls(new Tn(null,(!t.a&&(t.a=new As(Gh,t,5)),new _n(t.a,16))),new lzt(h)),le(h,new $e(t.b,t.c)),e=1;e0&&($D(v,!1,(ao(),zh)),$D(v,!0,Cf)),xu(e.g,new oGt(t,n)),ki(t.g,e,n)}function vle(){vle=Z;var t;for(gEt=lt(ct(Cr,1),Xr,25,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),Fut=Nt(Cr,Xr,25,37,15,1),$ge=lt(ct(Cr,1),Xr,25,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),pEt=Nt(Ob,wot,25,37,14,1),t=2;t<=36;t++)Fut[t]=ps(b.Math.pow(t,gEt[t])),pEt[t]=aI(qq,Fut[t])}function gyn(t){var e;if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i!=1)throw it(new Fn(Sde+(!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i));return e=new Pu,RD(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82))&&Ua(e,tfe(t,RD(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82)),!1)),RD(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82))&&Ua(e,tfe(t,RD(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82)),!0)),e}function mle(t,e){var n,r,s,o,h;for(e.d?s=t.a.c==(bd(),zv)?jo(e.b):Ds(e.b):s=t.a.c==(bd(),ep)?jo(e.b):Ds(e.b),o=!1,r=new ar(lr(s.a.Kc(),new z));zr(r);)if(n=u(Mr(r),17),h=je(t.a.f[t.a.g[e.b.p].p]),!(!h&&!Ga(n)&&n.c.i.c==n.d.i.c)&&!(je(t.a.n[t.a.g[e.b.p].p])||je(t.a.n[t.a.g[e.b.p].p]))&&(o=!0,I0(t.b,t.a.g[T1n(n,e.b).p])))return e.c=!0,e.a=n,e;return e.c=o,e.a=null,e}function pyn(t,e,n,r,s){var o,h,d,v,k,C,M;for(wn(),Zs(t,new XZ),d=new da(t,0),M=new he,o=0;d.bo*2?(C=new rz(M),k=Ru(h)/El(h),v=zat(C,e,new Cx,n,r,s,k),Li(Gf(C.e),v),M.c=Nt(Qn,De,1,0,5,1),o=0,M.c[M.c.length]=C,M.c[M.c.length]=h,o=Ru(C)*El(C)+Ru(h)*El(h)):(M.c[M.c.length]=h,o+=Ru(h)*El(h));return M}function sxt(t,e,n){var r,s,o,h,d,v,k;if(r=n.gc(),r==0)return!1;if(t.ej())if(v=t.fj(),y3t(t,e,n),h=r==1?t.Zi(3,null,n.Kc().Pb(),e,v):t.Zi(5,null,n,e,v),t.bj()){for(d=r<100?null:new Dp(r),o=e+r,s=e;s0){for(h=0;h>16==-15&&t.Cb.nh()&&rit(new Jrt(t.Cb,9,13,n,t.c,Hg(al(u(t.Cb,59)),t))):_t(t.Cb,88)&&t.Db>>16==-23&&t.Cb.nh()&&(e=t.c,_t(e,88)||(e=(dn(),Kh)),_t(n,88)||(n=(dn(),Kh)),rit(new Jrt(t.Cb,9,10,n,e,Hg(Lc(u(t.Cb,26)),t)))))),t.c}function byn(t,e){var n,r,s,o,h,d,v,k,C,M;for(vr(e,"Hypernodes processing",1),s=new S(t.b);s.an);return s}function xle(t,e){var n,r,s;r=ul(t.d,1)!=0,!je(Re(Q(e.j,(ae(),Ov))))&&!je(Re(Q(e.j,X4)))||Vt(Q(e.j,(Te(),wb)))===Vt((V0(),vb))?e.c.Tf(e.e,r):r=je(Re(Q(e.j,Ov))),yI(t,e,r,!0),je(Re(Q(e.j,X4)))&&Jt(e.j,X4,(Nn(),!1)),je(Re(Q(e.j,Ov)))&&(Jt(e.j,Ov,(Nn(),!1)),Jt(e.j,X4,!0)),n=Kst(t,e);do{if(hyt(t),n==0)return 0;r=!r,s=n,yI(t,e,r,!1),n=Kst(t,e)}while(s>n);return s}function kle(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G;if(e==n)return!0;if(e=p5t(t,e),n=p5t(t,n),r=xst(e),r){if(C=xst(n),C!=r)return C?(v=r.Dj(),G=C.Dj(),v==G&&v!=null):!1;if(h=(!e.d&&(e.d=new As(ho,e,1)),e.d),o=h.i,j=(!n.d&&(n.d=new As(ho,n,1)),n.d),o==j.i){for(k=0;k0,d=Bz(e,o),N2t(n?d.b:d.g,e),u4(d).c.length==1&&fs(r,d,r.c.b,r.c),s=new fa(o,e),Up(t.o,s),mu(t.e.a,o))}function _le(t,e){var n,r,s,o,h,d,v;return r=b.Math.abs(e$(t.b).a-e$(e.b).a),d=b.Math.abs(e$(t.b).b-e$(e.b).b),s=0,v=0,n=1,h=1,r>t.b.b/2+e.b.b/2&&(s=b.Math.min(b.Math.abs(t.b.c-(e.b.c+e.b.b)),b.Math.abs(t.b.c+t.b.b-e.b.c)),n=1-s/r),d>t.b.a/2+e.b.a/2&&(v=b.Math.min(b.Math.abs(t.b.d-(e.b.d+e.b.a)),b.Math.abs(t.b.d+t.b.a-e.b.d)),h=1-v/d),o=b.Math.min(n,h),(1-o)*b.Math.sqrt(r*r+d*d)}function kyn(t){var e,n,r,s;for($at(t,t.e,t.f,(Gw(),yb),!0,t.c,t.i),$at(t,t.e,t.f,yb,!1,t.c,t.i),$at(t,t.e,t.f,r5,!0,t.c,t.i),$at(t,t.e,t.f,r5,!1,t.c,t.i),Tyn(t,t.c,t.e,t.f,t.i),r=new da(t.i,0);r.b=65;n--)Y1[n]=n-65<<24>>24;for(r=122;r>=97;r--)Y1[r]=r-97+26<<24>>24;for(s=57;s>=48;s--)Y1[s]=s-48+52<<24>>24;for(Y1[43]=62,Y1[47]=63,o=0;o<=25;o++)lp[o]=65+o&ys;for(h=26,v=0;h<=51;++h,v++)lp[h]=97+v&ys;for(t=52,d=0;t<=61;++t,d++)lp[t]=48+d&ys;lp[62]=43,lp[63]=47}function Eyn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H;if(t.dc())return new Ca;for(k=0,M=0,s=t.Kc();s.Ob();)r=u(s.Pb(),37),o=r.f,k=b.Math.max(k,o.a),M+=o.a*o.b;for(k=b.Math.max(k,b.Math.sqrt(M)*Xt(ye(Q(u(t.Kc().Pb(),37),(Te(),rG))))),j=0,H=0,v=0,n=e,d=t.Kc();d.Ob();)h=u(d.Pb(),37),C=h.f,j+C.a>k&&(j=0,H+=v+e,v=0),x_(h,j,H),n=b.Math.max(n,j+C.a),v=b.Math.max(v,C.b),j+=C.a+e;return new $e(n+e,H+v+e)}function Tyn(t,e,n,r,s){var o,h,d,v,k,C,M;for(h=new S(e);h.ao)return ve(),Hn;break;case 4:case 3:if(v<0)return ve(),Pn;if(v+t.f>s)return ve(),mr}return h=(d+t.g/2)/o,n=(v+t.f/2)/s,h+n<=1&&h-n<=0?(ve(),Bn):h+n>=1&&h-n>=0?(ve(),Hn):n<.5?(ve(),Pn):(ve(),mr)}function Cyn(t,e,n,r,s){var o,h;if(o=Pa(Ns(e[0],co),Ns(r[0],co)),t[0]=Ar(o),o=$p(o,32),n>=s){for(h=1;h0&&(s.b[h++]=0,s.b[h++]=o.b[0]-1),e=1;e0&&(oM(v,v.d-s.d),s.c==(Uf(),mb)&&bpt(v,v.a-s.d),v.d<=0&&v.i>0&&fs(e,v,e.c.b,e.c)));for(o=new S(t.f);o.a0&&(TC(d,d.i-s.d),s.c==(Uf(),mb)&&ww(d,d.b-s.d),d.i<=0&&d.d>0&&fs(n,d,n.c.b,n.c)))}function _yn(t,e,n){var r,s,o,h,d,v,k,C;for(vr(n,"Processor compute fanout",1),Xu(t.b),Xu(t.a),d=null,o=ei(e.b,0);!d&&o.b!=o.d.c;)k=u(ti(o),86),je(Re(Q(k,(fc(),Xy))))&&(d=k);for(v=new Zi,fs(v,d,v.c.b,v.c),Bhe(t,v),C=ei(e.b,0);C.b!=C.d.c;)k=u(ti(C),86),h=Br(Q(k,(fc(),zS))),s=Nc(t.b,h)!=null?u(Nc(t.b,h),19).a:0,Jt(k,MG,pe(s)),r=1+(Nc(t.a,h)!=null?u(Nc(t.a,h),19).a:0),Jt(k,pye,pe(r));or(n)}function Syn(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G;for(j=l0n(t,n),v=0;v0),r.a.Xb(r.c=--r.b),M>j+v&&Cl(r);for(h=new S(H);h.a0),r.a.Xb(r.c=--r.b)}}function Ayn(){gi();var t,e,n,r,s,o;if(Vft)return Vft;for(t=new Nl(4),yy(t,ib(kut,!0)),L_(t,ib("M",!0)),L_(t,ib("C",!0)),o=new Nl(4),r=0;r<11;r++)jc(o,r,r);return e=new Nl(4),yy(e,ib("M",!0)),jc(e,4448,4607),jc(e,65438,65439),s=new d9(2),E2(s,t),E2(s,pA),n=new d9(2),n.$l(Yj(o,ib("L",!0))),n.$l(e),n=new Xm(3,n),n=new mvt(s,n),Vft=n,Vft}function Lyn(t){var e,n;if(e=Br(qe(t,(ui(),YS))),!qne(e,t)&&!o2(t,O7)&&((!t.a&&(t.a=new fe(rs,t,10,11)),t.a).i!=0||je(Re(qe(t,ZO)))))if(e==null||fy(e).length==0){if(!qne(Gn,t))throw n=Gr(Gr(new Ol("Unable to load default layout algorithm "),Gn)," for unconfigured node "),Nq(t,n),it(new R3(n.a))}else throw n=Gr(Gr(new Ol("Layout algorithm '"),e),"' not found for "),Nq(t,n),it(new R3(n.a))}function Eat(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;if(n=t.i,e=t.n,t.b==0)for(H=n.c+e.b,j=n.b-e.b-e.c,h=t.a,v=0,C=h.length;v0&&(M-=r[0]+t.c,r[0]+=t.c),r[2]>0&&(M-=r[2]+t.c),r[1]=b.Math.max(r[1],M),Xj(t.a[1],n.c+e.b+r[0]-(r[1]-M)/2,r[1]);for(o=t.a,d=0,k=o.length;d0?(t.n.c.length-1)*t.i:0,r=new S(t.n);r.a1)for(r=ei(s,0);r.b!=r.d.c;)for(n=u(ti(r),231),o=0,v=new S(n.e);v.a0&&(e[0]+=t.c,M-=e[0]),e[2]>0&&(M-=e[2]+t.c),e[1]=b.Math.max(e[1],M),Qj(t.a[1],r.d+n.d+e[0]-(e[1]-M)/2,e[1]);else for(G=r.d+n.d,H=r.a-n.d-n.a,h=t.a,v=0,C=h.length;v=0&&o!=n))throw it(new Fn(eO));for(s=0,v=0;v0||av(s.b.d,t.b.d+t.b.a)==0&&r.b<0||av(s.b.d+s.b.a,t.b.d)==0&&r.b>0){d=0;break}}else d=b.Math.min(d,Moe(t,s,r));d=b.Math.min(d,Mle(t,o,d,r))}return d}function CI(t,e){var n,r,s,o,h,d,v;if(t.b<2)throw it(new Fn("The vector chain must contain at least a source and a target point."));for(s=(Zn(t.b!=0),u(t.a.a.c,8)),vj(e,s.a,s.b),v=new Nx((!e.a&&(e.a=new As(Gh,e,5)),e.a)),h=ei(t,1);h.aXt(E1(h.g,h.d[0]).a)?(Zn(v.b>0),v.a.Xb(v.c=--v.b),zm(v,h),s=!0):d.e&&d.e.gc()>0&&(o=(!d.e&&(d.e=new he),d.e).Mc(e),k=(!d.e&&(d.e=new he),d.e).Mc(n),(o||k)&&((!d.e&&(d.e=new he),d.e).Fc(h),++h.c));s||(r.c[r.c.length]=h)}function Ole(t){var e,n,r;if(G3(u(Q(t,(Te(),cs)),98)))for(n=new S(t.j);n.a>>0,"0"+e.toString(16)),r="\\x"+Pl(n,n.length-2,n.length)):t>=Ka?(n=(e=t>>>0,"0"+e.toString(16)),r="\\v"+Pl(n,n.length-6,n.length)):r=""+String.fromCharCode(t&ys)}return r}function Cat(t,e){var n,r,s,o,h,d,v,k,C,M;if(h=t.e,v=e.e,v==0)return t;if(h==0)return e.e==0?e:new X3(-e.e,e.d,e.a);if(o=t.d,d=e.d,o+d==2)return n=Ns(t.a[0],co),r=Ns(e.a[0],co),h<0&&(n=z8(n)),v<0&&(r=z8(r)),JD(Jp(n,r));if(s=o!=d?o>d?1:-1:qyt(t.a,e.a,o),s==-1)M=-v,C=h==v?Wrt(e.a,d,t.a,o):Krt(e.a,d,t.a,o);else if(M=h,h==v){if(s==0)return rb(),s7;C=Wrt(t.a,o,e.a,d)}else C=Krt(t.a,o,e.a,d);return k=new X3(M,C.length,C),N9(k),k}function fxt(t){var e,n,r,s,o,h;for(this.e=new he,this.a=new he,n=t.b-1;n<3;n++)m8(t,0,u(Zf(t,0),8));if(t.b<4)throw it(new Fn("At (least dimension + 1) control points are necessary!"));for(this.b=3,this.d=!0,this.c=!1,x2n(this,t.b+this.b-1),h=new he,o=new S(this.e),e=0;e=e.o&&n.f<=e.f||e.a*.5<=n.f&&e.a*1.5>=n.f){if(h=u(Ne(e.n,e.n.c.length-1),211),h.e+h.d+n.g+s<=r&&(o=u(Ne(e.n,e.n.c.length-1),211),o.f-t.f+n.f<=t.b||t.a.c.length==1))return h3t(e,n),!0;if(e.s+n.g<=r&&(e.t+e.d+n.f+s<=t.b||t.a.c.length==1))return le(e.b,n),d=u(Ne(e.n,e.n.c.length-1),211),le(e.n,new E$(e.s,d.f+d.a+e.i,e.i)),W3t(u(Ne(e.n,e.n.c.length-1),211),n),Sle(e,n),!0}return!1}function Fle(t,e,n){var r,s,o,h;return t.ej()?(s=null,o=t.fj(),r=t.Zi(1,h=sit(t,e,n),n,e,o),t.bj()&&!(t.ni()&&h!=null?yi(h,n):Vt(h)===Vt(n))?(h!=null&&(s=t.dj(h,s)),s=t.cj(n,s),t.ij()&&(s=t.lj(h,n,s)),s?(s.Ei(r),s.Fi()):t.$i(r)):(t.ij()&&(s=t.lj(h,n,s)),s?(s.Ei(r),s.Fi()):t.$i(r)),h):(h=sit(t,e,n),t.bj()&&!(t.ni()&&h!=null?yi(h,n):Vt(h)===Vt(n))&&(s=null,h!=null&&(s=t.dj(h,null)),s=t.cj(n,s),s&&s.Fi()),h)}function E_(t,e){var n,r,s,o,h,d,v,k;e%=24,t.q.getHours()!=e&&(r=new b.Date(t.q.getTime()),r.setDate(r.getDate()+1),d=t.q.getTimezoneOffset()-r.getTimezoneOffset(),d>0&&(v=d/60|0,k=d%60,s=t.q.getDate(),n=t.q.getHours(),n+v>=24&&++s,o=new b.Date(t.q.getFullYear(),t.q.getMonth(),s,e+v,t.q.getMinutes()+k,t.q.getSeconds(),t.q.getMilliseconds()),t.q.setTime(o.getTime()))),h=t.q.getTime(),t.q.setTime(h+36e5),t.q.getHours()!=e&&t.q.setTime(h)}function Ryn(t,e){var n,r,s,o,h;if(vr(e,"Path-Like Graph Wrapping",1),t.b.c.length==0){or(e);return}if(s=new m5t(t),h=(s.i==null&&(s.i=fyt(s,new VN)),Xt(s.i)*s.f),n=h/(s.i==null&&(s.i=fyt(s,new VN)),Xt(s.i)),s.b>n){or(e);return}switch(u(Q(t,(Te(),ght)),337).g){case 2:o=new UN;break;case 0:o=new HN;break;default:o=new WN}if(r=o.Vf(t,s),!o.Wf())switch(u(Q(t,wG),338).g){case 2:r=Doe(s,r);break;case 1:r=Mae(s,r)}F3n(t,s,r),or(e)}function jyn(t,e){var n,r,s,o;if(Ein(t.d,t.e),t.c.a.$b(),Xt(ye(Q(e.j,(Te(),aG))))!=0||Xt(ye(Q(e.j,aG)))!=0)for(n=VE,Vt(Q(e.j,wb))!==Vt((V0(),vb))&&Jt(e.j,(ae(),Ov),(Nn(),!0)),o=u(Q(e.j,MS),19).a,s=0;ss&&++k,le(h,(An(d+k,e.c.length),u(e.c[d+k],19))),v+=(An(d+k,e.c.length),u(e.c[d+k],19)).a-r,++n;n1&&(v>Ru(d)*El(d)/2||h.b==0)&&(M=new rz(j),C=Ru(d)/El(d),k=zat(M,e,new Cx,n,r,s,C),Li(Gf(M.e),k),d=M,H.c[H.c.length]=M,v=0,j.c=Nt(Qn,De,1,0,5,1)));return Ls(H,j),H}function qyn(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K;if(n.mh(e)&&(C=(H=e,H?u(r,49).xh(H):null),C))if(K=n.bh(e,t.a),G=e.t,G>1||G==-1)if(M=u(K,69),j=u(C,69),M.dc())j.$b();else for(h=!!no(e),o=0,d=t.a?M.Kc():M.Zh();d.Ob();)k=u(d.Pb(),56),s=u(Xw(t,k),56),s?(h?(v=j.Xc(s),v==-1?j.Xh(o,s):o!=v&&j.ji(o,s)):j.Xh(o,s),++o):t.b&&!h&&(j.Xh(o,k),++o);else K==null?C.Wb(null):(s=Xw(t,K),s==null?t.b&&!no(e)&&C.Wb(K):C.Wb(s))}function Hyn(t,e){var n,r,s,o,h,d,v,k;for(n=new NK,s=new ar(lr(jo(e).a.Kc(),new z));zr(s);)if(r=u(Mr(s),17),!Ga(r)&&(d=r.c.i,L4t(d,yV))){if(k=V5t(t,d,yV,mV),k==-1)continue;n.b=b.Math.max(n.b,k),!n.a&&(n.a=new he),le(n.a,d)}for(h=new ar(lr(Ds(e).a.Kc(),new z));zr(h);)if(o=u(Mr(h),17),!Ga(o)&&(v=o.d.i,L4t(v,mV))){if(k=V5t(t,v,mV,yV),k==-1)continue;n.d=b.Math.max(n.d,k),!n.c&&(n.c=new he),le(n.c,v)}return n}function Nle(t){TE();var e,n,r,s;if(e=ps(t),t1e6)throw it(new _R("power of ten too big"));if(t<=wi)return Qx(bI(D6[1],e),e);for(r=bI(D6[1],wi),s=r,n=Tu(t-wi),e=ps(t%wi);yc(n,wi)>0;)s=e4(s,r),n=Jp(n,wi);for(s=e4(s,bI(D6[1],e)),s=Qx(s,wi),n=Tu(t-wi);yc(n,wi)>0;)s=Qx(s,wi),n=Jp(n,wi);return s=Qx(s,e),s}function Vyn(t,e){var n,r,s,o,h,d,v,k,C;for(vr(e,"Hierarchical port dummy size processing",1),v=new he,C=new he,r=Xt(ye(Q(t,(Te(),J4)))),n=r*2,o=new S(t.b);o.ak&&r>k)C=d,k=Xt(e.p[d.p])+Xt(e.d[d.p])+d.o.b+d.d.a;else{s=!1,n.n&&Jb(n,"bk node placement breaks on "+d+" which should have been after "+C);break}if(!s)break}return n.n&&Jb(n,e+" is feasible: "+s),s}function Kyn(t,e,n,r){var s,o,h,d,v,k,C;for(d=-1,C=new S(t);C.a=tt&&t.e[v.p]>G*t.b||St>=n*tt)&&(j.c[j.c.length]=d,d=new he,Ua(h,o),o.a.$b(),k-=C,H=b.Math.max(H,k*t.b+K),k+=St,Mt=St,St=0,C=0,K=0);return new fa(H,j)}function Jyn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;for(n=(k=new v1(t.c.b).a.vc().Kc(),new m1(k));n.a.Ob();)e=(d=u(n.a.Pb(),42),u(d.dd(),149)),s=e.a,s==null&&(s=""),r=CZe(t.c,s),!r&&s.length==0&&(r=_ln(t)),r&&!ay(r.c,e,!1)&&ri(r.c,e);for(h=ei(t.a,0);h.b!=h.d.c;)o=u(ti(h),478),C=Hrt(t.c,o.a),H=Hrt(t.c,o.b),C&&H&&ri(C.c,new fa(H,o.c));for(Ah(t.a),j=ei(t.b,0);j.b!=j.d.c;)M=u(ti(j),478),e=TZe(t.c,M.a),v=Hrt(t.c,M.b),e&&v&&gXe(e,v,M.c);Ah(t.b)}function t3n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;o=new Qk(t),h=new nae,s=(dD(h.g),dD(h.j),Xu(h.b),dD(h.d),dD(h.i),Xu(h.k),Xu(h.c),Xu(h.e),H=joe(h,o,null),Ace(h,o),H),e&&(k=new Qk(e),d=l3n(k),z4t(s,lt(ct(CSt,1),De,527,0,[d]))),j=!1,M=!1,n&&(k=new Qk(n),IH in k.a&&(j=B0(k,IH).ge().a),Qde in k.a&&(M=B0(k,Qde).ge().a)),C=yHt(Kee(new r8,j),M),Wgn(new CZ,s,C),IH in o.a&&Yf(o,IH,null),(j||M)&&(v=new _x,Ile(C,v,j,M),Yf(o,IH,v)),r=new Szt(h),zun(new l2t(s),r)}function e3n(t,e,n){var r,s,o,h,d,v,k,C,M;for(h=new oae,k=lt(ct(Cr,1),Xr,25,15,[0]),s=-1,o=0,r=0,v=0;v0){if(s<0&&C.a&&(s=v,o=k[0],r=0),s>=0){if(d=C.b,v==s&&(d-=r++,d==0))return 0;if(!jhe(e,k,C,d,h)){v=s-1,k[0]=o;continue}}else if(s=-1,!jhe(e,k,C,0,h))return 0}else{if(s=-1,wa(C.c,0)==32){if(M=k[0],aee(e,k),k[0]>M)continue}else if(Frn(e,C.c,k[0])){k[0]+=C.c.length;continue}return 0}return F5n(h,n)?k[0]:0}function C_(t){var e,n,r,s,o,h,d,v;if(!t.f){if(v=new M0,d=new M0,e=uA,h=e.a.zc(t,e),h==null){for(o=new nr(Ao(t));o.e!=o.i.gc();)s=u(dr(o),26),is(v,C_(s));e.a.Bc(t)!=null,e.a.gc()==0}for(r=(!t.s&&(t.s=new fe(Mu,t,21,17)),new nr(t.s));r.e!=r.i.gc();)n=u(dr(r),170),_t(n,99)&&Dr(d,u(n,18));iy(d),t.r=new ZYt(t,(u(At(Wt((Hp(),Ln).o),6),18),d.i),d.g),is(v,t.r),iy(v),t.f=new V3((u(At(Wt(Ln.o),5),18),v.i),v.g),sl(t).b&=-3}return t.f}function n3n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G;for(h=t.o,r=Nt(Cr,Xr,25,h,15,1),s=Nt(Cr,Xr,25,h,15,1),n=t.p,e=Nt(Cr,Xr,25,n,15,1),o=Nt(Cr,Xr,25,n,15,1),k=0;k=0&&!f4(t,C,M);)--M;s[C]=M}for(H=0;H=0&&!f4(t,d,G);)--d;o[G]=d}for(v=0;ve[j]&&jr[v]&&Sq(t,v,j,!1,!0)}function dxt(t){var e,n,r,s,o,h,d,v;n=je(Re(Q(t,(Jf(),gbe)))),o=t.a.c.d,d=t.a.d.d,n?(h=fd(ia(new $e(d.a,d.b),o),.5),v=fd(nc(t.e),.5),e=ia(Li(new $e(o.a,o.b),h),v),H2t(t.d,e)):(s=Xt(ye(Q(t.a,kbe))),r=t.d,o.a>=d.a?o.b>=d.b?(r.a=d.a+(o.a-d.a)/2+s,r.b=d.b+(o.b-d.b)/2-s-t.e.b):(r.a=d.a+(o.a-d.a)/2+s,r.b=o.b+(d.b-o.b)/2+s):o.b>=d.b?(r.a=o.a+(d.a-o.a)/2+s,r.b=d.b+(o.b-d.b)/2+s):(r.a=o.a+(d.a-o.a)/2+s,r.b=o.b+(d.b-o.b)/2-s-t.e.b))}function $c(t,e){var n,r,s,o,h,d,v;if(t==null)return null;if(o=t.length,o==0)return"";for(v=Nt(xh,yd,25,o,15,1),Lmt(0,o,t.length),Lmt(0,o,v.length),iXt(t,0,o,v,0),n=null,d=e,s=0,h=0;s0?Pl(n.a,0,o-1):""):t.substr(0,o-1):n?n.a:t}function jle(t){Mw(t,new k2(_w(Ew(Cw(Tw(new kg,A2),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new yg))),xe(t,A2,jot,Ie(p7t)),xe(t,A2,$ot,Ie(Qut)),xe(t,A2,E6,Ie(Jpe)),xe(t,A2,xv,Ie(g7t)),xe(t,A2,Zxt,Ie(rbe)),xe(t,A2,Jxt,Ie(nbe)),xe(t,A2,Qxt,Ie(ibe)),xe(t,A2,t6t,Ie(ebe)),xe(t,A2,o6t,Ie(tbe)),xe(t,A2,c6t,Ie(Xut)),xe(t,A2,u6t,Ie(d7t)),xe(t,A2,l6t,Ie(fV))}function gxt(t,e,n,r){var s,o,h,d,v,k,C,M,j;if(o=new Y0(t),D0(o,(Vn(),Hc)),Jt(o,(Te(),cs),(ua(),Gc)),s=0,e){for(h=new Mc,Jt(h,(ae(),_i),e),Jt(o,_i,e.i),Bs(h,(ve(),Bn)),Uo(h,o),j=wd(e.e),k=j,C=0,M=k.length;C0)if(n-=r.length-e,n>=0){for(s.a+="0.";n>N2.length;n-=N2.length)wKt(s,N2);JWt(s,N2,ps(n)),Gr(s,r.substr(e))}else n=e-n,Gr(s,Pl(r,e,ps(n))),s.a+=".",Gr(s,RM(r,ps(n)));else{for(Gr(s,r.substr(e));n<-N2.length;n+=N2.length)wKt(s,N2);JWt(s,N2,ps(-n))}return s.a}function pxt(t,e,n,r){var s,o,h,d,v,k,C,M,j;return v=ia(new $e(n.a,n.b),t),k=v.a*e.b-v.b*e.a,C=e.a*r.b-e.b*r.a,M=(v.a*r.b-v.b*r.a)/C,j=k/C,C==0?k==0?(s=Li(new $e(n.a,n.b),fd(new $e(r.a,r.b),.5)),o=Wp(t,s),h=Wp(Li(new $e(t.a,t.b),e),s),d=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&M<=1&&j>=0&&j<=1?Li(new $e(t.a,t.b),fd(new $e(e.a,e.b),M)):null}function i3n(t,e,n){var r,s,o,h,d;if(r=u(Q(t,(Te(),tht)),21),n.a>e.a&&(r.Hc((hy(),WO))?t.c.a+=(n.a-e.a)/2:r.Hc(YO)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((hy(),XO))?t.c.b+=(n.b-e.b)/2:r.Hc(KO)&&(t.c.b+=n.b-e.b)),u(Q(t,(ae(),Vc)),21).Hc((oo(),vh))&&(n.a>e.a||n.b>e.b))for(d=new S(t.a);d.ae.a&&(r.Hc((hy(),WO))?t.c.a+=(n.a-e.a)/2:r.Hc(YO)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(r.Hc((hy(),XO))?t.c.b+=(n.b-e.b)/2:r.Hc(KO)&&(t.c.b+=n.b-e.b)),u(Q(t,(ae(),Vc)),21).Hc((oo(),vh))&&(n.a>e.a||n.b>e.b))for(h=new S(t.a);h.ae&&(s=0,o+=C.b+n,M.c[M.c.length]=C,C=new Zvt(o,n),r=new Iit(0,C.f,C,n),az(C,r),s=0),r.b.c.length==0||v.f>=r.o&&v.f<=r.f||r.a*.5<=v.f&&r.a*1.5>=v.f?h3t(r,v):(h=new Iit(r.s+r.r+n,C.f,C,n),az(C,h),h3t(h,v)),s=v.i+v.g;return M.c[M.c.length]=C,M}function T4(t){var e,n,r,s,o,h,d,v;if(!t.a){if(t.o=null,v=new Wzt(t),e=new Ep,n=uA,d=n.a.zc(t,n),d==null){for(h=new nr(Ao(t));h.e!=h.i.gc();)o=u(dr(h),26),is(v,T4(o));n.a.Bc(t)!=null,n.a.gc()==0}for(s=(!t.s&&(t.s=new fe(Mu,t,21,17)),new nr(t.s));s.e!=s.i.gc();)r=u(dr(s),170),_t(r,322)&&Dr(e,u(r,34));iy(e),t.k=new QYt(t,(u(At(Wt((Hp(),Ln).o),7),18),e.i),e.g),is(v,t.k),iy(v),t.a=new V3((u(At(Wt(Ln.o),4),18),v.i),v.g),sl(t).b&=-2}return t.a}function c3n(t,e,n,r,s,o,h){var d,v,k,C,M,j;return M=!1,v=Wce(n.q,e.f+e.b-n.q.f),j=s-(n.q.e+v-h),j=(An(o,t.c.length),u(t.c[o],200)).e,C=(d=__(r,j,!1),d.a),C>e.b&&!k)?!1:((k||C<=e.b)&&(k&&C>e.b?(n.d=C,vD(n,Qae(n,C))):(bae(n.q,v),n.c=!0),vD(r,s-(n.s+n.r)),tI(r,n.q.e+n.q.d,e.f),az(e,r),t.c.length>o&&(sI((An(o,t.c.length),u(t.c[o],200)),r),(An(o,t.c.length),u(t.c[o],200)).a.c.length==0&&Fg(t,o)),M=!0),M)}function bxt(t,e,n,r){var s,o,h,d,v,k,C;if(C=ou(t.e.Tg(),e),s=0,o=u(t.g,119),v=null,to(),u(e,66).Oj()){for(d=0;dt.o.a&&(C=(v-t.o.a)/2,d.b=b.Math.max(d.b,C),d.c=b.Math.max(d.c,C))}}function l3n(t){var e,n,r,s,o,h,d,v;for(o=new vZt,YXe(o,(i6(),G3e)),r=(s=yit(t,Nt(Ae,ee,2,0,6,1)),new mx(new yl(new Eet(t,s).b)));r.b0?t.i:0)>e&&v>0&&(o=0,h+=v+t.i,s=b.Math.max(s,j),r+=v+t.i,v=0,j=0,n&&(++M,le(t.n,new E$(t.s,h,t.i))),d=0),j+=k.g+(d>0?t.i:0),v=b.Math.max(v,k.f),n&&W3t(u(Ne(t.n,M),211),k),o+=k.g+(d>0?t.i:0),++d;return s=b.Math.max(s,j),r+=v,n&&(t.r=s,t.d=r,Q3t(t.j)),new ah(t.s,t.t,s,r)}function Dc(t,e,n,r,s){Gd();var o,h,d,v,k,C,M,j,H;if(bvt(t,"src"),bvt(n,"dest"),j=ol(t),v=ol(n),jwt((j.i&4)!=0,"srcType is not an array"),jwt((v.i&4)!=0,"destType is not an array"),M=j.c,h=v.c,jwt(M.i&1?M==h:(h.i&1)==0,"Array types don't match"),H=t.length,k=n.length,e<0||r<0||s<0||e+s>H||r+s>k)throw it(new Dpt);if(!(M.i&1)&&j!=v)if(C=u2(t),o=u2(n),Vt(t)===Vt(n)&&er;)ts(o,d,C[--e]);else for(d=r+s;r0&&n5t(t,e,n,r,s,!0)}function Lat(){Lat=Z,qge=lt(ct(Cr,1),Xr,25,15,[Sa,1162261467,D_,1220703125,362797056,1977326743,D_,387420489,Gq,214358881,429981696,815730721,1475789056,170859375,268435456,410338673,612220032,893871739,128e7,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729e6,887503681,D_,1291467969,1544804416,1838265625,60466176]),Hge=lt(ct(Cr,1),Xr,25,15,[-1,-1,31,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5])}function h3n(t){var e,n,r,s,o,h,d,v;for(s=new S(t.b);s.a=t.b.length?(o[s++]=h.b[r++],o[s++]=h.b[r++]):r>=h.b.length?(o[s++]=t.b[n++],o[s++]=t.b[n++]):h.b[r]0?t.i:0)),++e;for(Ehn(t.n,v),t.d=n,t.r=r,t.g=0,t.f=0,t.e=0,t.o=as,t.p=as,o=new S(t.b);o.a0&&(s=(!t.n&&(t.n=new fe(qo,t,1,7)),u(At(t.n,0),137)).a,!s||Gr(Gr((e.a+=' "',e),s),'"'))),n=(!t.b&&(t.b=new Cn(br,t,4,7)),!(t.b.i<=1&&(!t.c&&(t.c=new Cn(br,t,5,8)),t.c.i<=1))),n?e.a+=" [":e.a+=" ",Gr(e,_2t(new vet,new nr(t.b))),n&&(e.a+="]"),e.a+=Uot,n&&(e.a+="["),Gr(e,_2t(new vet,new nr(t.c))),n&&(e.a+="]"),e.a)}function Mat(t,e){var n,r,s,o,h,d,v;if(t.a){if(d=t.a.ne(),v=null,d!=null?e.a+=""+d:(h=t.a.Dj(),h!=null&&(o=hd(h,Cu(91)),o!=-1?(v=h.substr(o),e.a+=""+Pl(h==null?_u:(On(h),h),0,o)):e.a+=""+h)),t.d&&t.d.i!=0){for(s=!0,e.a+="<",r=new nr(t.d);r.e!=r.i.gc();)n=u(dr(r),87),s?s=!1:e.a+=Ya,Mat(n,e);e.a+=">"}v!=null&&(e.a+=""+v)}else t.e?(d=t.e.zb,d!=null&&(e.a+=""+d)):(e.a+="?",t.b?(e.a+=" super ",Mat(t.b,e)):t.f&&(e.a+=" extends ",Mat(t.f,e)))}function g3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;for(Kt=t.c,ue=e.c,n=Ro(Kt.a,t,0),r=Ro(ue.a,e,0),St=u(ov(t,(so(),tl)).Kc().Pb(),11),Qe=u(ov(t,nu).Kc().Pb(),11),Rt=u(ov(e,tl).Kc().Pb(),11),Rn=u(ov(e,nu).Kc().Pb(),11),gt=wd(St.e),_e=wd(Qe.g),Mt=wd(Rt.e),We=wd(Rn.g),ly(t,r,ue),h=Mt,C=0,G=h.length;CC?new i2((Uf(),Ky),n,e,k-C):k>0&&C>0&&(new i2((Uf(),Ky),e,n,0),new i2(Ky,n,e,0))),h)}function qle(t,e){var n,r,s,o,h,d;for(h=new p2(new Cg(t.f.b).a);h.b;){if(o=Zw(h),s=u(o.cd(),594),e==1){if(s.gf()!=(ao(),rg)&&s.gf()!=ng)continue}else if(s.gf()!=(ao(),zh)&&s.gf()!=Cf)continue;switch(r=u(u(o.dd(),46).b,81),d=u(u(o.dd(),46).a,189),n=d.c,s.gf().g){case 2:r.g.c=t.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=t.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function p3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(d=Nt(Cr,Xr,25,e.b.c.length,15,1),k=Nt(flt,oe,267,e.b.c.length,0,1),v=Nt(l0,Yg,10,e.b.c.length,0,1),M=t.a,j=0,H=M.length;j0&&v[r]&&(G=W3(t.b,v[r],s)),K=b.Math.max(K,s.c.c.b+G);for(o=new S(C.e);o.a1)throw it(new Fn(aO));v||(o=Zd(e,r.Kc().Pb()),h.Fc(o))}return Syt(t,W4t(t,e,n),h)}function v3n(t,e){var n,r,s,o;for(ecn(e.b.j),ls(wu(new Tn(null,new _n(e.d,16)),new XX),new QX),o=new S(e.d);o.at.o.b||(n=Ko(t,Hn),d=e.d+e.a+(n.gc()-1)*h,d>t.o.b)))}function Oat(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;if(h=t.e,v=e.e,h==0)return e;if(v==0)return t;if(o=t.d,d=e.d,o+d==2)return n=Ns(t.a[0],co),r=Ns(e.a[0],co),h==v?(C=Pa(n,r),G=Ar(C),H=Ar(Vm(C,32)),H==0?new Ng(h,G):new X3(h,2,lt(ct(Cr,1),Xr,25,15,[G,H]))):JD(h<0?Jp(r,n):Jp(n,r));if(h==v)j=h,M=o>=d?Krt(t.a,o,e.a,d):Krt(e.a,d,t.a,o);else{if(s=o!=d?o>d?1:-1:qyt(t.a,e.a,o),s==0)return rb(),s7;s==1?(j=h,M=Wrt(t.a,o,e.a,d)):(j=v,M=Wrt(e.a,d,t.a,o))}return k=new X3(j,M.length,M),N9(k),k}function Pat(t,e,n,r,s,o,h){var d,v,k,C,M,j,H;return M=je(Re(Q(e,(Te(),l9t)))),j=null,o==(so(),tl)&&r.c.i==n?j=r.c:o==nu&&r.d.i==n&&(j=r.d),k=h,!k||!M||j?(C=(ve(),Zo),j?C=j.j:G3(u(Q(n,cs),98))&&(C=o==tl?Bn:Hn),v=k3n(t,e,n,o,C,r),d=Grt((Na(n),r)),o==tl?(Oa(d,u(Ne(v.j,0),11)),oa(d,s)):(Oa(d,s),oa(d,u(Ne(v.j,0),11))),k=new oie(r,d,v,u(Q(v,(ae(),_i)),11),o,!j)):(le(k.e,r),H=b.Math.max(Xt(ye(Q(k.d,Jg))),Xt(ye(Q(r,Jg)))),Jt(k.d,Jg,H)),ln(t.a,r,new Fj(k.d,e,o)),k}function Pq(t,e){var n,r,s,o,h,d,v,k,C,M;if(C=null,t.d&&(C=u(Nc(t.d,e),138)),!C){if(o=t.a.Mh(),M=o.i,!t.d||HC(t.d)!=M){for(v=new _r,t.d&&Y9(v,t.d),k=v.f.c+v.g.c,d=k;d0?(H=(G-1)*n,d&&(H+=r),C&&(H+=r),H=t.b[s+1])s+=2;else if(n0)for(r=new Bu(u(Ai(t.a,o),21)),wn(),Zs(r,new Si(e)),s=new da(o.b,0);s.bKt)?(v=2,h=wi):v==0?(v=1,h=_e):(v=0,h=_e)):(H=_e>=h||h-_e0?1:Iw(isNaN(r),isNaN(0)))>=0^(wf(_d),(b.Math.abs(d)<=_d||d==0||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Iw(isNaN(d),isNaN(0)))>=0)?b.Math.max(d,r):(wf(_d),(b.Math.abs(r)<=_d||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:Iw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(d*d+r*r):-b.Math.sqrt(d*d+r*r))}function E2(t,e){var n,r,s,o,h,d;if(e){if(!t.a&&(t.a=new ER),t.e==2){kR(t.a,e);return}if(e.e==1){for(s=0;s=Ka?go(n,l3t(r)):S8(n,r&ys),h=new krt(10,null,0),unn(t.a,h,d-1)):(n=(h.bm().length+o,new $C),go(n,h.bm())),e.e==0?(r=e._l(),r>=Ka?go(n,l3t(r)):S8(n,r&ys)):go(n,e.bm()),u(h,521).b=n.a}}function Xle(t){var e,n,r,s,o;return t.g!=null?t.g:t.a<32?(t.g=W5n(Tu(t.f),ps(t.e)),t.g):(s=Hat((!t.c&&(t.c=VD(t.f)),t.c),0),t.e==0?s:(e=(!t.c&&(t.c=VD(t.f)),t.c).e<0?2:1,n=s.length,r=-t.e+n-e,o=new Mp,o.a+=""+s,t.e>0&&r>=-6?r>=0?uD(o,n-ps(t.e),String.fromCharCode(46)):(o.a=Pl(o.a,0,e-1)+"0."+RM(o.a,e-1),uD(o,e+1,Mh(N2,0,-ps(r)-1))):(n-e>=1&&(uD(o,e,String.fromCharCode(46)),++n),uD(o,n,String.fromCharCode(69)),r>0&&uD(o,++n,String.fromCharCode(43)),uD(o,++n,""+_9(Tu(r)))),t.g=o.a,t.g))}function F3n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!n.dc()){for(d=0,j=0,r=n.Kc(),G=u(r.Pb(),19).a;d1&&(v=k.mg(v,t.a,d));return v.c.length==1?u(Ne(v,v.c.length-1),220):v.c.length==2?T3n((An(0,v.c.length),u(v.c[0],220)),(An(1,v.c.length),u(v.c[1],220)),h,o):null}function Qle(t){var e,n,r,s,o,h;for(xu(t.a,new xi),n=new S(t.a);n.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>h.d&&o.dh.c&&o.c0){if(e=new n2t(t.i,t.g),n=t.i,o=n<100?null:new Dp(n),t.ij())for(r=0;r0){for(d=t.g,k=t.i,z9(t),o=k<100?null:new Dp(k),r=0;r>13|(t.m&15)<<9,s=t.m>>4&8191,o=t.m>>17|(t.h&255)<<5,h=(t.h&1048320)>>8,d=e.l&8191,v=e.l>>13|(e.m&15)<<9,k=e.m>>4&8191,C=e.m>>17|(e.h&255)<<5,M=(e.h&1048320)>>8,We=n*d,Qe=r*d,Rn=s*d,zn=o*d,hr=h*d,v!=0&&(Qe+=n*v,Rn+=r*v,zn+=s*v,hr+=o*v),k!=0&&(Rn+=n*k,zn+=r*k,hr+=s*k),C!=0&&(zn+=n*C,hr+=r*C),M!=0&&(hr+=n*M),H=We&hl,G=(Qe&511)<<13,j=H+G,tt=We>>22,gt=Qe>>9,Mt=(Rn&262143)<<4,St=(zn&31)<<17,K=tt+gt+Mt+St,Kt=Rn>>18,ue=zn>>5,_e=(hr&4095)<<8,Rt=Kt+ue+_e,K+=j>>22,j&=hl,Rt+=K>>22,K&=hl,Rt&=Z0,iu(j,K,Rt)}function Zle(t){var e,n,r,s,o,h,d;if(d=u(Ne(t.j,0),11),d.g.c.length!=0&&d.e.c.length!=0)throw it(new No("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(d.g.c.length!=0){for(o=as,n=new S(d.g);n.a4)if(t.wj(e)){if(t.rk()){if(s=u(e,49),r=s.Ug(),v=r==t.e&&(t.Dk()?s.Og(s.Vg(),t.zk())==t.Ak():-1-s.Vg()==t.aj()),t.Ek()&&!v&&!r&&s.Zg()){for(o=0;o0&&(k=t.n.a/o);break;case 2:case 4:s=t.i.o.b,s>0&&(k=t.n.b/s)}Jt(t,(ae(),Fv),k)}if(v=t.o,h=t.a,r)h.a=r.a,h.b=r.b,t.d=!0;else if(e!=G1&&e!=Tb&&d!=Zo)switch(d.g){case 1:h.a=v.a/2;break;case 2:h.a=v.a,h.b=v.b/2;break;case 3:h.a=v.a/2,h.b=v.b;break;case 4:h.b=v.b/2}else h.a=v.a/2,h.b=v.b/2}function A_(t){var e,n,r,s,o,h,d,v,k,C;if(t.ej())if(C=t.Vi(),v=t.fj(),C>0)if(e=new gyt(t.Gi()),n=C,o=n<100?null:new Dp(n),VM(t,n,e.g),s=n==1?t.Zi(4,At(e,0),null,0,v):t.Zi(6,e,null,-1,v),t.bj()){for(r=new nr(e);r.e!=r.i.gc();)o=t.dj(dr(r),o);o?(o.Ei(s),o.Fi()):t.$i(s)}else o?(o.Ei(s),o.Fi()):t.$i(s);else VM(t,t.Vi(),t.Wi()),t.$i(t.Zi(6,(wn(),io),null,-1,v));else if(t.bj())if(C=t.Vi(),C>0){for(d=t.Wi(),k=C,VM(t,C,d),o=k<100?null:new Dp(k),r=0;rt.d[h.p]&&(n+=fmt(t.b,o)*u(v.b,19).a,Up(t.a,pe(o)));for(;!BC(t.a);)Hmt(t.b,u(Hx(t.a),19).a)}return n}function W3n(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;for(M=new xo(u(qe(t,(fq(),OSt)),8)),M.a=b.Math.max(M.a-n.b-n.c,0),M.b=b.Math.max(M.b-n.d-n.a,0),s=ye(qe(t,MSt)),(s==null||(On(s),s<=0))&&(s=1.3),d=new he,G=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));G.e!=G.i.gc();)H=u(dr(G),33),h=new LWt(H),d.c[d.c.length]=h;switch(j=u(qe(t,lft),311),j.g){case 3:tt=pyn(d,e,M.a,M.b,(k=r,On(s),k));break;case 1:tt=zyn(d,e,M.a,M.b,(C=r,On(s),C));break;default:tt=X3n(d,e,M.a,M.b,(v=r,On(s),v))}o=new rz(tt),K=zat(o,e,n,M.a,M.b,r,(On(s),s)),wv(t,K.a,K.b,!1,!0)}function Y3n(t,e){var n,r,s,o;n=e.b,o=new Bu(n.j),s=0,r=n.j,r.c=Nt(Qn,De,1,0,5,1),$w(u(h2(t.b,(ve(),Pn),(nv(),Dv)),15),n),s=nI(o,s,new jX,r),$w(u(h2(t.b,Pn,pb),15),n),s=nI(o,s,new VT,r),$w(u(h2(t.b,Pn,Mv),15),n),$w(u(h2(t.b,Hn,Dv),15),n),$w(u(h2(t.b,Hn,pb),15),n),s=nI(o,s,new PN,r),$w(u(h2(t.b,Hn,Mv),15),n),$w(u(h2(t.b,mr,Dv),15),n),s=nI(o,s,new FN,r),$w(u(h2(t.b,mr,pb),15),n),s=nI(o,s,new NN,r),$w(u(h2(t.b,mr,Mv),15),n),$w(u(h2(t.b,Bn,Dv),15),n),s=nI(o,s,new qX,r),$w(u(h2(t.b,Bn,pb),15),n),$w(u(h2(t.b,Bn,Mv),15),n)}function K3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(vr(e,"Layer size calculation",1),C=as,k=Cs,s=!1,d=new S(t.b);d.a.5?gt-=h*2*(G-.5):G<.5&&(gt+=o*2*(.5-G)),s=d.d.b,gttt.a-K-C&&(gt=tt.a-K-C),d.n.a=e+gt}}function X3n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt;for(d=Nt(aa,vo,25,t.c.length,15,1),j=new n$(new sB),e4t(j,t),k=0,K=new he;j.b.c.length!=0;)if(h=u(j.b.c.length==0?null:Ne(j.b,0),157),k>1&&Ru(h)*El(h)/2>d[0]){for(o=0;od[o];)++o;G=new Qd(K,0,o+1),M=new rz(G),C=Ru(h)/El(h),v=zat(M,e,new Cx,n,r,s,C),Li(Gf(M.e),v),R8(xE(j,M)),H=new Qd(K,o+1,K.c.length),e4t(j,H),K.c=Nt(Qn,De,1,0,5,1),k=0,AKt(d,d.length,0)}else tt=j.b.c.length==0?null:Ne(j.b,0),tt!=null&&vit(j,0),k>0&&(d[k]=d[k-1]),d[k]+=Ru(h)*El(h),++k,K.c[K.c.length]=h;return K}function Q3n(t){var e,n,r,s,o;if(r=u(Q(t,(Te(),uu)),163),r==(dh(),bb)){for(n=new ar(lr(jo(t).a.Kc(),new z));zr(n);)if(e=u(Mr(n),17),!jJt(e))throw it(new R3(Kot+rI(t)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==jy){for(o=new ar(lr(Ds(t).a.Kc(),new z));zr(o);)if(s=u(Mr(o),17),!jJt(s))throw it(new R3(Kot+rI(t)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function Z3n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;for(vr(e,"Label dummy removal",1),r=Xt(ye(Q(t,(Te(),V6)))),s=Xt(ye(Q(t,Wy))),k=u(Q(t,Wl),103),v=new S(t.b);v.a0&&soe(t,d,M);for(s=new S(M);s.a>19&&(e=rE(e),v=!v),h=Q2n(e),o=!1,s=!1,r=!1,t.h==NI&&t.m==0&&t.l==0)if(s=!0,o=!0,h==-1)t=yUt((q8(),sEt)),r=!0,v=!v;else return d=v5t(t,h),v&&Ait(d),n&&(hb=iu(0,0,0)),d;else t.h>>19&&(o=!0,t=rE(t),r=!0,v=!v);return h!=-1?Run(t,h,v,o,n):u4t(t,e)<0?(n&&(o?hb=rE(t):hb=iu(t.l,t.m,t.h)),iu(0,0,0)):qmn(r?t:iu(t.l,t.m,t.h),e,v,o,s,n)}function Fq(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;if(t.e&&t.c.ce.f||e.g>t.f)){for(n=0,r=0,h=t.w.a.ec().Kc();h.Ob();)s=u(h.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&++n;for(d=t.r.a.ec().Kc();d.Ob();)s=u(d.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&--n;for(v=e.w.a.ec().Kc();v.Ob();)s=u(v.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&++r;for(o=e.r.a.ec().Kc();o.Ob();)s=u(o.Pb(),11),$it(Yo(lt(ct(Ws,1),ee,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&--r;n=0)return s=ohn(t,e.substr(1,h-1)),C=e.substr(h+1,v-(h+1)),nxn(t,C,s)}else{if(n=-1,lEt==null&&(lEt=new RegExp("\\d")),lEt.test(String.fromCharCode(d))&&(n=bwt(e,Cu(46),v-1),n>=0)){r=u(Urt(t,Dee(t,e.substr(1,n-1)),!1),58),k=0;try{k=ql(e.substr(n+1),Sa,wi)}catch(j){throw j=Wi(j),_t(j,127)?(o=j,it(new W$(o))):it(j)}if(k=0)return n;switch(Hw(To(t,n))){case 2:{if(hn("",$g(t,n.Hj()).ne())){if(v=rD(To(t,n)),d=M8(To(t,n)),C=C5t(t,e,v,d),C)return C;for(s=Z5t(t,e),h=0,M=s.gc();h1)throw it(new Fn(aO));for(C=ou(t.e.Tg(),e),r=u(t.g,119),h=0;h1,k=new L1(j.b);Go(k.a)||Go(k.b);)v=u(Go(k.a)?J(k.a):J(k.b),17),M=v.c==j?v.d:v.c,b.Math.abs(Yo(lt(ct(Ws,1),ee,8,0,[M.i.n,M.n,M.a])).b-h.b)>1&&evn(t,v,h,o,j)}}function l4n(t){var e,n,r,s,o,h;if(s=new da(t.e,0),r=new da(t.a,0),t.d)for(n=0;nLct;){for(o=e,h=0;b.Math.abs(e-o)0),s.a.Xb(s.c=--s.b),Syn(t,t.b-h,o,r,s),Zn(s.b0),r.a.Xb(r.c=--r.b)}if(!t.d)for(n=0;n0?(t.f[C.p]=H/(C.e.c.length+C.g.c.length),t.c=b.Math.min(t.c,t.f[C.p]),t.b=b.Math.max(t.b,t.f[C.p])):d&&(t.f[C.p]=H)}}function f4n(t){t.b=null,t.bb=null,t.fb=null,t.qb=null,t.a=null,t.c=null,t.d=null,t.e=null,t.f=null,t.n=null,t.M=null,t.L=null,t.Q=null,t.R=null,t.K=null,t.db=null,t.eb=null,t.g=null,t.i=null,t.j=null,t.k=null,t.gb=null,t.o=null,t.p=null,t.q=null,t.r=null,t.$=null,t.ib=null,t.S=null,t.T=null,t.t=null,t.s=null,t.u=null,t.v=null,t.w=null,t.B=null,t.A=null,t.C=null,t.D=null,t.F=null,t.G=null,t.H=null,t.I=null,t.J=null,t.P=null,t.Z=null,t.U=null,t.V=null,t.W=null,t.X=null,t.Y=null,t._=null,t.ab=null,t.cb=null,t.hb=null,t.nb=null,t.lb=null,t.mb=null,t.ob=null,t.pb=null,t.jb=null,t.kb=null,t.N=!1,t.O=!1}function d4n(t,e,n){var r,s,o,h;for(vr(n,"Graph transformation ("+t.a+")",1),h=Ww(e.a),o=new S(e.b);o.a0&&(t.a=v+(H-1)*o,e.c.b+=t.a,e.f.b+=t.a)),G.a.gc()!=0&&(j=new ert(1,o),H=Txt(j,e,G,K,e.f.b+v-e.c.b),H>0&&(e.f.b+=v+(H-1)*o))}function OE(t,e){var n,r,s,o;o=t.F,e==null?(t.F=null,aE(t,null)):(t.F=(On(e),e),r=hd(e,Cu(60)),r!=-1?(s=e.substr(0,r),hd(e,Cu(46))==-1&&!hn(s,b6)&&!hn(s,tS)&&!hn(s,FH)&&!hn(s,eS)&&!hn(s,nS)&&!hn(s,rS)&&!hn(s,iS)&&!hn(s,sS)&&(s=$0e),n=Tj(e,Cu(62)),n!=-1&&(s+=""+e.substr(n+1)),aE(t,s)):(s=e,hd(e,Cu(46))==-1&&(r=hd(e,Cu(91)),r!=-1&&(s=e.substr(0,r)),!hn(s,b6)&&!hn(s,tS)&&!hn(s,FH)&&!hn(s,eS)&&!hn(s,nS)&&!hn(s,rS)&&!hn(s,iS)&&!hn(s,sS)?(s=$0e,r!=-1&&(s+=""+e.substr(r))):s=e),aE(t,s),s==e&&(t.F=t.D))),t.Db&4&&!(t.Db&1)&&mi(t,new Js(t,1,5,o,e))}function p4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;if(K=e.b.c.length,!(K<3)){for(H=Nt(Cr,Xr,25,K,15,1),M=0,C=new S(e.b);C.ah)&&Fs(t.b,u(tt.b,17));++d}o=h}}}function xxt(t,e){var n;if(e==null||hn(e,_u)||e.length==0&&t.k!=(Ug(),U6))return null;switch(t.k.g){case 1:return Vz(e,XE)?(Nn(),r7):Vz(e,Vct)?(Nn(),F2):null;case 2:try{return pe(ql(e,Sa,wi))}catch(r){if(r=Wi(r),_t(r,127))return null;throw it(r)}case 4:try{return dy(e)}catch(r){if(r=Wi(r),_t(r,127))return null;throw it(r)}case 3:return e;case 5:return Rre(t),Voe(t,e);case 6:return Rre(t),C2n(t,t.a,e);case 7:try{return n=Bbn(t),n.Jf(e),n}catch(r){if(r=Wi(r),_t(r,32))return null;throw it(r)}default:throw it(new No("Invalid type set for this layout option."))}}function b4n(t){H9();var e,n,r,s,o,h,d;for(d=new pqt,n=new S(t);n.a=d.b.c)&&(d.b=e),(!d.c||e.c<=d.c.c)&&(d.d=d.c,d.c=e),(!d.e||e.d>=d.e.d)&&(d.e=e),(!d.f||e.d<=d.f.d)&&(d.f=e);return r=new Yz((nE(),Lv)),hD(t,Ube,new yl(lt(ct(mO,1),De,369,0,[r]))),h=new Yz(Fy),hD(t,Gbe,new yl(lt(ct(mO,1),De,369,0,[h]))),s=new Yz(Py),hD(t,Vbe,new yl(lt(ct(mO,1),De,369,0,[s]))),o=new Yz(z4),hD(t,Hbe,new yl(lt(ct(mO,1),De,369,0,[o]))),aat(r.c,Lv),aat(s.c,Py),aat(o.c,z4),aat(h.c,Fy),d.a.c=Nt(Qn,De,1,0,5,1),Ls(d.a,r.c),Ls(d.a,l2(s.c)),Ls(d.a,o.c),Ls(d.a,l2(h.c)),d}function kxt(t){var e;switch(t.d){case 1:{if(t.hj())return t.o!=-2;break}case 2:{if(t.hj())return t.o==-2;break}case 3:case 5:case 4:case 6:case 7:return t.o>-2;default:return!1}switch(e=t.gj(),t.p){case 0:return e!=null&&je(Re(e))!=u9(t.k,0);case 1:return e!=null&&u(e,217).a!=Ar(t.k)<<24>>24;case 2:return e!=null&&u(e,172).a!=(Ar(t.k)&ys);case 6:return e!=null&&u9(u(e,162).a,t.k);case 5:return e!=null&&u(e,19).a!=Ar(t.k);case 7:return e!=null&&u(e,184).a!=Ar(t.k)<<16>>16;case 3:return e!=null&&Xt(ye(e))!=t.j;case 4:return e!=null&&u(e,155).a!=t.j;default:return e==null?t.n!=null:!yi(e,t.n)}}function AI(t,e,n){var r,s,o,h;return t.Fk()&&t.Ek()&&(h=Wnt(t,u(n,56)),Vt(h)!==Vt(n))?(t.Oi(e),t.Ui(e,Ite(t,e,h)),t.rk()&&(o=(s=u(n,49),t.Dk()?t.Bk()?s.ih(t.b,no(u(yn(vu(t.b),t.aj()),18)).n,u(yn(vu(t.b),t.aj()).Yj(),26).Bj(),null):s.ih(t.b,Gi(s.Tg(),no(u(yn(vu(t.b),t.aj()),18))),null,null):s.ih(t.b,-1-t.aj(),null,null)),!u(h,49).eh()&&(o=(r=u(h,49),t.Dk()?t.Bk()?r.gh(t.b,no(u(yn(vu(t.b),t.aj()),18)).n,u(yn(vu(t.b),t.aj()).Yj(),26).Bj(),o):r.gh(t.b,Gi(r.Tg(),no(u(yn(vu(t.b),t.aj()),18))),null,o):r.gh(t.b,-1-t.aj(),null,o))),o&&o.Fi()),xl(t.b)&&t.$i(t.Zi(9,n,h,e,!1)),h):n}function nhe(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(C=Xt(ye(Q(t,(Te(),jv)))),r=Xt(ye(Q(t,x9t))),j=new Yu,Jt(j,jv,C+r),k=e,gt=k.d,K=k.c.i,Mt=k.d.i,tt=o2t(K.c),St=o2t(Mt.c),s=new he,M=tt;M<=St;M++)d=new Y0(t),D0(d,(Vn(),ta)),Jt(d,(ae(),_i),k),Jt(d,cs,(ua(),Gc)),Jt(d,bG,j),H=u(Ne(t.b,M),29),M==tt?ly(d,H.a.c.length-n,H):Eo(d,H),Rt=Xt(ye(Q(k,Jg))),Rt<0&&(Rt=0,Jt(k,Jg,Rt)),d.o.b=Rt,G=b.Math.floor(Rt/2),h=new Mc,Bs(h,(ve(),Bn)),Uo(h,d),h.n.b=G,v=new Mc,Bs(v,Hn),Uo(v,d),v.n.b=G,oa(k,h),o=new Vw,Mo(o,k),Jt(o,So,null),Oa(o,v),oa(o,gt),mdn(d,k,o),s.c[s.c.length]=o,k=o;return s}function Bat(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(v=u(Gg(t,(ve(),Bn)).Kc().Pb(),11).e,H=u(Gg(t,Hn).Kc().Pb(),11).g,d=v.c.length,St=_1(u(Ne(t.j,0),11));d-- >0;){for(K=(An(0,v.c.length),u(v.c[0],17)),s=(An(0,H.c.length),u(H.c[0],17)),Mt=s.d.e,o=Ro(Mt,s,0),Esn(K,s.d,o),Oa(s,null),oa(s,null),G=K.a,e&&ri(G,new xo(St)),r=ei(s.a,0);r.b!=r.d.c;)n=u(ti(r),8),ri(G,new xo(n));for(gt=K.b,j=new S(s.b);j.a0&&(h=b.Math.max(h,Mne(t.C.b+r.d.b,s))),C=r,M=s,j=o;t.C&&t.C.c>0&&(H=j+t.C.c,k&&(H+=C.d.c),h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(M-1)<=B1||M==1||isNaN(M)&&isNaN(1)?0:H/(1-M)))),n.n.b=0,n.a.a=h}function ihe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H;if(n=u(po(t.b,e),124),v=u(u(Ai(t.r,e),21),84),v.dc()){n.n.d=0,n.n.a=0;return}for(k=t.u.Hc((Zu(),sg)),h=0,t.A.Hc((Al(),K2))&&Bue(t,e),d=v.Kc(),C=null,j=0,M=0;d.Ob();)r=u(d.Pb(),111),o=Xt(ye(r.b.We((Cj(),uV)))),s=r.b.rf().b,C?(H=M+C.d.a+t.w+r.d.d,h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(j-o)<=B1||j==o||isNaN(j)&&isNaN(o)?0:H/(o-j)))):t.C&&t.C.d>0&&(h=b.Math.max(h,Mne(t.C.d+r.d.d,o))),C=r,j=o,M=s;t.C&&t.C.a>0&&(H=M+t.C.a,k&&(H+=C.d.a),h=b.Math.max(h,(k1(),wf(B1),b.Math.abs(j-1)<=B1||j==1||isNaN(j)&&isNaN(1)?0:H/(1-j)))),n.n.d=0,n.a.b=h}function she(t,e,n){var r,s,o,h,d,v;for(this.g=t,d=e.d.length,v=n.d.length,this.d=Nt(l0,Yg,10,d+v,0,1),h=0;h0?lit(this,this.f/this.a):E1(e.g,e.d[0]).a!=null&&E1(n.g,n.d[0]).a!=null?lit(this,(Xt(E1(e.g,e.d[0]).a)+Xt(E1(n.g,n.d[0]).a))/2):E1(e.g,e.d[0]).a!=null?lit(this,E1(e.g,e.d[0]).a):E1(n.g,n.d[0]).a!=null&&lit(this,E1(n.g,n.d[0]).a)}function w4n(t,e){var n,r,s,o,h,d,v,k,C,M;for(t.a=new dXt(Ucn(XS)),r=new S(e.a);r.a=1&&(tt-h>0&&M>=0?(v.n.a+=K,v.n.b+=o*h):tt-h<0&&C>=0&&(v.n.a+=K*tt,v.n.b+=o));t.o.a=e.a,t.o.b=e.b,Jt(t,(Te(),$2),(Al(),r=u(Vf(rA),9),new sh(r,u(ff(r,r.length),9),0)))}function x4n(t,e,n,r,s,o){var h;if(!(e==null||!tst(e,nLt,rLt)))throw it(new Fn("invalid scheme: "+e));if(!t&&!(n!=null&&hd(n,Cu(35))==-1&&n.length>0&&(Rr(0,n.length),n.charCodeAt(0)!=47)))throw it(new Fn("invalid opaquePart: "+n));if(t&&!(e!=null&&yM(gU,e.toLowerCase()))&&!(n==null||!tst(n,oA,cA)))throw it(new Fn(S0e+n));if(t&&e!=null&&yM(gU,e.toLowerCase())&&!g0n(n))throw it(new Fn(S0e+n));if(!vhn(r))throw it(new Fn("invalid device: "+r));if(!hln(s))throw h=s==null?"invalid segments: null":"invalid segment: "+oln(s),it(new Fn(h));if(!(o==null||hd(o,Cu(35))==-1))throw it(new Fn("invalid query: "+o))}function k4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(vr(e,"Calculate Graph Size",1),e.n&&t&&gf(e,pf(t),(Sl(),Ql)),d=VE,v=VE,o=Ukt,h=Ukt,M=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));M.e!=M.i.gc();)k=u(dr(M),33),G=k.i,K=k.j,gt=k.g,r=k.f,s=u(qe(k,(ui(),JO)),142),d=b.Math.min(d,G-s.b),v=b.Math.min(v,K-s.d),o=b.Math.max(o,G+gt+s.c),h=b.Math.max(h,K+r+s.a);for(H=u(qe(t,(ui(),U2)),116),j=new $e(d-H.b,v-H.d),C=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));C.e!=C.i.gc();)k=u(dr(C),33),ku(k,k.i-j.a),Eu(k,k.j-j.b);tt=o-d+(H.b+H.c),n=h-v+(H.d+H.a),tv(t,tt),Jw(t,n),e.n&&t&&gf(e,pf(t),(Sl(),Ql))}function che(t){var e,n,r,s,o,h,d,v,k,C;for(r=new he,h=new S(t.e.a);h.a0){Kz(t,n,0),n.a+=String.fromCharCode(r),s=ofn(e,o),Kz(t,n,s),o+=s-1;continue}r==39?o+11)for(K=Nt(Cr,Xr,25,t.b.b.c.length,15,1),M=0,k=new S(t.b.b);k.a=d&&s<=v)d<=s&&o<=v?(n[C++]=s,n[C++]=o,r+=2):d<=s?(n[C++]=s,n[C++]=v,t.b[r]=v+1,h+=2):o<=v?(n[C++]=d,n[C++]=o,r+=2):(n[C++]=d,n[C++]=v,t.b[r]=v+1);else if(vsb)&&d<10);ubt(t.c,new W5),uhe(t),hnn(t.c),m4n(t.f)}function _4n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(je(Re(Q(n,(Te(),Hy)))))for(d=new S(n.j);d.a=2){for(v=ei(n,0),h=u(ti(v),8),d=u(ti(v),8);d.a0&&$D(k,!0,(ao(),Cf)),d.k==(Vn(),ks)&&NXt(k),ki(t.f,d,e)}}function M4n(t,e,n){var r,s,o,h,d,v,k,C,M,j;switch(vr(n,"Node promotion heuristic",1),t.g=e,N5n(t),t.q=u(Q(e,(Te(),oht)),260),C=u(Q(t.g,o9t),19).a,o=new pN,t.q.g){case 2:case 1:IE(t,o);break;case 3:for(t.q=(y4(),EG),IE(t,o),v=0,d=new S(t.a);d.at.j&&(t.q=FO,IE(t,o));break;case 4:for(t.q=(y4(),EG),IE(t,o),k=0,s=new S(t.b);s.at.k&&(t.q=NO,IE(t,o));break;case 6:j=ps(b.Math.ceil(t.f.length*C/100)),IE(t,new _p(j));break;case 5:M=ps(b.Math.ceil(t.d*C/100)),IE(t,new Hf(M));break;default:IE(t,o)}Evn(t,e),or(n)}function hhe(t,e,n){var r,s,o,h;this.j=t,this.e=_4t(t),this.o=this.j.e,this.i=!!this.o,this.p=this.i?u(Ne(n,Na(this.o).p),214):null,s=u(Q(t,(ae(),Vc)),21),this.g=s.Hc((oo(),vh)),this.b=new he,this.d=new Oie(this.e),h=u(Q(this.j,$6),230),this.q=cun(e,h,this.e),this.k=new PQt(this),o=A1(lt(ct(g2e,1),De,225,0,[this,this.d,this.k,this.q])),e==(ev(),RO)&&!je(Re(Q(t,(Te(),$y))))?(r=new A4t(this.e),o.c[o.c.length]=r,this.c=new rmt(r,h,u(this.q,402))):e==RO&&je(Re(Q(t,(Te(),$y))))?(r=new A4t(this.e),o.c[o.c.length]=r,this.c=new bne(r,h,u(this.q,402))):this.c=new gGt(e,this),le(o,this.c),Ule(o,this.e),this.s=fxn(this.k)}function D4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(M=u(xj((h=ei(new Lp(e).a.d,0),new Ex(h))),86),G=M?u(Q(M,(fc(),Rht)),86):null,s=1;M&&G;){for(v=0,Rt=0,n=M,r=G,d=0;d=t.i?(++t.i,le(t.a,pe(1)),le(t.b,C)):(r=t.c[e.p][1],ch(t.a,k,pe(u(Ne(t.a,k),19).a+1-r)),ch(t.b,k,Xt(ye(Ne(t.b,k)))+C-r*t.e)),(t.q==(y4(),FO)&&(u(Ne(t.a,k),19).a>t.j||u(Ne(t.a,k-1),19).a>t.j)||t.q==NO&&(Xt(ye(Ne(t.b,k)))>t.k||Xt(ye(Ne(t.b,k-1)))>t.k))&&(v=!1),h=new ar(lr(jo(e).a.Kc(),new z));zr(h);)o=u(Mr(h),17),d=o.c.i,t.f[d.p]==k&&(M=fhe(t,d),s=s+u(M.a,19).a,v=v&&je(Re(M.b)));return t.f[e.p]=k,s=s+t.c[e.p][0],new fa(pe(s),(Nn(),!!v))}function Txt(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(M=new _r,h=new he,Poe(t,n,t.d.fg(),h,M),Poe(t,r,t.d.gg(),h,M),t.b=.2*(K=Ece(Wo(new Tn(null,new _n(h,16)),new eZ)),tt=Ece(Wo(new Tn(null,new _n(h,16)),new nZ)),b.Math.min(K,tt)),o=0,d=0;d=2&&(gt=Gce(h,!0,j),!t.e&&(t.e=new K$t(t)),ufn(t.e,gt,h,t.b)),Cae(h,j),W4n(h),H=-1,C=new S(h);C.ad)}function O4n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K;for(n=u(Q(t,(Te(),cs)),98),h=t.f,o=t.d,d=h.a+o.b+o.c,v=0-o.d-t.c.b,C=h.b+o.d+o.a-t.c.b,k=new he,M=new he,s=new S(e);s.a0),u(C.a.Xb(C.c=--C.b),17));o!=r&&C.b>0;)t.a[o.p]=!0,t.a[r.p]=!0,o=(Zn(C.b>0),u(C.a.Xb(C.c=--C.b),17));C.b>0&&Cl(C)}}function bhe(t,e,n){var r,s,o,h,d,v,k,C,M;if(t.a!=e.Aj())throw it(new Fn(QE+e.ne()+Cv));if(r=$g(($u(),ya),e).$k(),r)return r.Aj().Nh().Ih(r,n);if(h=$g(ya,e).al(),h){if(n==null)return null;if(d=u(n,15),d.dc())return"";for(M=new Ag,o=d.Kc();o.Ob();)s=o.Pb(),go(M,h.Aj().Nh().Ih(h,s)),M.a+=" ";return int(M,M.a.length-1)}if(C=$g(ya,e).bl(),!C.dc()){for(k=C.Kc();k.Ob();)if(v=u(k.Pb(),148),v.wj(n))try{if(M=v.Aj().Nh().Ih(v,n),M!=null)return M}catch(j){if(j=Wi(j),!_t(j,102))throw it(j)}throw it(new Fn("Invalid value: '"+n+"' for datatype :"+e.ne()))}return u(e,834).Fj(),n==null?null:_t(n,172)?""+u(n,172).a:ol(n)==tV?VUt(aA[0],u(n,199)):$o(n)}function j4n(t){var e,n,r,s,o,h,d,v,k,C;for(k=new Zi,d=new Zi,o=new S(t);o.a-1){for(s=ei(d,0);s.b!=s.d.c;)r=u(ti(s),128),r.v=h;for(;d.b!=0;)for(r=u(Dst(d,0),128),n=new S(r.i);n.a0&&(n+=v.n.a+v.o.a/2,++M),G=new S(v.j);G.a0&&(n/=M),gt=Nt(aa,vo,25,r.a.c.length,15,1),d=0,k=new S(r.a);k.a=d&&s<=v)d<=s&&o<=v?r+=2:d<=s?(t.b[r]=v+1,h+=2):o<=v?(n[C++]=s,n[C++]=d-1,r+=2):(n[C++]=s,n[C++]=d-1,t.b[r]=v+1,h+=2);else if(v0?s-=864e5:s+=864e5,v=new X2t(Pa(Tu(e.q.getTime()),s))),C=new Im,k=t.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(h=o+1;h=k)throw it(new Fn("Missing trailing '"));h+10&&n.c==0&&(!e&&(e=new he),e.c[e.c.length]=n);if(e)for(;e.c.length!=0;){if(n=u(Fg(e,0),233),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new he),new S(n.b));o.aRo(t,n,0))return new fa(s,n)}else if(Xt(E1(s.g,s.d[0]).a)>Xt(E1(n.g,n.d[0]).a))return new fa(s,n)}for(d=(!n.e&&(n.e=new he),n.e).Kc();d.Ob();)h=u(d.Pb(),233),v=(!h.b&&(h.b=new he),h.b),Km(0,v.c.length),XC(v.c,0,n),h.c==v.c.length&&(e.c[e.c.length]=h)}return null}function xhe(t,e){var n,r,s,o,h,d,v,k,C;if(t==null)return _u;if(v=e.a.zc(t,e),v!=null)return"[...]";for(n=new f2(Ya,"[","]"),s=t,o=0,h=s.length;o=14&&C<=16))?e.a._b(r)?(n.a?Gr(n.a,n.b):n.a=new Ol(n.d),h9(n.a,"[...]")):(d=u2(r),k=new E9(e),$0(n,xhe(d,k))):_t(r,177)?$0(n,Npn(u(r,177))):_t(r,190)?$0(n,C0n(u(r,190))):_t(r,195)?$0(n,Fgn(u(r,195))):_t(r,2012)?$0(n,_0n(u(r,2012))):_t(r,48)?$0(n,Fpn(u(r,48))):_t(r,364)?$0(n,Kpn(u(r,364))):_t(r,832)?$0(n,Ppn(u(r,832))):_t(r,104)&&$0(n,Opn(u(r,104))):$0(n,r==null?_u:$o(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function khe(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(d=x4(e,!1,!1),gt=lI(d),r&&(gt=qD(gt)),St=Xt(ye(qe(e,(o_(),Qut)))),tt=(Zn(gt.b!=0),u(gt.a.a.c,8)),M=u(Zf(gt,1),8),gt.b>2?(C=new he,Ls(C,new Qd(gt,1,gt.b)),o=efe(C,St+t.a),Mt=new nat(o),Mo(Mt,e),n.c[n.c.length]=Mt):r?Mt=u(tr(t.b,e0(e)),266):Mt=u(tr(t.b,tb(e)),266),v=e0(e),r&&(v=tb(e)),h=epn(tt,v),k=St+t.a,h.a?(k+=b.Math.abs(tt.b-M.b),K=new $e(M.a,(M.b+tt.b)/2)):(k+=b.Math.abs(tt.a-M.a),K=new $e((M.a+tt.a)/2,M.b)),r?ki(t.d,e,new K3t(Mt,h,K,k)):ki(t.c,e,new K3t(Mt,h,K,k)),ki(t.b,e,Mt),G=(!e.n&&(e.n=new fe(qo,e,1,7)),e.n),H=new nr(G);H.e!=H.i.gc();)j=u(dr(H),137),s=xI(t,j,!0,0,0),n.c[n.c.length]=s}function W4n(t){var e,n,r,s,o,h,d,v,k,C;for(k=new he,d=new he,h=new S(t);h.a-1){for(o=new S(d);o.a0)&&(aR(v,b.Math.min(v.o,s.o-1)),TC(v,v.i-1),v.i==0&&(d.c[d.c.length]=v))}}function PE(t,e,n){var r,s,o,h,d,v,k;if(k=t.c,!e&&(e=oLt),t.c=e,t.Db&4&&!(t.Db&1)&&(v=new Js(t,1,2,k,t.c),n?n.Ei(v):n=v),k!=e){if(_t(t.Cb,284))t.Db>>16==-10?n=u(t.Cb,284).nk(e,n):t.Db>>16==-15&&(!e&&(e=(dn(),W1)),!k&&(k=(dn(),W1)),t.Cb.nh()&&(v=new z0(t.Cb,1,13,k,e,Hg(al(u(t.Cb,59)),t),!1),n?n.Ei(v):n=v));else if(_t(t.Cb,88))t.Db>>16==-23&&(_t(e,88)||(e=(dn(),Kh)),_t(k,88)||(k=(dn(),Kh)),t.Cb.nh()&&(v=new z0(t.Cb,1,10,k,e,Hg(Lc(u(t.Cb,26)),t),!1),n?n.Ei(v):n=v));else if(_t(t.Cb,444))for(d=u(t.Cb,836),h=(!d.b&&(d.b=new mR(new aet)),d.b),o=(r=new p2(new Cg(h.a).a),new yR(r));o.a.b;)s=u(Zw(o.a).cd(),87),n=PE(s,vq(s,d),n)}return n}function Y4n(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(h=je(Re(qe(t,(Te(),Hy)))),j=u(qe(t,Gy),21),v=!1,k=!1,M=new nr((!t.c&&(t.c=new fe(gl,t,9,9)),t.c));M.e!=M.i.gc()&&(!v||!k);){for(o=u(dr(M),118),d=0,s=zp(D1(lt(ct(j1,1),De,20,0,[(!o.d&&(o.d=new Cn(Ys,o,8,5)),o.d),(!o.e&&(o.e=new Cn(Ys,o,7,4)),o.e)])));zr(s)&&(r=u(Mr(s),79),C=h&&fv(r)&&je(Re(qe(r,j2))),n=Jle((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),o)?t==es(Do(u(At((!r.c&&(r.c=new Cn(br,r,5,8)),r.c),0),82))):t==es(Do(u(At((!r.b&&(r.b=new Cn(br,r,4,7)),r.b),0),82))),!((C||n)&&(++d,d>1))););(d>0||j.Hc((Zu(),sg))&&(!o.n&&(o.n=new fe(qo,o,1,7)),o.n).i>0)&&(v=!0),d>1&&(k=!0)}v&&e.Fc((oo(),vh)),k&&e.Fc((oo(),yS))}function Ehe(t){var e,n,r,s,o,h,d,v,k,C,M,j;if(j=u(qe(t,(ui(),G2)),21),j.dc())return null;if(d=0,h=0,j.Hc((Al(),oP))){for(C=u(qe(t,KS),98),r=2,n=2,s=2,o=2,e=es(t)?u(qe(es(t),qv),103):u(qe(t,qv),103),k=new nr((!t.c&&(t.c=new fe(gl,t,9,9)),t.c));k.e!=k.i.gc();)if(v=u(dr(k),118),M=u(qe(v,u5),61),M==(ve(),Zo)&&(M=uxt(v,e),wo(v,u5,M)),C==(ua(),Gc))switch(M.g){case 1:r=b.Math.max(r,v.i+v.g);break;case 2:n=b.Math.max(n,v.j+v.f);break;case 3:s=b.Math.max(s,v.i+v.g);break;case 4:o=b.Math.max(o,v.j+v.f)}else switch(M.g){case 1:r+=v.g+2;break;case 2:n+=v.f+2;break;case 3:s+=v.g+2;break;case 4:o+=v.f+2}d=b.Math.max(r,s),h=b.Math.max(n,o)}return wv(t,d,h,!0,!0)}function Rat(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;for(Mt=u(Bl(ez(Ri(new Tn(null,new _n(e.d,16)),new t8(n)),new lM(n)),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)]))),15),M=wi,C=Sa,v=new S(e.b.j);v.a0,k?k&&(j=gt.p,h?++j:--j,M=u(Ne(gt.c.a,j),10),r=gre(M),H=!(cat(r,ue,n[0])||UKt(r,ue,n[0]))):H=!0),G=!1,Kt=e.D.i,Kt&&Kt.c&&d.e&&(C=h&&Kt.p>0||!h&&Kt.p0&&(e.a+=Ya),Nq(u(dr(d),160),e);for(e.a+=Uot,v=new Nx((!r.c&&(r.c=new Cn(br,r,5,8)),r.c));v.e!=v.i.gc();)v.e>0&&(e.a+=Ya),Nq(u(dr(v),160),e);e.a+=")"}}function t5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;if(o=u(Q(t,(ae(),_i)),79),!!o){for(r=t.a,s=new xo(n),Li(s,Vdn(t)),J8(t.d.i,t.c.i)?(j=t.c,M=Yo(lt(ct(Ws,1),ee,8,0,[j.n,j.a])),ia(M,n)):M=_1(t.c),fs(r,M,r.a,r.a.a),H=_1(t.d),Q(t,Qlt)!=null&&Li(H,u(Q(t,Qlt),8)),fs(r,H,r.c.b,r.c),ny(r,s),h=x4(o,!0,!0),uz(h,u(At((!o.b&&(o.b=new Cn(br,o,4,7)),o.b),0),82)),lz(h,u(At((!o.c&&(o.c=new Cn(br,o,5,8)),o.c),0),82)),CI(r,h),C=new S(t.b);C.a=0){for(v=null,d=new da(C.a,k+1);d.bh?1:Iw(isNaN(0),isNaN(h)))<0&&(wf(_d),(b.Math.abs(h-1)<=_d||h==1||isNaN(h)&&isNaN(1)?0:h<1?-1:h>1?1:Iw(isNaN(h),isNaN(1)))<0)&&(wf(_d),(b.Math.abs(0-d)<=_d||d==0||isNaN(0)&&isNaN(d)?0:0d?1:Iw(isNaN(0),isNaN(d)))<0)&&(wf(_d),(b.Math.abs(d-1)<=_d||d==1||isNaN(d)&&isNaN(1)?0:d<1?-1:d>1?1:Iw(isNaN(d),isNaN(1)))<0)),o)}function n5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue;for(M=new Svt(new Dt(t));M.b!=M.c.a.d;)for(C=Ate(M),d=u(C.d,56),e=u(C.e,56),h=d.Tg(),K=0,Rt=(h.i==null&&vd(h),h.i).length;K=0&&K=k.c.c.length?C=omt((Vn(),Os),ta):C=omt((Vn(),ta),ta),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),h=n.b.g,n.b.g=b.Math.max(h,h+(C-h)),s=e}}function s5n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(Kt=VYt(t),C=new he,d=t.c.length,M=d-1,j=d+1;Kt.a.c!=0;){for(;n.b!=0;)St=(Zn(n.b!=0),u(lh(n,n.a.a),112)),P9(Kt.a,St)!=null,St.g=M--,lxt(St,e,n,r);for(;e.b!=0;)Rt=(Zn(e.b!=0),u(lh(e,e.a.a),112)),P9(Kt.a,Rt)!=null,Rt.g=j++,lxt(Rt,e,n,r);for(k=Sa,gt=(h=new y9(new w9(new y(Kt.a).a).b),new g(h));TM(gt.a.a);){if(tt=(o=Lj(gt.a),u(o.cd(),112)),!r&&tt.b>0&&tt.a<=0){C.c=Nt(Qn,De,1,0,5,1),C.c[C.c.length]=tt;break}K=tt.i-tt.d,K>=k&&(K>k&&(C.c=Nt(Qn,De,1,0,5,1),k=K),C.c[C.c.length]=tt)}C.c.length!=0&&(v=u(Ne(C,Zz(s,C.c.length)),112),P9(Kt.a,v)!=null,v.g=j++,lxt(v,e,n,r),C.c=Nt(Qn,De,1,0,5,1))}for(Mt=t.c.length+1,G=new S(t);G.a0&&(j.d+=C.n.d,j.d+=C.d),j.a>0&&(j.a+=C.n.a,j.a+=C.d),j.b>0&&(j.b+=C.n.b,j.b+=C.d),j.c>0&&(j.c+=C.n.c,j.c+=C.d),j}function Che(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G;for(j=n.d,M=n.c,o=new $e(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),h=o.b,k=new S(t.a);k.a0&&(t.c[e.c.p][e.p].d+=ul(t.i,24)*$I*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}function d5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(G=new S(t);G.ar.d,r.d=b.Math.max(r.d,e),d&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+s);break;case 3:n=e>r.a,r.a=b.Math.max(r.a,e),d&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+s);break;case 2:n=e>r.c,r.c=b.Math.max(r.c,e),d&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+s);break;case 4:n=e>r.b,r.b=b.Math.max(r.b,e),d&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+s)}}}function w5n(t){var e,n,r,s,o,h,d,v,k,C,M;for(k=new S(t);k.a0||C.j==Bn&&C.e.c.length-C.g.c.length<0)){e=!1;break}for(s=new S(C.g);s.a=k&&Kt>=tt&&(j+=G.n.b+K.n.b+K.a.b-Rt,++d));if(n)for(h=new S(Mt.e);h.a=k&&Kt>=tt&&(j+=G.n.b+K.n.b+K.a.b-Rt,++d))}d>0&&(ue+=j/d,++H)}H>0?(e.a=s*ue/H,e.g=H):(e.a=0,e.g=0)}function m5n(t,e){var n,r,s,o,h,d,v,k,C,M,j;for(s=new S(t.a.b);s.aCs||e.o==H2&&C0&&ku(gt,Rt*ue),Kt>0&&Eu(gt,Kt*_e);for(K9(t.b,new hw),e=new he,d=new p2(new Cg(t.c).a);d.b;)h=Zw(d),r=u(h.cd(),79),n=u(h.dd(),395).a,s=x4(r,!1,!1),M=_ae(e0(r),lI(s),n),CI(M,s),St=Rae(r),St&&Ro(e,St,0)==-1&&(e.c[e.c.length]=St,VXt(St,(Zn(M.b!=0),u(M.a.a.c,8)),n));for(tt=new p2(new Cg(t.d).a);tt.b;)K=Zw(tt),r=u(K.cd(),79),n=u(K.dd(),395).a,s=x4(r,!1,!1),M=_ae(tb(r),qD(lI(s)),n),M=qD(M),CI(M,s),St=jae(r),St&&Ro(e,St,0)==-1&&(e.c[e.c.length]=St,VXt(St,(Zn(M.b!=0),u(M.c.b.c,8)),n))}function Ahe(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e;if(n.c.length!=0){for(H=new he,j=new S(n);j.a1)for(H=new vxt(G,St,r),va(St,new xGt(t,H)),h.c[h.c.length]=H,M=St.a.ec().Kc();M.Ob();)C=u(M.Pb(),46),mu(o,C.b);if(d.a.gc()>1)for(H=new vxt(G,d,r),va(d,new kGt(t,H)),h.c[h.c.length]=H,M=d.a.ec().Kc();M.Ob();)C=u(M.Pb(),46),mu(o,C.b)}}function Mhe(t){Mw(t,new k2(MR(_w(Ew(Cw(Tw(new kg,Sd),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new dZ),Sd))),xe(t,Sd,yH,Ie(Qye)),xe(t,Sd,Cy,Ie(Zye)),xe(t,Sd,D4,Ie(Wye)),xe(t,Sd,C6,Ie(Yye)),xe(t,Sd,T6,Ie(Kye)),xe(t,Sd,UE,Ie(Uye)),xe(t,Sd,j_,Ie(L_t)),xe(t,Sd,WE,Ie(Xye)),xe(t,Sd,Pct,Ie(Wht)),xe(t,Sd,Oct,Ie(Yht)),xe(t,Sd,Zkt,Ie(M_t)),xe(t,Sd,Ykt,Ie(BG)),xe(t,Sd,Kkt,Ie(RG)),xe(t,Sd,Xkt,Ie(qO)),xe(t,Sd,Qkt,Ie(D_t))}function Sxt(t){var e;if(this.r=nrn(new bc,new Cc),this.b=new i_(u(Lr(Xa),290)),this.p=new i_(u(Lr(Xa),290)),this.i=new i_(u(Lr($pe),290)),this.e=t,this.o=new xo(t.rf()),this.D=t.Df()||je(Re(t.We((ui(),ZO)))),this.A=u(t.We((ui(),G2)),21),this.B=u(t.We(xb),21),this.q=u(t.We(KS),98),this.u=u(t.We(Qy),21),!ugn(this.u))throw it(new R3("Invalid port label placement: "+this.u));if(this.v=je(Re(t.We(uAt))),this.j=u(t.We(o5),21),!O2n(this.j))throw it(new R3("Invalid node label placement: "+this.j));this.n=u(l_(t,XSt),116),this.k=Xt(ye(l_(t,JG))),this.d=Xt(ye(l_(t,dAt))),this.w=Xt(ye(l_(t,vAt))),this.s=Xt(ye(l_(t,gAt))),this.t=Xt(ye(l_(t,pAt))),this.C=u(l_(t,bAt),142),this.c=2*this.d,e=!this.B.Hc((ll(),cP)),this.f=new a_(0,e,0),this.g=new a_(1,e,0),het(this.f,(Kf(),eu),this.g)}function A5n(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;for(St=0,G=0,H=0,j=1,Mt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));Mt.e!=Mt.i.gc();)tt=u(dr(Mt),33),j+=j0(new ar(lr(K0(tt).a.Kc(),new z))),We=tt.g,G=b.Math.max(G,We),M=tt.f,H=b.Math.max(H,M),St+=We*M;for(K=(!t.a&&(t.a=new fe(rs,t,10,11)),t.a).i,h=St+2*r*r*j*K,o=b.Math.sqrt(h),v=b.Math.max(o*n,G),d=b.Math.max(o/n,H),gt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));gt.e!=gt.i.gc();)tt=u(dr(gt),33),Qe=s.b+(ul(e,26)*I_+ul(e,27)*O_)*(v-tt.g),Rn=s.b+(ul(e,26)*I_+ul(e,27)*O_)*(d-tt.f),ku(tt,Qe),Eu(tt,Rn);for(_e=v+(s.b+s.c),ue=d+(s.d+s.a),Kt=new nr((!t.a&&(t.a=new fe(rs,t,10,11)),t.a));Kt.e!=Kt.i.gc();)for(Rt=u(dr(Kt),33),C=new ar(lr(K0(Rt).a.Kc(),new z));zr(C);)k=u(Mr(C),79),w_(k)||Lxn(k,e,_e,ue);_e+=s.b+s.c,ue+=s.d+s.a,wv(t,_e,ue,!1,!0)}function Rq(t){var e,n,r,s,o,h,d,v,k,C,M;if(t==null)throw it(new ld(_u));if(k=t,o=t.length,v=!1,o>0&&(e=(Rr(0,t.length),t.charCodeAt(0)),(e==45||e==43)&&(t=t.substr(1),--o,v=e==45)),o==0)throw it(new ld(yv+k+'"'));for(;t.length>0&&(Rr(0,t.length),t.charCodeAt(0)==48);)t=t.substr(1),--o;if(o>(vle(),$ge)[10])throw it(new ld(yv+k+'"'));for(s=0;s0&&(M=-parseInt(t.substr(0,r),10),t=t.substr(r),o-=r,n=!1);o>=h;){if(r=parseInt(t.substr(0,h),10),t=t.substr(h),o-=h,n)n=!1;else{if(yc(M,d)<0)throw it(new ld(yv+k+'"'));M=_a(M,C)}M=Jp(M,r)}if(yc(M,0)>0)throw it(new ld(yv+k+'"'));if(!v&&(M=z8(M),yc(M,0)<0))throw it(new ld(yv+k+'"'));return M}function Axt(t,e){oKt();var n,r,s,o,h,d,v;if(this.a=new v2t(this),this.b=t,this.c=e,this.f=Xnt(To(($u(),ya),e)),this.f.dc())if((d=d4t(ya,t))==e)for(this.e=!0,this.d=new he,this.f=new Ok,this.f.Fc(O2),u(Pq(TD(ya,Rl(t)),""),26)==t&&this.f.Fc(C9(ya,Rl(t))),s=vat(ya,t).Kc();s.Ob();)switch(r=u(s.Pb(),170),Hw(To(ya,r))){case 4:{this.d.Fc(r);break}case 5:{this.f.Gc(Xnt(To(ya,r)));break}}else if(to(),u(e,66).Oj())for(this.e=!0,this.f=null,this.d=new he,h=0,v=(t.i==null&&vd(t),t.i).length;h=0&&h0&&(u(po(t.b,e),124).a.b=n)}function L5n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(vr(e,"Comment pre-processing",1),n=0,v=new S(t.a);v.a0&&(v=(Rr(0,e.length),e.charCodeAt(0)),v!=64)){if(v==37&&(M=e.lastIndexOf("%"),k=!1,M!=0&&(M==j-1||(k=(Rr(M+1,e.length),e.charCodeAt(M+1)==46))))){if(h=e.substr(1,M-1),St=hn("%",h)?null:Mxt(h),r=0,k)try{r=ql(e.substr(M+2),Sa,wi)}catch(Rt){throw Rt=Wi(Rt),_t(Rt,127)?(d=Rt,it(new W$(d))):it(Rt)}for(tt=lyt(t.Wg());tt.Ob();)if(G=kz(tt),_t(G,510)&&(s=u(G,590),Mt=s.d,(St==null?Mt==null:hn(St,Mt))&&r--==0))return s;return null}if(C=e.lastIndexOf("."),H=C==-1?e:e.substr(0,C),n=0,C!=-1)try{n=ql(e.substr(C+1),Sa,wi)}catch(Rt){if(Rt=Wi(Rt),_t(Rt,127))H=e;else throw it(Rt)}for(H=hn("%",H)?null:Mxt(H),K=lyt(t.Wg());K.Ob();)if(G=kz(K),_t(G,191)&&(o=u(G,191),gt=o.ne(),(H==null?gt==null:hn(H,gt))&&n--==0))return o;return null}return ehe(t,e)}function I5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn;for(ue=new he,G=new S(t.b);G.a=e.length)return{done:!0};var s=e[r++];return{value:[s,n.get(s)],done:!1}}}},Bvn()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(e){return this.obj[":"+e]},t.prototype.set=function(e,n){this.obj[":"+e]=n},t.prototype[kot]=function(e){delete this.obj[":"+e]},t.prototype.keys=function(){var e=[];for(var n in this.obj)n.charCodeAt(0)==58&&e.push(n.substring(1));return e}),t}function P5n(t){cxt();var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(t==null)return null;if(M=t.length*8,M==0)return"";for(d=M%24,H=M/24|0,j=d!=0?H+1:H,o=null,o=Nt(xh,yd,25,j*4,15,1),k=0,C=0,e=0,n=0,r=0,h=0,s=0,v=0;v>24,k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,K=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,tt=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[h++]=lp[G],o[h++]=lp[K|k<<4],o[h++]=lp[C<<2|tt],o[h++]=lp[r&63];return d==8?(e=t[s],k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,o[h++]=lp[G],o[h++]=lp[k<<4],o[h++]=61,o[h++]=61):d==16&&(e=t[s],n=t[s+1],C=(n&15)<<24>>24,k=(e&3)<<24>>24,G=e&-128?(e>>2^192)<<24>>24:e>>2<<24>>24,K=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[h++]=lp[G],o[h++]=lp[K|k<<4],o[h++]=lp[C<<2],o[h++]=61),Mh(o,0,o.length)}function F5n(t,e){var n,r,s,o,h,d,v;if(t.e==0&&t.p>0&&(t.p=-(t.p-1)),t.p>Sa&&umt(e,t.p-ab),h=e.q.getDate(),oD(e,1),t.k>=0&&win(e,t.k),t.c>=0?oD(e,t.c):t.k>=0?(v=new Myt(e.q.getFullYear()-ab,e.q.getMonth(),35),r=35-v.q.getDate(),oD(e,b.Math.min(r,h))):oD(e,h),t.f<0&&(t.f=e.q.getHours()),t.b>0&&t.f<12&&(t.f+=12),AQe(e,t.f==24&&t.g?0:t.f),t.j>=0&&Aan(e,t.j),t.n>=0&&Uan(e,t.n),t.i>=0&&aUt(e,Pa(_a(aI(Tu(e.q.getTime()),Wg),Wg),t.i)),t.a&&(s=new BR,umt(s,s.q.getFullYear()-ab-80),Cet(Tu(e.q.getTime()),Tu(s.q.getTime()))&&umt(e,s.q.getFullYear()-ab+100)),t.d>=0){if(t.c==-1)n=(7+t.d-e.q.getDay())%7,n>3&&(n-=7),d=e.q.getMonth(),oD(e,e.q.getDate()+n),e.q.getMonth()!=d&&oD(e,e.q.getDate()+(n>0?-7:7));else if(e.q.getDay()!=t.d)return!1}return t.o>Sa&&(o=e.q.getTimezoneOffset(),aUt(e,Pa(Tu(e.q.getTime()),(t.o-o)*60*Wg))),!0}function Ohe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(s=Q(e,(ae(),_i)),!!_t(s,239)){for(G=u(s,33),K=e.e,j=new xo(e.c),o=e.d,j.a+=o.b,j.b+=o.d,Rt=u(qe(G,(Te(),pG)),174),Nu(Rt,(ll(),nU))&&(H=u(qe(G,d9t),116),cpt(H,o.a),Mtt(H,o.d),upt(H,o.b),gpt(H,o.c)),n=new he,C=new S(e.a);C.a0&&le(t.p,C),le(t.o,C);e-=r,H=v+e,k+=e*t.e,ch(t.a,d,pe(H)),ch(t.b,d,k),t.j=b.Math.max(t.j,H),t.k=b.Math.max(t.k,k),t.d+=e,e+=K}}function ve(){ve=Z;var t;Zo=new NM(N_,0),Pn=new NM(Kq,1),Hn=new NM(Iot,2),mr=new NM(Oot,3),Bn=new NM(Pot,4),U1=(wn(),new s8((t=u(Vf(Xa),9),new sh(t,u(ff(t,t.length),9),0)))),Mf=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[]))),mh=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[]))),Kl=jg(ji(mr,lt(ct(Xa,1),xc,61,0,[]))),Vh=jg(ji(Bn,lt(ct(Xa,1),xc,61,0,[]))),Au=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[mr]))),lu=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[Bn]))),Df=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Bn]))),el=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn]))),Xl=jg(ji(mr,lt(ct(Xa,1),xc,61,0,[Bn]))),yh=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[mr]))),nl=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,Bn]))),Su=jg(ji(Hn,lt(ct(Xa,1),xc,61,0,[mr,Bn]))),Lu=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[mr,Bn]))),Vu=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,mr]))),Uc=jg(ji(Pn,lt(ct(Xa,1),xc,61,0,[Hn,mr,Bn])))}function Bhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;if(e.b!=0){for(H=new Zi,d=null,G=null,r=ps(b.Math.floor(b.Math.log(e.b)*b.Math.LOG10E)+1),v=0,St=ei(e,0);St.b!=St.d.c;)for(gt=u(ti(St),86),Vt(G)!==Vt(Q(gt,(fc(),zS)))&&(G=Br(Q(gt,zS)),v=0),G!=null?d=G+iZt(v++,r):d=iZt(v++,r),Jt(gt,zS,d),tt=(s=ei(new Lp(gt).a.d,0),new Ex(s));OR(tt.a);)K=u(ti(tt.a),188).c,fs(H,K,H.c.b,H.c),Jt(K,zS,d);for(j=new _r,h=0;h=v){Zn(gt.b>0),gt.a.Xb(gt.c=--gt.b);break}else K.a>k&&(s?(Ls(s.b,K.b),s.a=b.Math.max(s.a,K.a),Cl(gt)):(le(K.b,M),K.c=b.Math.min(K.c,k),K.a=b.Math.max(K.a,v),s=K));s||(s=new kqt,s.c=k,s.a=v,zm(gt,s),le(s.b,M))}for(d=e.b,C=0,tt=new S(r);tt.ad?1:0:(t.b&&(t.b._b(o)&&(s=u(t.b.xc(o),19).a),t.b._b(v)&&(d=u(t.b.xc(v),19).a)),sd?1:0)):e.e.c.length!=0&&n.g.c.length!=0?1:-1}function j5n(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e;for(vr(e,S1e,1),K=new he,ue=new he,k=new S(t.b);k.a0&&(St-=H),mxt(h,St),C=0,j=new S(h.a);j.a0),d.a.Xb(d.c=--d.b)),v=.4*r*C,!o&&d.be.d.c){if(H=t.c[e.a.d],tt=t.c[M.a.d],H==tt)continue;yf(lf(uf(hf(cf(new Ch,1),100),H),tt))}}}}}function Mxt(t){Fat();var e,n,r,s,o,h,d,v;if(t==null)return null;if(s=hd(t,Cu(37)),s<0)return t;for(v=new Ol(t.substr(0,s)),e=Nt(Gu,N4,25,4,15,1),d=0,r=0,h=t.length;ss+2&&Sit((Rr(s+1,t.length),t.charCodeAt(s+1)),tLt,eLt)&&Sit((Rr(s+2,t.length),t.charCodeAt(s+2)),tLt,eLt))if(n=fen((Rr(s+1,t.length),t.charCodeAt(s+1)),(Rr(s+2,t.length),t.charCodeAt(s+2))),s+=2,r>0?(n&192)==128?e[d++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(e[d++]=n<<24>>24,r=2):(n&240)==224?(e[d++]=n<<24>>24,r=3):(n&248)==240&&(e[d++]=n<<24>>24,r=4)),r>0){if(d==r){switch(d){case 2:{qp(v,((e[0]&31)<<6|e[1]&63)&ys);break}case 3:{qp(v,((e[0]&15)<<12|(e[1]&63)<<6|e[2]&63)&ys);break}}d=0,r=0}}else{for(o=0;o0){if(h+r>t.length)return!1;d=gq(t.substr(0,h+r),e)}else d=gq(t,e);switch(o){case 71:return d=w4(t,h,lt(ct(Ae,1),ee,2,6,[mfe,yfe]),e),s.e=d,!0;case 77:return _vn(t,e,s,d,h);case 76:return Svn(t,e,s,d,h);case 69:return vpn(t,e,h,s);case 99:return mpn(t,e,h,s);case 97:return d=w4(t,h,lt(ct(Ae,1),ee,2,6,["AM","PM"]),e),s.b=d,!0;case 121:return Avn(t,e,h,d,n,s);case 100:return d<=0?!1:(s.c=d,!0);case 83:return d<0?!1:Ihn(d,h,e[0],s);case 104:d==12&&(d=0);case 75:case 72:return d<0?!1:(s.f=d,s.g=!1,!0);case 107:return d<0?!1:(s.f=d,s.g=!0,!0);case 109:return d<0?!1:(s.j=d,!0);case 115:return d<0?!1:(s.n=d,!0);case 90:if(hue&&(G.c=ue-G.b),le(h.d,new Hnt(G,a3t(h,G))),Mt=e==Pn?b.Math.max(Mt,K.b+k.b.rf().b):b.Math.min(Mt,K.b));for(Mt+=e==Pn?t.t:-t.t,St=k3t((h.e=Mt,h)),St>0&&(u(po(t.b,e),124).a.b=St),C=j.Kc();C.Ob();)k=u(C.Pb(),111),!(!k.c||k.c.d.c.length<=0)&&(G=k.c.i,G.c-=k.e.a,G.d-=k.e.b)}function U5n(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;for(e=new _r,v=new nr(t);v.e!=v.i.gc();){for(d=u(dr(v),33),n=new Hs,ki(Jut,d,n),H=new bm,s=u(Bl(new Tn(null,new jw(new ar(lr(wI(d).a.Kc(),new z)))),LKt(H,c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[(O1(),Ul)])))),83),Zee(n,u(s.xc((Nn(),!0)),14),new Ek),r=u(Bl(Ri(u(s.xc(!1),15).Lc(),new E3),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul]))),15),h=r.Kc();h.Ob();)o=u(h.Pb(),79),j=Rae(o),j&&(k=u(ec(Lo(e.f,j)),21),k||(k=iue(j),au(e.f,j,k)),Ua(n,k));for(s=u(Bl(new Tn(null,new jw(new ar(lr(K0(d).a.Kc(),new z)))),LKt(H,c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul])))),83),Zee(n,u(s.xc(!0),14),new Il),r=u(Bl(Ri(u(s.xc(!1),15).Lc(),new L0),c2(new ke,new ce,new Xn,lt(ct(fl,1),oe,132,0,[Ul]))),15),M=r.Kc();M.Ob();)C=u(M.Pb(),79),j=jae(C),j&&(k=u(ec(Lo(e.f,j)),21),k||(k=iue(j),au(e.f,j,k)),Ua(n,k))}}function W5n(t,e){Lat();var n,r,s,o,h,d,v,k,C,M,j,H,G,K;if(v=yc(t,0)<0,v&&(t=z8(t)),yc(t,0)==0)switch(e){case 0:return"0";case 1:return $E;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return H=new Mp,e<0?H.a+="0E+":H.a+="0E",H.a+=e==Sa?"2147483648":""+-e,H.a}C=18,M=Nt(xh,yd,25,C+1,15,1),n=C,K=t;do k=K,K=aI(K,10),M[--n]=Ar(Pa(48,Jp(k,_a(K,10))))&ys;while(yc(K,0)!=0);if(s=Jp(Jp(Jp(C,n),e),1),e==0)return v&&(M[--n]=45),Mh(M,n,C-n);if(e>0&&yc(s,-6)>=0){if(yc(s,0)>=0){for(o=n+Ar(s),d=C-1;d>=o;d--)M[d+1]=M[d];return M[++o]=46,v&&(M[--n]=45),Mh(M,n,C-n+1)}for(h=2;Cet(h,Pa(z8(s),1));h++)M[--n]=48;return M[--n]=46,M[--n]=48,v&&(M[--n]=45),Mh(M,n,C-n)}return G=n+1,r=C,j=new Im,v&&(j.a+="-"),r-G>=1?(qp(j,M[n]),j.a+=".",j.a+=Mh(M,n+1,C-n-1)):j.a+=Mh(M,n,C-n),j.a+="E",yc(s,0)>0&&(j.a+="+"),j.a+=""+_9(s),j.a}function Y5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H;if(t.e.a.$b(),t.f.a.$b(),t.c.c=Nt(Qn,De,1,0,5,1),t.i.c=Nt(Qn,De,1,0,5,1),t.g.a.$b(),e)for(h=new S(e.a);h.a=1&&(Kt-k>0&&G>=0?(ku(M,M.i+Rt),Eu(M,M.j+v*k)):Kt-k<0&&H>=0&&(ku(M,M.i+Rt*Kt),Eu(M,M.j+v)));return wo(t,(ui(),G2),(Al(),o=u(Vf(rA),9),new sh(o,u(ff(o,o.length),9),0))),new $e(ue,C)}function $he(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G;if(H=es(Do(u(At((!t.b&&(t.b=new Cn(br,t,4,7)),t.b),0),82))),G=es(Do(u(At((!t.c&&(t.c=new Cn(br,t,5,8)),t.c),0),82))),M=H==G,d=new Ca,e=u(qe(t,(Sz(),_At)),74),e&&e.b>=2){if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i==0)n=(Sw(),s=new ad,s),Dr((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),n);else if((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a).i>1)for(j=new Nx((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));j.e!=j.i.gc();)f_(j);CI(e,u(At((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),0),202))}if(M)for(r=new nr((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));r.e!=r.i.gc();)for(n=u(dr(r),202),k=new nr((!n.a&&(n.a=new As(Gh,n,5)),n.a));k.e!=k.i.gc();)v=u(dr(k),469),d.a=b.Math.max(d.a,v.a),d.b=b.Math.max(d.b,v.b);for(h=new nr((!t.n&&(t.n=new fe(qo,t,1,7)),t.n));h.e!=h.i.gc();)o=u(dr(h),137),C=u(qe(o,QS),8),C&&x1(o,C.a,C.b),M&&(d.a=b.Math.max(d.a,o.i+o.g),d.b=b.Math.max(d.b,o.j+o.f));return d}function K5n(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We;for(St=e.c.length,s=new E4(t.a,n,null,null),We=Nt(aa,vo,25,St,15,1),K=Nt(aa,vo,25,St,15,1),G=Nt(aa,vo,25,St,15,1),tt=0,d=0;dWe[v]&&(tt=v),M=new S(t.a.b);M.aH&&(o&&(Zb(ue,j),Zb(We,pe(k.b-1))),pi=n.b,js+=j+e,j=0,C=b.Math.max(C,n.b+n.c+hr)),ku(d,pi),Eu(d,js),C=b.Math.max(C,pi+hr+n.c),j=b.Math.max(j,M),pi+=hr+e;if(C=b.Math.max(C,r),zn=js+j+n.a,znEd,Qe=b.Math.abs(j.b-G.b)>Ed,(!n&&We&&Qe||n&&(We||Qe))&&ri(tt.a,Rt)),Ua(tt.a,r),r.b==0?j=Rt:j=(Zn(r.b!=0),u(r.c.b.c,8)),dun(H,M,K),Lne(s)==_e&&(Na(_e.i)!=s.a&&(K=new Ca,Y4t(K,Na(_e.i),Mt)),Jt(tt,Qlt,K)),Bgn(H,tt,Mt),C.a.zc(H,C);Oa(tt,Kt),oa(tt,_e)}for(k=C.a.ec().Kc();k.Ob();)v=u(k.Pb(),17),Oa(v,null),oa(v,null);or(e)}function zhe(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(t.gc()==1)return u(t.Xb(0),231);if(t.gc()<=0)return new B$;for(s=t.Kc();s.Ob();){for(n=u(s.Pb(),231),G=0,C=wi,M=wi,v=Sa,k=Sa,H=new S(n.e);H.ad&&(St=0,Rt+=h+gt,h=0),Fmn(K,n,St,Rt),e=b.Math.max(e,St+tt.a),h=b.Math.max(h,tt.b),St+=tt.a+gt;return K}function qhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G;switch(C=new Pu,t.a.g){case 3:j=u(Q(e.e,(ae(),R2)),15),H=u(Q(e.j,R2),15),G=u(Q(e.f,R2),15),n=u(Q(e.e,Z4),15),r=u(Q(e.j,Z4),15),s=u(Q(e.f,Z4),15),h=new he,Ls(h,j),H.Jc(new cQ),Ls(h,_t(H,152)?Zx(u(H,152)):_t(H,131)?u(H,131).a:_t(H,54)?new kw(H):new Om(H)),Ls(h,G),o=new he,Ls(o,n),Ls(o,_t(r,152)?Zx(u(r,152)):_t(r,131)?u(r,131).a:_t(r,54)?new kw(r):new Om(r)),Ls(o,s),Jt(e.f,R2,h),Jt(e.f,Z4,o),Jt(e.f,hCt,e.f),Jt(e.e,R2,null),Jt(e.e,Z4,null),Jt(e.j,R2,null),Jt(e.j,Z4,null);break;case 1:Ua(C,e.e.a),ri(C,e.i.n),Ua(C,l2(e.j.a)),ri(C,e.a.n),Ua(C,e.f.a);break;default:Ua(C,e.e.a),Ua(C,l2(e.j.a)),Ua(C,e.f.a)}Ah(e.f.a),Ua(e.f.a,C),Oa(e.f,e.e.c),d=u(Q(e.e,(Te(),So)),74),k=u(Q(e.j,So),74),v=u(Q(e.f,So),74),(d||k||v)&&(M=new Pu,wvt(M,v),wvt(M,k),wvt(M,d),Jt(e.f,So,M)),Oa(e.j,null),oa(e.j,null),Oa(e.e,null),oa(e.e,null),Eo(e.a,null),Eo(e.i,null),e.g&&qhe(t,e.g)}function J5n(t){cxt();var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;if(t==null||(o=K$(t),G=$ln(o),G%4!=0))return null;if(K=G/4|0,K==0)return Nt(Gu,N4,25,0,15,1);for(M=null,e=0,n=0,r=0,s=0,h=0,d=0,v=0,k=0,H=0,j=0,C=0,M=Nt(Gu,N4,25,K*3,15,1);H>4)<<24>>24,M[j++]=((n&15)<<4|r>>2&15)<<24>>24,M[j++]=(r<<6|s)<<24>>24}return!vM(h=o[C++])||!vM(d=o[C++])?null:(e=Y1[h],n=Y1[d],v=o[C++],k=o[C++],Y1[v]==-1||Y1[k]==-1?v==61&&k==61?n&15?null:(tt=Nt(Gu,N4,25,H*3+1,15,1),Dc(M,0,tt,0,H*3),tt[j]=(e<<2|n>>4)<<24>>24,tt):v!=61&&k==61?(r=Y1[v],r&3?null:(tt=Nt(Gu,N4,25,H*3+2,15,1),Dc(M,0,tt,0,H*3),tt[j++]=(e<<2|n>>4)<<24>>24,tt[j]=((n&15)<<4|r>>2&15)<<24>>24,tt)):null:(r=Y1[v],s=Y1[k],M[j++]=(e<<2|n>>4)<<24>>24,M[j++]=((n&15)<<4|r>>2&15)<<24>>24,M[j++]=(r<<6|s)<<24>>24,M))}function txn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(vr(e,S1e,1),G=u(Q(t,(Te(),eg)),218),s=new S(t.b);s.a=2){for(K=!0,j=new S(o.j),n=u(J(j),11),H=null;j.a0&&(s=u(Ne(tt.c.a,ue-1),10),h=t.i[s.p],We=b.Math.ceil(W3(t.n,s,tt)),o=Kt.a.e-tt.d.d-(h.a.e+s.o.b+s.d.a)-We),k=as,ue0&&_e.a.e.e-_e.a.a-(_e.b.e.e-_e.b.a)<0,G=St.a.e.e-St.a.a-(St.b.e.e-St.b.a)<0&&_e.a.e.e-_e.a.a-(_e.b.e.e-_e.b.a)>0,H=St.a.e.e+St.b.a<_e.b.e.e+_e.a.a,j=St.a.e.e+St.b.a>_e.b.e.e+_e.a.a,Rt=0,!K&&!G&&(j?o+M>0?Rt=M:k-r>0&&(Rt=r):H&&(o+d>0?Rt=d:k-Mt>0&&(Rt=Mt))),Kt.a.e+=Rt,Kt.b&&(Kt.d.e+=Rt),!1))}function Vhe(t,e,n){var r,s,o,h,d,v,k,C,M,j;if(r=new ah(e.qf().a,e.qf().b,e.rf().a,e.rf().b),s=new Fx,t.c)for(h=new S(e.wf());h.ak&&(r.a+=KUt(Nt(xh,yd,25,-k,15,1))),r.a+="Is",hd(v,Cu(32))>=0)for(s=0;s=r.o.b/2}else Mt=!M;Mt?(gt=u(Q(r,(ae(),z6)),15),gt?j?o=gt:(s=u(Q(r,N6),15),s?gt.gc()<=s.gc()?o=gt:o=s:(o=new he,Jt(r,N6,o))):(o=new he,Jt(r,z6,o))):(s=u(Q(r,(ae(),N6)),15),s?M?o=s:(gt=u(Q(r,z6),15),gt?s.gc()<=gt.gc()?o=s:o=gt:(o=new he,Jt(r,z6,o))):(o=new he,Jt(r,N6,o))),o.Fc(t),Jt(t,(ae(),ZV),n),e.d==n?(oa(e,null),n.e.c.length+n.g.c.length==0&&Uo(n,null),Yun(n)):(Oa(e,null),n.e.c.length+n.g.c.length==0&&Uo(n,null)),Ah(e.a)}function ixn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;for(Mt=new da(t.b,0),C=e.Kc(),G=0,k=u(C.Pb(),19).a,Kt=0,n=new Hs,_e=new O0;Mt.b=t.a&&(r=Hyn(t,Mt),C=b.Math.max(C,r.b),Rt=b.Math.max(Rt,r.d),le(d,new fa(Mt,r)));for(We=new he,k=0;k0),tt.a.Xb(tt.c=--tt.b),Qe=new Sh(t.b),zm(tt,Qe),Zn(tt.b0?(k=0,tt&&(k+=d),k+=(Qe-1)*h,St&&(k+=d),We&&St&&(k=b.Math.max(k,qwn(St,h,Mt,_e))),k0){for(j=C<100?null:new Dp(C),k=new gyt(e),G=k.g,gt=Nt(Cr,Xr,25,C,15,1),r=0,Rt=new Qw(C),s=0;s=0;)if(H!=null?yi(H,G[v]):Vt(H)===Vt(G[v])){gt.length<=r&&(tt=gt,gt=Nt(Cr,Xr,25,2*gt.length,15,1),Dc(tt,0,gt,0,r)),gt[r++]=s,Dr(Rt,G[v]);break t}if(H=H,Vt(H)===Vt(d))break}}if(k=Rt,G=Rt.g,C=r,r>gt.length&&(tt=gt,gt=Nt(Cr,Xr,25,r,15,1),Dc(tt,0,gt,0,r)),r>0){for(St=!0,o=0;o=0;)l6(t,gt[h]);if(r!=C){for(s=C;--s>=r;)l6(k,s);tt=gt,gt=Nt(Cr,Xr,25,r,15,1),Dc(tt,0,gt,0,r)}e=k}}}else for(e=$1n(t,e),s=t.i;--s>=0;)e.Hc(t.g[s])&&(l6(t,s),St=!0);if(St){if(gt!=null){for(n=e.gc(),M=n==1?F9(t,4,e.Kc().Pb(),null,gt[0],K):F9(t,6,e,gt,gt[0],K),j=n<100?null:new Dp(n),s=e.Kc();s.Ob();)H=s.Pb(),j=vwt(t,u(H,72),j);j?(j.Ei(M),j.Fi()):mi(t.e,M)}else{for(j=JZe(e.gc()),s=e.Kc();s.Ob();)H=s.Pb(),j=vwt(t,u(H,72),j);j&&j.Fi()}return!0}else return!1}function uxn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St;for(n=new vse(e),n.a||Umn(e),k=Wvn(e),v=new Uw,tt=new fue,K=new S(e.a);K.a0||n.o==H1&&s0?(M=u(Ne(j.c.a,h-1),10),We=W3(t.b,j,M),tt=j.n.b-j.d.d-(M.n.b+M.o.b+M.d.a+We)):tt=j.n.b-j.d.d,k=b.Math.min(tt,k),hh?LE(t,e,n):LE(t,n,e),sh?1:0}return r=u(Q(e,(ae(),Tc)),19).a,o=u(Q(n,Tc),19).a,r>o?LE(t,e,n):LE(t,n,e),ro?1:0}function Dxt(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt;if(je(Re(qe(e,(ui(),QG)))))return wn(),wn(),io;if(k=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i!=0,M=Qpn(e),C=!M.dc(),k||C){if(s=u(qe(e,O7),149),!s)throw it(new R3("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if(Mt=t2t(s,(CE(),lU)),Jie(e),!k&&C&&!Mt)return wn(),wn(),io;if(v=new he,Vt(qe(e,s5))===Vt((G0(),sp))&&(t2t(s,cU)||t2t(s,oU)))for(H=Fue(t,e),G=new Zi,Ua(G,(!e.a&&(e.a=new fe(rs,e,10,11)),e.a));G.b!=0;)j=u(G.b==0?null:(Zn(G.b!=0),lh(G,G.a.a)),33),Jie(j),gt=Vt(qe(j,s5))===Vt(ZS),gt||o2(j,YS)&&!gmt(s,qe(j,O7))?(d=Dxt(t,j,n,r),Ls(v,d),wo(j,s5,ZS),Zue(j)):Ua(G,(!j.a&&(j.a=new fe(rs,j,10,11)),j.a));else for(H=(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i,h=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));h.e!=h.i.gc();)o=u(dr(h),33),d=Dxt(t,o,n,r),Ls(v,d),Zue(o);for(tt=new S(v);tt.a=0?H=a6(d):H=YD(a6(d)),t.Ye(C7,H)),k=new Ca,j=!1,t.Xe(Rv)?(H2t(k,u(t.We(Rv),8)),j=!0):RQe(k,h.a/2,h.b/2),H.g){case 4:Jt(C,uu,(dh(),bb)),Jt(C,tG,(d2(),U4)),C.o.b=h.b,K<0&&(C.o.a=-K),Bs(M,(ve(),Hn)),j||(k.a=h.a),k.a-=h.a;break;case 2:Jt(C,uu,(dh(),jy)),Jt(C,tG,(d2(),w7)),C.o.b=h.b,K<0&&(C.o.a=-K),Bs(M,(ve(),Bn)),j||(k.a=0);break;case 1:Jt(C,B2,(q0(),Y4)),C.o.a=h.a,K<0&&(C.o.b=-K),Bs(M,(ve(),mr)),j||(k.b=h.b),k.b-=h.b;break;case 3:Jt(C,B2,(q0(),F6)),C.o.a=h.a,K<0&&(C.o.b=-K),Bs(M,(ve(),Pn)),j||(k.b=0)}if(H2t(M.n,k),Jt(C,Rv,k),e==Y2||e==g0||e==Gc){if(G=0,e==Y2&&t.Xe(tp))switch(H.g){case 1:case 2:G=u(t.We(tp),19).a;break;case 3:case 4:G=-u(t.We(tp),19).a}else switch(H.g){case 4:case 2:G=o.b,e==g0&&(G/=s.b);break;case 1:case 3:G=o.a,e==g0&&(G/=s.a)}Jt(C,Fv,G)}return Jt(C,oc,H),C}function fxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe;if(n=Xt(ye(Q(t.a.j,(Te(),GCt)))),n<-1||!t.a.i||jx(u(Q(t.a.o,cs),98))||Ko(t.a.o,(ve(),Hn)).gc()<2&&Ko(t.a.o,Bn).gc()<2)return!0;if(t.a.c.Rf())return!1;for(Kt=0,Rt=0,St=new he,v=t.a.e,k=0,C=v.length;k=n}function dxn(){dbt();function t(r){var s=this;this.dispatch=function(o){var h=o.data;switch(h.cmd){case"algorithms":var d=x3t((wn(),new T(new v1(Ab.b))));r.postMessage({id:h.id,data:d});break;case"categories":var v=x3t((wn(),new T(new v1(Ab.c))));r.postMessage({id:h.id,data:v});break;case"options":var k=x3t((wn(),new T(new v1(Ab.d))));r.postMessage({id:h.id,data:k});break;case"register":y4n(h.algorithms),r.postMessage({id:h.id});break;case"layout":t3n(h.graph,h.layoutOptions||{},h.options||{}),r.postMessage({id:h.id,data:h.graph});break}},this.saveDispatch=function(o){try{s.dispatch(o)}catch(h){r.postMessage({id:o.data.id,error:h})}}}function e(r){var s=this;this.dispatcher=new t({postMessage:function(o){s.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){s.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===_ot&&typeof self!==_ot){var n=new t(self);self.onmessage=n.saveDispatch}else typeof p!==_ot&&p.exports&&(Object.defineProperty(w,"__esModule",{value:!0}),p.exports={default:e,Worker:e})}function gxn(t){t.N||(t.N=!0,t.b=ic(t,0),ns(t.b,0),ns(t.b,1),ns(t.b,2),t.bb=ic(t,1),ns(t.bb,0),ns(t.bb,1),t.fb=ic(t,2),ns(t.fb,3),ns(t.fb,4),Fi(t.fb,5),t.qb=ic(t,3),ns(t.qb,0),Fi(t.qb,1),Fi(t.qb,2),ns(t.qb,3),ns(t.qb,4),Fi(t.qb,5),ns(t.qb,6),t.a=oi(t,4),t.c=oi(t,5),t.d=oi(t,6),t.e=oi(t,7),t.f=oi(t,8),t.g=oi(t,9),t.i=oi(t,10),t.j=oi(t,11),t.k=oi(t,12),t.n=oi(t,13),t.o=oi(t,14),t.p=oi(t,15),t.q=oi(t,16),t.s=oi(t,17),t.r=oi(t,18),t.t=oi(t,19),t.u=oi(t,20),t.v=oi(t,21),t.w=oi(t,22),t.B=oi(t,23),t.A=oi(t,24),t.C=oi(t,25),t.D=oi(t,26),t.F=oi(t,27),t.G=oi(t,28),t.H=oi(t,29),t.J=oi(t,30),t.I=oi(t,31),t.K=oi(t,32),t.M=oi(t,33),t.L=oi(t,34),t.P=oi(t,35),t.Q=oi(t,36),t.R=oi(t,37),t.S=oi(t,38),t.T=oi(t,39),t.U=oi(t,40),t.V=oi(t,41),t.X=oi(t,42),t.W=oi(t,43),t.Y=oi(t,44),t.Z=oi(t,45),t.$=oi(t,46),t._=oi(t,47),t.ab=oi(t,48),t.cb=oi(t,49),t.db=oi(t,50),t.eb=oi(t,51),t.gb=oi(t,52),t.hb=oi(t,53),t.ib=oi(t,54),t.jb=oi(t,55),t.kb=oi(t,56),t.lb=oi(t,57),t.mb=oi(t,58),t.nb=oi(t,59),t.ob=oi(t,60),t.pb=oi(t,61))}function pxn(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt;if(Mt=0,e.f.a==0)for(tt=new S(t);tt.ak&&(An(k,e.c.length),u(e.c[k],200)).a.c.length==0;)mu(e,(An(k,e.c.length),e.c[k]));if(!v){--o;continue}if(eyn(e,C,s,v,j,n,k,r)){M=!0;continue}if(j){if(c3n(e,C,s,v,n,k,r)){M=!0;continue}else if(Yyt(C,s)){s.c=!0,M=!0;continue}}else if(Yyt(C,s)){s.c=!0,M=!0;continue}if(M)continue}if(Yyt(C,s)){s.c=!0,M=!0,v&&(v.k=!1);continue}else nq(s.q)}return M}function zat(t,e,n,r,s,o,h){var d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js;for(K=0,Rn=0,k=new S(t.b);k.aK&&(o&&(Zb(ue,H),Zb(We,pe(C.b-1)),le(t.d,G),d.c=Nt(Qn,De,1,0,5,1)),pi=n.b,js+=H+e,H=0,M=b.Math.max(M,n.b+n.c+hr)),d.c[d.c.length]=v,hse(v,pi,js),M=b.Math.max(M,pi+hr+n.c),H=b.Math.max(H,j),pi+=hr+e,G=v;if(Ls(t.a,d),le(t.d,u(Ne(d,d.c.length-1),157)),M=b.Math.max(M,r),zn=js+H+n.a,zn1&&(h=b.Math.min(h,b.Math.abs(u(Zf(d.a,1),8).b-C.b)))));else for(K=new S(e.j);K.as&&(o=j.a-s,h=wi,r.c=Nt(Qn,De,1,0,5,1),s=j.a),j.a>=s&&(r.c[r.c.length]=d,d.a.b>1&&(h=b.Math.min(h,b.Math.abs(u(Zf(d.a,d.a.b-2),8).b-j.b)))));if(r.c.length!=0&&o>e.o.a/2&&h>e.o.b/2){for(H=new Mc,Uo(H,e),Bs(H,(ve(),Pn)),H.n.a=e.o.a/2,gt=new Mc,Uo(gt,e),Bs(gt,mr),gt.n.a=e.o.a/2,gt.n.b=e.o.b,v=new S(r);v.a=k.b?Oa(d,gt):Oa(d,H)):(k=u(hen(d.a),8),tt=d.a.b==0?_1(d.c):u(Aj(d.a),8),tt.b>=k.b?oa(d,gt):oa(d,H)),M=u(Q(d,(Te(),So)),74),M&&ay(M,k,!0);e.n.a=s-e.o.a/2}}function yxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh;if(Rn=null,hr=e,zn=ZZt(t,YZt(n),hr),G9(zn,R0(hr,Ad)),pi=u(n4(t.g,f6(B0(hr,Xct))),33),j=B0(hr,"sourcePort"),r=null,j&&(r=f6(j)),js=u(n4(t.j,r),118),!pi)throw d=pE(hr),G="An edge must have a source node (edge id: '"+d,K=G+JE,it(new ud(K));if(js&&!pd(T1(js),pi))throw v=R0(hr,Ad),tt="The source port of an edge must be a port of the edge's source node (edge id: '"+v,gt=tt+JE,it(new ud(gt));if(We=(!zn.b&&(zn.b=new Cn(br,zn,4,7)),zn.b),o=null,js?o=js:o=pi,Dr(We,o),Zl=u(n4(t.g,f6(B0(hr,M8t))),33),H=B0(hr,"targetPort"),s=null,H&&(s=f6(H)),Xh=u(n4(t.j,s),118),!Zl)throw M=pE(hr),Mt="An edge must have a target node (edge id: '"+M,St=Mt+JE,it(new ud(St));if(Xh&&!pd(T1(Xh),Zl))throw k=R0(hr,Ad),Rt="The target port of an edge must be a port of the edge's target node (edge id: '"+k,Kt=Rt+JE,it(new ud(Kt));if(Qe=(!zn.c&&(zn.c=new Cn(br,zn,5,8)),zn.c),h=null,Xh?h=Xh:h=Zl,Dr(Qe,h),(!zn.b&&(zn.b=new Cn(br,zn,4,7)),zn.b).i==0||(!zn.c&&(zn.c=new Cn(br,zn,5,8)),zn.c).i==0)throw C=R0(hr,Ad),ue=Vde+C,_e=ue+JE,it(new ud(_e));return lq(hr,zn),l2n(hr,zn),Rn=Lit(t,hr,zn),Rn}function Khe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn;return M=Eyn(bu(t,(ve(),U1)),e),G=d4(bu(t,Mf),e),Rt=d4(bu(t,Kl),e),We=rq(bu(t,Vh),e),j=rq(bu(t,mh),e),Mt=d4(bu(t,Df),e),K=d4(bu(t,el),e),ue=d4(bu(t,Xl),e),Kt=d4(bu(t,yh),e),Qe=rq(bu(t,lu),e),gt=d4(bu(t,Au),e),St=d4(bu(t,nl),e),_e=d4(bu(t,Su),e),Rn=rq(bu(t,Lu),e),H=rq(bu(t,Vu),e),tt=d4(bu(t,Uc),e),n=s4(lt(ct(aa,1),vo,25,15,[Mt.a,We.a,ue.a,Rn.a])),r=s4(lt(ct(aa,1),vo,25,15,[G.a,M.a,Rt.a,tt.a])),s=gt.a,o=s4(lt(ct(aa,1),vo,25,15,[K.a,j.a,Kt.a,H.a])),k=s4(lt(ct(aa,1),vo,25,15,[Mt.b,G.b,K.b,St.b])),v=s4(lt(ct(aa,1),vo,25,15,[We.b,M.b,j.b,tt.b])),C=Qe.b,d=s4(lt(ct(aa,1),vo,25,15,[ue.b,Rt.b,Kt.b,_e.b])),Bg(bu(t,U1),n+s,k+C),Bg(bu(t,Uc),n+s,k+C),Bg(bu(t,Mf),n+s,0),Bg(bu(t,Kl),n+s,k+C+v),Bg(bu(t,Vh),0,k+C),Bg(bu(t,mh),n+s+r,k+C),Bg(bu(t,el),n+s+r,0),Bg(bu(t,Xl),0,k+C+v),Bg(bu(t,yh),n+s+r,k+C+v),Bg(bu(t,lu),0,k),Bg(bu(t,Au),n,0),Bg(bu(t,Su),0,k+C+v),Bg(bu(t,Vu),n+s+r,0),h=new Ca,h.a=s4(lt(ct(aa,1),vo,25,15,[n+r+s+o,Qe.a,St.a,_e.a])),h.b=s4(lt(ct(aa,1),vo,25,15,[k+v+C+d,gt.b,Rn.b,H.b])),h}function xxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(K=new he,j=new S(t.d.b);j.as.d.d+s.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(e=n);C&&(o=u(tr(t.f,h.d.i),57),e.bo.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(d=new ar(lr(jo(H).a.Kc(),new z));zr(d);)h=u(Mr(d),17),h.a.b!=0&&(e=u(Aj(h.a),8),h.d.j==(ve(),Pn)&&(tt=new T_(e,new $e(e.a,s.d.d),s,h),tt.f.a=!0,tt.a=h.d,K.c[K.c.length]=tt),h.d.j==mr&&(tt=new T_(e,new $e(e.a,s.d.d+s.d.a),s,h),tt.f.d=!0,tt.a=h.d,K.c[K.c.length]=tt))}return K}function kxn(t,e,n){var r,s,o,h,d,v,k,C,M;if(vr(n,"Network simplex node placement",1),t.e=e,t.n=u(Q(e,(ae(),Q4)),304),j3n(t),m0n(t),ls(Wo(new Tn(null,new _n(t.e.b,16)),new EQ),new q$t(t)),ls(Ri(Wo(Ri(Wo(new Tn(null,new _n(t.e.b,16)),new WT),new OQ),new PQ),new FQ),new z$t(t)),je(Re(Q(t.e,(Te(),SS))))&&(h=Rc(n,1),vr(h,"Straight Edges Pre-Processing",1),i5n(t),or(h)),t1n(t.f),o=u(Q(e,MS),19).a*t.f.a.c.length,mat(abt(obt(Mnt(t.f),o),!1),Rc(n,1)),t.d.a.gc()!=0){for(h=Rc(n,1),vr(h,"Flexible Where Space Processing",1),d=u(Nw(t$(wu(new Tn(null,new _n(t.f.a,16)),new TQ),new wQ)),19).a,v=u(Nw(Jj(wu(new Tn(null,new _n(t.f.a,16)),new CQ),new vQ)),19).a,k=v-d,C=Fw(new Xb,t.f),M=Fw(new Xb,t.f),yf(lf(uf(cf(hf(new Ch,2e4),k),C),M)),ls(Ri(Ri(Qnt(t.i),new _Q),new SQ),new jXt(d,C,k,M)),s=t.d.a.ec().Kc();s.Ob();)r=u(s.Pb(),213),r.g=1;mat(abt(obt(Mnt(t.f),o),!1),Rc(h,1)),or(h)}je(Re(Q(e,SS)))&&(h=Rc(n,1),vr(h,"Straight Edges Post-Processing",1),upn(t),or(h)),q4n(t),t.e=null,t.f=null,t.i=null,t.c=null,Xu(t.k),t.j=null,t.a=null,t.o=null,t.d.a.$b(),or(n)}function Exn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt;for(d=new S(t.a.b);d.a0)if(r=M.gc(),k=ps(b.Math.floor((r+1)/2))-1,s=ps(b.Math.ceil((r+1)/2))-1,e.o==H1)for(C=s;C>=k;C--)e.a[Rt.p]==Rt&&(K=u(M.Xb(C),46),G=u(K.a,10),!I0(n,K.b)&&H>t.b.e[G.p]&&(e.a[G.p]=Rt,e.g[Rt.p]=e.g[G.p],e.a[Rt.p]=e.g[Rt.p],e.f[e.g[Rt.p].p]=(Nn(),!!(je(e.f[e.g[Rt.p].p])&Rt.k==(Vn(),ta))),H=t.b.e[G.p]));else for(C=k;C<=s;C++)e.a[Rt.p]==Rt&&(gt=u(M.Xb(C),46),tt=u(gt.a,10),!I0(n,gt.b)&&H=G&&(Mt>G&&(H.c=Nt(Qn,De,1,0,5,1),G=Mt),H.c[H.c.length]=h);H.c.length!=0&&(j=u(Ne(H,Zz(e,H.c.length)),128),zn.a.Bc(j)!=null,j.s=K++,A5t(j,Qe,ue),H.c=Nt(Qn,De,1,0,5,1))}for(Rt=t.c.length+1,d=new S(t);d.aRn.s&&(Cl(n),mu(Rn.i,r),r.c>0&&(r.a=Rn,le(Rn.t,r),r.b=_e,le(_e.i,r)))}function Ixt(t){var e,n,r,s,o;switch(e=t.c,e){case 11:return t.Ml();case 12:return t.Ol();case 14:return t.Ql();case 15:return t.Tl();case 16:return t.Rl();case 17:return t.Ul();case 21:return fi(t),gi(),gi(),pA;case 10:switch(t.a){case 65:return t.yl();case 90:return t.Dl();case 122:return t.Kl();case 98:return t.El();case 66:return t.zl();case 60:return t.Jl();case 62:return t.Hl()}}switch(o=vxn(t),e=t.c,e){case 3:return t.Zl(o);case 4:return t.Xl(o);case 5:return t.Yl(o);case 0:if(t.a==123&&t.d=48&&e<=57){for(r=e-48;s=48&&e<=57;)if(r=r*10+e-48,r<0)throw it(new Nr(qr((Pr(),N8t))))}else throw it(new Nr(qr((Pr(),v0e))));if(n=r,e==44){if(s>=t.j)throw it(new Nr(qr((Pr(),y0e))));if((e=wa(t.i,s++))>=48&&e<=57){for(n=e-48;s=48&&e<=57;)if(n=n*10+e-48,n<0)throw it(new Nr(qr((Pr(),N8t))));if(r>n)throw it(new Nr(qr((Pr(),x0e))))}else n=-1}if(e!=125)throw it(new Nr(qr((Pr(),m0e))));t.sl(s)?(o=(gi(),gi(),new Xm(9,o)),t.d=s+1):(o=(gi(),gi(),new Xm(3,o)),t.d=s),o.dm(r),o.cm(n),fi(t)}}return o}function Xhe(t,e,n,r,s){var o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn;for(K=new Xc(e.b),Rt=new Xc(e.b),j=new Xc(e.b),We=new Xc(e.b),tt=new Xc(e.b),_e=ei(e,0);_e.b!=_e.d.c;)for(Kt=u(ti(_e),11),d=new S(Kt.g);d.a0,gt=Kt.g.c.length>0,k&>?j.c[j.c.length]=Kt:k?K.c[K.c.length]=Kt:gt&&(Rt.c[Rt.c.length]=Kt);for(G=new S(K);G.a1)for(G=new Nx((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a));G.e!=G.i.gc();)f_(G);for(h=u(At((!t.a&&(t.a=new fe(Ji,t,6,6)),t.a),0),202),tt=pi,pi>Kt+Rt?tt=Kt+Rt:piue+K?gt=ue+K:jsKt-Rt&&ttue-K&>pi+hr?We=pi+hr:Ktjs+_e?Qe=js+_e:uepi-hr&&Wejs-_e&&Qen&&(j=n-1),H=xP+ul(e,24)*$I*M-M/2,H<0?H=1:H>r&&(H=r-1),s=(Sw(),v=new xp,v),iz(s,j),sz(s,H),Dr((!h.a&&(h.a=new As(Gh,h,5)),h.a),s)}function Te(){Te=Z,lht=(ui(),p4e),y9t=b4e,OO=hAt,Tf=w4e,V6=fAt,jv=v4e,Wy=dAt,S7=gAt,A7=pAt,hht=JG,$v=W2,fht=m4e,LS=vAt,bG=K6,IO=(Fxt(),fve),J4=dve,q2=gve,t5=pve,Zve=new eo(ZG,pe(0)),_7=uve,m9t=lve,H6=hve,A9t=Bve,x9t=vve,k9t=xve,ght=Ave,E9t=Tve,T9t=_ve,wG=zve,pht=Rve,_9t=Ove,C9t=Dve,S9t=Fve,Bv=rve,AS=ive,sht=xwe,QCt=Ewe,g9t=new Ow(12),d9t=new eo(U2,g9t),YCt=(W0(),N7),eg=new eo(zSt,YCt),Vy=new eo(dl,0),Jve=new eo(Eft,pe(1)),rG=new eo(W6,GE),z2=QG,cs=KS,C7=u5,Gve=QO,Id=a4e,qy=s5,tme=new eo(Tft,(Nn(),!0)),Hy=ZO,j2=bft,$2=G2,pG=xb,uht=XG,WCt=(ao(),h0),Wl=new eo(qv,WCt),Nv=o5,dG=XSt,Gy=Qy,Qve=kft,w9t=uAt,b9t=(l4(),iP),new eo(iAt,b9t),Yve=vft,Kve=mft,Xve=yft,Wve=wft,dht=wve,c9t=Gwe,oht=Vwe,MS=bve,uu=Bwe,zy=dwe,_S=fwe,$y=J2e,VCt=twe,eht=iwe,DO=ewe,nht=lwe,u9t=Uwe,l9t=Wwe,r9t=Dwe,gG=ove,cht=Xwe,aht=_we,f9t=eve,XCt=mwe,iht=ywe,tht=YG,h9t=Ywe,sG=U2e,zCt=G2e,iG=V2e,t9t=Lwe,JCt=Awe,e9t=Mwe,E7=c5,So=a5,Jg=HSt,Od=pft,rht=gft,GCt=awe,tp=xft,CS=u4e,lG=l4e,Rv=aAt,p9t=h4e,T7=f4e,s9t=jwe,a9t=zwe,Uy=Y6,Zlt=H2e,o9t=Hwe,uG=bwe,cG=pwe,fG=JO,i9t=Pwe,SS=Zwe,PO=bAt,UCt=gwe,v9t=cve,KCt=wwe,Uve=Nwe,Vve=cwe,n9t=WSt,hG=Rwe,oG=uwe,wb=Z2e,HCt=X2e,aG=Y2e,qCt=K2e,Jlt=Q2e,q6=W2e,ZCt=Swe}function Hat(t,e){Lat();var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;if(We=t.e,G=t.d,s=t.a,We==0)switch(e){case 0:return"0";case 1:return $E;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ue=new Mp,e<0?ue.a+="0E+":ue.a+="0E",ue.a+=-e,ue.a}if(St=G*10+1+7,Rt=Nt(xh,yd,25,St+1,15,1),n=St,G==1)if(d=s[0],d<0){pi=Ns(d,co);do K=pi,pi=aI(pi,10),Rt[--n]=48+Ar(Jp(K,_a(pi,10)))&ys;while(yc(pi,0)!=0)}else{pi=d;do K=pi,pi=pi/10|0,Rt[--n]=48+(K-pi*10)&ys;while(pi!=0)}else{Rn=Nt(Cr,Xr,25,G,15,1),hr=G,Dc(s,0,Rn,0,hr);t:for(;;){for(_e=0,k=hr-1;k>=0;k--)zn=Pa(F0(_e,32),Ns(Rn[k],co)),gt=P0n(zn),Rn[k]=Ar(gt),_e=Ar($p(gt,32));Mt=Ar(_e),tt=n;do Rt[--n]=48+Mt%10&ys;while((Mt=Mt/10|0)!=0&&n!=0);for(r=9-tt+n,v=0;v0;v++)Rt[--n]=48;for(M=hr-1;Rn[M]==0;M--)if(M==0)break t;hr=M+1}for(;Rt[n]==48;)++n}if(H=We<0,h=St-n-e-1,e==0)return H&&(Rt[--n]=45),Mh(Rt,n,St-n);if(e>0&&h>=-6){if(h>=0){for(C=n+h,j=St-1;j>=C;j--)Rt[j+1]=Rt[j];return Rt[++C]=46,H&&(Rt[--n]=45),Mh(Rt,n,St-n+1)}for(M=2;M<-h+1;M++)Rt[--n]=48;return Rt[--n]=46,Rt[--n]=48,H&&(Rt[--n]=45),Mh(Rt,n,St-n)}return Qe=n+1,o=St,Kt=new Im,H&&(Kt.a+="-"),o-Qe>=1?(qp(Kt,Rt[n]),Kt.a+=".",Kt.a+=Mh(Rt,n+1,St-n-1)):Kt.a+=Mh(Rt,n,St-n),Kt.a+="E",h>0&&(Kt.a+="+"),Kt.a+=""+h,Kt.a}function Jhe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue;switch(t.c=e,t.g=new _r,n=(Pm(),new Mm(t.c)),r=new er(n),p3t(r),St=Br(qe(t.c,(cI(),lSt))),v=u(qe(t.c,sft),316),Kt=u(qe(t.c,aft),429),h=u(qe(t.c,oSt),482),Rt=u(qe(t.c,ift),430),t.j=Xt(ye(qe(t.c,M3e))),d=t.a,v.g){case 0:d=t.a;break;case 1:d=t.b;break;case 2:d=t.i;break;case 3:d=t.e;break;case 4:d=t.f;break;default:throw it(new Fn(_H+(v.f!=null?v.f:""+v.g)))}if(t.d=new EQt(d,Kt,h),Jt(t.d,(Z8(),fS),Re(qe(t.c,A3e))),t.d.c=je(Re(qe(t.c,cSt))),p$(t.c).i==0)return t.d;for(M=new nr(p$(t.c));M.e!=M.i.gc();){for(C=u(dr(M),33),H=C.g/2,j=C.f/2,ue=new $e(C.i+H,C.j+j);Tl(t.g,ue);)jm(ue,(b.Math.random()-.5)*Ed,(b.Math.random()-.5)*Ed);K=u(qe(C,(ui(),JO)),142),tt=new $Qt(ue,new ah(ue.a-H-t.j/2-K.b,ue.b-j-t.j/2-K.d,C.g+t.j+(K.b+K.c),C.f+t.j+(K.d+K.a))),le(t.d.i,tt),ki(t.g,ue,new fa(tt,C))}switch(Rt.g){case 0:if(St==null)t.d.d=u(Ne(t.d.i,0),65);else for(Mt=new S(t.d.i);Mt.a1&&fs(C,gt,C.c.b,C.c),tz(s)));gt=Mt}return C}function Mxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh,K1;for(vr(n,"Greedy cycle removal",1),St=e.a,K1=St.c.length,t.a=Nt(Cr,Xr,25,K1,15,1),t.c=Nt(Cr,Xr,25,K1,15,1),t.b=Nt(Cr,Xr,25,K1,15,1),k=0,gt=new S(St);gt.a0?hr+1:1);for(h=new S(ue.g);h.a0?hr+1:1)}t.c[k]==0?ri(t.e,K):t.a[k]==0&&ri(t.f,K),++k}for(G=-1,H=1,M=new he,t.d=u(Q(e,(ae(),$6)),230);K1>0;){for(;t.e.b!=0;)js=u(Ont(t.e),10),t.b[js.p]=G--,ext(t,js),--K1;for(;t.f.b!=0;)Zl=u(Ont(t.f),10),t.b[Zl.p]=H++,ext(t,Zl),--K1;if(K1>0){for(j=Sa,Mt=new S(St);Mt.a=j&&(Rt>j&&(M.c=Nt(Qn,De,1,0,5,1),j=Rt),M.c[M.c.length]=K));C=t.Zf(M),t.b[C.p]=H++,ext(t,C),--K1}}for(pi=St.c.length+1,k=0;kt.b[Xh]&&(bv(r,!0),Jt(e,_O,(Nn(),!0)));t.a=null,t.c=null,t.b=null,Ah(t.f),Ah(t.e),or(n)}function efe(t,e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;for(r=new he,d=new he,tt=e/2,H=t.gc(),s=u(t.Xb(0),8),gt=u(t.Xb(1),8),G=rat(s.a,s.b,gt.a,gt.b,tt),le(r,(An(0,G.c.length),u(G.c[0],8))),le(d,(An(1,G.c.length),u(G.c[1],8))),k=2;k=0;v--)ri(n,(An(v,h.c.length),u(h.c[v],8)));return n}function Dxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H;if(h=!0,M=null,r=null,s=null,e=!1,H=o5e,k=null,o=null,d=0,v=ust(t,d,nLt,rLt),v=0&&hn(t.substr(d,2),"//")?(d+=2,v=ust(t,d,oA,cA),r=t.substr(d,v-d),d=v):M!=null&&(d==t.length||(Rr(d,t.length),t.charCodeAt(d)!=47))&&(h=!1,v=O2t(t,Cu(35),d),v==-1&&(v=t.length),r=t.substr(d,v-d),d=v);if(!n&&d0&&wa(C,C.length-1)==58&&(s=C,d=v)),d=t.j){t.a=-1,t.c=1;return}if(e=wa(t.i,t.d++),t.a=e,t.b==1){switch(e){case 92:if(r=10,t.d>=t.j)throw it(new Nr(qr((Pr(),OH))));t.a=wa(t.i,t.d++);break;case 45:(t.e&512)==512&&t.d=t.j||wa(t.i,t.d)!=63)break;if(++t.d>=t.j)throw it(new Nr(qr((Pr(),out))));switch(e=wa(t.i,t.d++),e){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(t.d>=t.j)throw it(new Nr(qr((Pr(),out))));if(e=wa(t.i,t.d++),e==61)r=16;else if(e==33)r=17;else throw it(new Nr(qr((Pr(),t0e))));break;case 35:for(;t.d=t.j)throw it(new Nr(qr((Pr(),OH))));t.a=wa(t.i,t.d++);break;default:r=0}t.c=r}function Oxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr;if(_e=u(Q(t,(Te(),cs)),98),_e!=(ua(),G1)&&_e!=Tb){for(G=t.b,H=G.c.length,C=new Xc((jl(H+2,Yat),J$(Pa(Pa(5,H+2),(H+2)/10|0)))),K=new Xc((jl(H+2,Yat),J$(Pa(Pa(5,H+2),(H+2)/10|0)))),le(C,new _r),le(C,new _r),le(K,new he),le(K,new he),ue=new he,e=0;e=Kt||!tfn(gt,r))&&(r=XQt(e,C)),Eo(gt,r),o=new ar(lr(jo(gt).a.Kc(),new z));zr(o);)s=u(Mr(o),17),!t.a[s.p]&&(K=s.c.i,--t.e[K.p],t.e[K.p]==0&&R8(xE(H,K)));for(k=C.c.length-1;k>=0;--k)le(e.b,(An(k,C.c.length),u(C.c[k],29)));e.a.c=Nt(Qn,De,1,0,5,1),or(n)}function nfe(t){var e,n,r,s,o,h,d,v,k;for(t.b=1,fi(t),e=null,t.c==0&&t.a==94?(fi(t),e=(gi(),gi(),new Nl(4)),jc(e,0,e7),d=new Nl(4)):d=(gi(),gi(),new Nl(4)),s=!0;(k=t.c)!=1;){if(k==0&&t.a==93&&!s){e&&(L_(e,d),d=e);break}if(n=t.a,r=!1,k==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:yy(d,ME(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(yy(d,ME(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(v=u5t(t,n),!v)throw it(new Nr(qr((Pr(),cut))));yy(d,v),r=!0;break;default:n=H5t(t)}else if(k==24&&!s){if(e&&(L_(e,d),d=e),o=nfe(t),L_(d,o),t.c!=0||t.a!=93)throw it(new Nr(qr((Pr(),l0e))));break}if(fi(t),!r){if(k==0){if(n==91)throw it(new Nr(qr((Pr(),P8t))));if(n==93)throw it(new Nr(qr((Pr(),F8t))));if(n==45&&!s&&t.a!=93)throw it(new Nr(qr((Pr(),uut))))}if(t.c!=0||t.a!=45||n==45&&s)jc(d,n,n);else{if(fi(t),(k=t.c)==1)throw it(new Nr(qr((Pr(),PH))));if(k==0&&t.a==93)jc(d,n,n),jc(d,45,45);else{if(k==0&&t.a==93||k==24)throw it(new Nr(qr((Pr(),uut))));if(h=t.a,k==0){if(h==91)throw it(new Nr(qr((Pr(),P8t))));if(h==93)throw it(new Nr(qr((Pr(),F8t))));if(h==45)throw it(new Nr(qr((Pr(),uut))))}else k==10&&(h=H5t(t));if(fi(t),n>h)throw it(new Nr(qr((Pr(),d0e))));jc(d,n,h)}}}s=!1}if(t.c==1)throw it(new Nr(qr((Pr(),PH))));return v4(d),S_(d),t.b=0,fi(t),d}function Fxn(t){Ir(t.c,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#decimal"])),Ir(t.d,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#integer"])),Ir(t.e,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#boolean"])),Ir(t.f,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EBoolean",ci,"EBoolean:Object"])),Ir(t.i,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#byte"])),Ir(t.g,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Ir(t.j,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EByte",ci,"EByte:Object"])),Ir(t.n,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EChar",ci,"EChar:Object"])),Ir(t.t,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#double"])),Ir(t.u,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EDouble",ci,"EDouble:Object"])),Ir(t.F,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#float"])),Ir(t.G,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EFloat",ci,"EFloat:Object"])),Ir(t.I,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#int"])),Ir(t.J,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EInt",ci,"EInt:Object"])),Ir(t.N,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#long"])),Ir(t.O,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"ELong",ci,"ELong:Object"])),Ir(t.Z,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#short"])),Ir(t.$,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"EShort",ci,"EShort:Object"])),Ir(t._,Yr,lt(ct(Ae,1),ee,2,6,[Aa,"http://www.w3.org/2001/XMLSchema#string"]))}function Nxn(t){var e,n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr;if(t.c.length==1)return An(0,t.c.length),u(t.c[0],135);if(t.c.length<=0)return new j$;for(v=new S(t);v.aM&&(zn=0,hr+=C+_e,C=0),U2n(Kt,h,zn,hr),e=b.Math.max(e,zn+ue.a),C=b.Math.max(C,ue.b),zn+=ue.a+_e;for(Rt=new _r,n=new _r,Qe=new S(t);Qe.aiat(o))&&(M=o);for(!M&&(M=(An(0,tt.c.length),u(tt.c[0],180))),K=new S(e.b);K.a=-1900?1:0,n>=4?Gr(t,lt(ct(Ae,1),ee,2,6,[mfe,yfe])[d]):Gr(t,lt(ct(Ae,1),ee,2,6,["BC","AD"])[d]);break;case 121:Mfn(t,n,r);break;case 77:Pmn(t,n,r);break;case 107:v=s.q.getHours(),v==0?Jd(t,24,n):Jd(t,v,n);break;case 83:ewn(t,n,s);break;case 69:C=r.q.getDay(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["S","M","T","W","T","F","S"])[C]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[cot,uot,lot,hot,fot,dot,got])[C]):Gr(t,lt(ct(Ae,1),ee,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:s.q.getHours()>=12&&s.q.getHours()<24?Gr(t,lt(ct(Ae,1),ee,2,6,["AM","PM"])[1]):Gr(t,lt(ct(Ae,1),ee,2,6,["AM","PM"])[0]);break;case 104:M=s.q.getHours()%12,M==0?Jd(t,12,n):Jd(t,M,n);break;case 75:j=s.q.getHours()%12,Jd(t,j,n);break;case 72:H=s.q.getHours(),Jd(t,H,n);break;case 99:G=r.q.getDay(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["S","M","T","W","T","F","S"])[G]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[cot,uot,lot,hot,fot,dot,got])[G]):n==3?Gr(t,lt(ct(Ae,1),ee,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[G]):Jd(t,G,1);break;case 76:K=r.q.getMonth(),n==5?Gr(t,lt(ct(Ae,1),ee,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[K]):n==4?Gr(t,lt(ct(Ae,1),ee,2,6,[Qat,Zat,Jat,tot,w6,eot,not,rot,iot,sot,aot,oot])[K]):n==3?Gr(t,lt(ct(Ae,1),ee,2,6,["Jan","Feb","Mar","Apr",w6,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[K]):Jd(t,K+1,n);break;case 81:tt=r.q.getMonth()/3|0,n<4?Gr(t,lt(ct(Ae,1),ee,2,6,["Q1","Q2","Q3","Q4"])[tt]):Gr(t,lt(ct(Ae,1),ee,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[tt]);break;case 100:gt=r.q.getDate(),Jd(t,gt,n);break;case 109:k=s.q.getMinutes(),Jd(t,k,n);break;case 115:h=s.q.getSeconds(),Jd(t,h,n);break;case 122:n<4?Gr(t,o.c[0]):Gr(t,o.c[1]);break;case 118:Gr(t,o.b);break;case 90:n<3?Gr(t,Vpn(o)):n==3?Gr(t,Wpn(o)):Gr(t,Ypn(o.a));break;default:return!1}return!0}function Pxt(t,e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi;if(Hue(e),v=u(At((!e.b&&(e.b=new Cn(br,e,4,7)),e.b),0),82),C=u(At((!e.c&&(e.c=new Cn(br,e,5,8)),e.c),0),82),d=Do(v),k=Do(C),h=(!e.a&&(e.a=new fe(Ji,e,6,6)),e.a).i==0?null:u(At((!e.a&&(e.a=new fe(Ji,e,6,6)),e.a),0),202),_e=u(tr(t.a,d),10),zn=u(tr(t.a,k),10),We=null,hr=null,_t(v,186)&&(ue=u(tr(t.a,v),299),_t(ue,11)?We=u(ue,11):_t(ue,10)&&(_e=u(ue,10),We=u(Ne(_e.j,0),11))),_t(C,186)&&(Rn=u(tr(t.a,C),299),_t(Rn,11)?hr=u(Rn,11):_t(Rn,10)&&(zn=u(Rn,10),hr=u(Ne(zn.j,0),11))),!_e||!zn)throw it(new jC("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(K=new Vw,Mo(K,e),Jt(K,(ae(),_i),e),Jt(K,(Te(),So),null),H=u(Q(r,Vc),21),_e==zn&&H.Fc((oo(),xS)),We||(Kt=(so(),nu),Qe=null,h&&G3(u(Q(_e,cs),98))&&(Qe=new $e(h.j,h.k),JZt(Qe,cD(e)),LJt(Qe,n),ey(k,d)&&(Kt=tl,Li(Qe,_e.n))),We=zle(_e,Qe,Kt,r)),hr||(Kt=(so(),tl),pi=null,h&&G3(u(Q(zn,cs),98))&&(pi=new $e(h.b,h.c),JZt(pi,cD(e)),LJt(pi,n)),hr=zle(zn,pi,Kt,Na(zn))),Oa(K,We),oa(K,hr),(We.e.c.length>1||We.g.c.length>1||hr.e.c.length>1||hr.g.c.length>1)&&H.Fc((oo(),yS)),j=new nr((!e.n&&(e.n=new fe(qo,e,1,7)),e.n));j.e!=j.i.gc();)if(M=u(dr(j),137),!je(Re(qe(M,z2)))&&M.a)switch(tt=Vit(M),le(K.b,tt),u(Q(tt,Od),272).g){case 1:case 2:H.Fc((oo(),m7));break;case 0:H.Fc((oo(),v7)),Jt(tt,Od,(M1(),P7))}if(o=u(Q(r,_S),314),gt=u(Q(r,gG),315),s=o==(n6(),EO)||gt==(u_(),xht),h&&(!h.a&&(h.a=new As(Gh,h,5)),h.a).i!=0&&s){for(Mt=lI(h),G=new Pu,Rt=ei(Mt,0);Rt.b!=Rt.d.c;)St=u(ti(Rt),8),ri(G,new xo(St));Jt(K,aCt,G)}return K}function $xn(t){t.gb||(t.gb=!0,t.b=ic(t,0),ns(t.b,18),Fi(t.b,19),t.a=ic(t,1),ns(t.a,1),Fi(t.a,2),Fi(t.a,3),Fi(t.a,4),Fi(t.a,5),t.o=ic(t,2),ns(t.o,8),ns(t.o,9),Fi(t.o,10),Fi(t.o,11),Fi(t.o,12),Fi(t.o,13),Fi(t.o,14),Fi(t.o,15),Fi(t.o,16),Fi(t.o,17),Fi(t.o,18),Fi(t.o,19),Fi(t.o,20),Fi(t.o,21),Fi(t.o,22),Fi(t.o,23),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),Co(t.o),t.p=ic(t,3),ns(t.p,2),ns(t.p,3),ns(t.p,4),ns(t.p,5),Fi(t.p,6),Fi(t.p,7),Co(t.p),Co(t.p),t.q=ic(t,4),ns(t.q,8),t.v=ic(t,5),Fi(t.v,9),Co(t.v),Co(t.v),Co(t.v),t.w=ic(t,6),ns(t.w,2),ns(t.w,3),ns(t.w,4),Fi(t.w,5),t.B=ic(t,7),Fi(t.B,1),Co(t.B),Co(t.B),Co(t.B),t.Q=ic(t,8),Fi(t.Q,0),Co(t.Q),t.R=ic(t,9),ns(t.R,1),t.S=ic(t,10),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),Co(t.S),t.T=ic(t,11),Fi(t.T,10),Fi(t.T,11),Fi(t.T,12),Fi(t.T,13),Fi(t.T,14),Co(t.T),Co(t.T),t.U=ic(t,12),ns(t.U,2),ns(t.U,3),Fi(t.U,4),Fi(t.U,5),Fi(t.U,6),Fi(t.U,7),Co(t.U),t.V=ic(t,13),Fi(t.V,10),t.W=ic(t,14),ns(t.W,18),ns(t.W,19),ns(t.W,20),Fi(t.W,21),Fi(t.W,22),Fi(t.W,23),t.bb=ic(t,15),ns(t.bb,10),ns(t.bb,11),ns(t.bb,12),ns(t.bb,13),ns(t.bb,14),ns(t.bb,15),ns(t.bb,16),Fi(t.bb,17),Co(t.bb),Co(t.bb),t.eb=ic(t,16),ns(t.eb,2),ns(t.eb,3),ns(t.eb,4),ns(t.eb,5),ns(t.eb,6),ns(t.eb,7),Fi(t.eb,8),Fi(t.eb,9),t.ab=ic(t,17),ns(t.ab,0),ns(t.ab,1),t.H=ic(t,18),Fi(t.H,0),Fi(t.H,1),Fi(t.H,2),Fi(t.H,3),Fi(t.H,4),Fi(t.H,5),Co(t.H),t.db=ic(t,19),Fi(t.db,2),t.c=oi(t,20),t.d=oi(t,21),t.e=oi(t,22),t.f=oi(t,23),t.i=oi(t,24),t.g=oi(t,25),t.j=oi(t,26),t.k=oi(t,27),t.n=oi(t,28),t.r=oi(t,29),t.s=oi(t,30),t.t=oi(t,31),t.u=oi(t,32),t.fb=oi(t,33),t.A=oi(t,34),t.C=oi(t,35),t.D=oi(t,36),t.F=oi(t,37),t.G=oi(t,38),t.I=oi(t,39),t.J=oi(t,40),t.L=oi(t,41),t.M=oi(t,42),t.N=oi(t,43),t.O=oi(t,44),t.P=oi(t,45),t.X=oi(t,46),t.Y=oi(t,47),t.Z=oi(t,48),t.$=oi(t,49),t._=oi(t,50),t.cb=oi(t,51),t.K=oi(t,52))}function ui(){ui=Z;var t,e;YS=new Vi(ude),O7=new Vi(lde),NSt=(t0(),uft),a4e=new mn(xkt,NSt),W6=new mn(E6,null),o4e=new Vi(p8t),RSt=(hy(),ji(fft,lt(ct(dft,1),oe,291,0,[hft]))),YG=new mn(mH,RSt),QO=new mn(JI,(Nn(),!1)),jSt=(ao(),h0),qv=new mn(Tkt,jSt),qSt=(W0(),Cft),zSt=new mn(QI,qSt),GSt=new mn(CH,!1),USt=(G0(),tU),s5=new mn(vH,USt),nAt=new Ow(12),U2=new mn(xv,nAt),KG=new mn(GI,!1),WSt=new mn(_ct,!1),tP=new mn(j_,!1),oAt=(ua(),Tb),KS=new mn(Got,oAt),Y6=new Vi(yH),ZG=new Vi(VI),Eft=new Vi(tH),Tft=new Vi(R_),YSt=new Pu,a5=new mn(Okt,YSt),u4e=new mn(Nkt,!1),l4e=new mn(Bkt,!1),KSt=new OC,JO=new mn(jkt,KSt),QG=new mn(mkt,!1),g4e=new mn(hde,1),new mn(fde,!0),pe(0),new mn(dde,pe(100)),new mn(gde,!1),pe(0),new mn(pde,pe(4e3)),pe(0),new mn(bde,pe(400)),new mn(wde,!1),new mn(vde,!1),new mn(mde,!0),new mn(yde,!1),BSt=(jz(),Lft),c4e=new mn(g8t,BSt),p4e=new mn(okt,10),b4e=new mn(ckt,10),hAt=new mn(jot,20),w4e=new mn(ukt,10),fAt=new mn(Vot,2),v4e=new mn(lkt,10),dAt=new mn(hkt,0),JG=new mn(gkt,5),gAt=new mn(fkt,1),pAt=new mn(dkt,1),W2=new mn(Cy,20),m4e=new mn(pkt,10),vAt=new mn(bkt,10),K6=new Vi(wkt),wAt=new CUt,bAt=new mn($kt,wAt),f4e=new Vi(Cct),rAt=!1,h4e=new mn(Tct,rAt),QSt=new Ow(5),XSt=new mn(Ckt,QSt),ZSt=(py(),e=u(Vf(lo),9),new sh(e,u(ff(e,e.length),9),0)),o5=new mn(UE,ZSt),sAt=(l4(),Eb),iAt=new mn(Akt,sAt),vft=new Vi(Lkt),mft=new Vi(Mkt),yft=new Vi(Dkt),wft=new Vi(Ikt),JSt=(t=u(Vf(rA),9),new sh(t,u(ff(t,t.length),9),0)),G2=new mn(D4,JSt),eAt=un((ll(),R7)),xb=new mn(T6,eAt),tAt=new $e(0,0),c5=new mn(C6,tAt),XG=new mn(Ect,!1),$St=(M1(),P7),pft=new mn(Pkt,$St),gft=new mn(eH,!1),pe(1),new mn(xde,null),aAt=new Vi(Rkt),xft=new Vi(Fkt),lAt=(ve(),Zo),u5=new mn(ykt,lAt),dl=new Vi(vkt),cAt=(Zu(),un(Cb)),Qy=new mn(WE,cAt),kft=new mn(_kt,!1),uAt=new mn(Skt,!0),ZO=new mn(kkt,!1),bft=new mn(Ekt,!1),HSt=new mn($ot,1),VSt=(hq(),Sft),new mn(kde,VSt),d4e=!0}function ae(){ae=Z;var t,e;_i=new Vi(w6t),nCt=new Vi("coordinateOrigin"),Klt=new Vi("processors"),eCt=new Ps("compoundNode",(Nn(),!1)),SO=new Ps("insideConnections",!1),aCt=new Vi("originalBendpoints"),oCt=new Vi("originalDummyNodePosition"),cCt=new Vi("originalLabelEdge"),LO=new Vi("representedLabels"),kS=new Vi("endLabels"),B6=new Vi("endLabel.origin"),j6=new Ps("labelSide",(zl(),rP)),K4=new Ps("maxEdgeThickness",0),q1=new Ps("reversed",!1),$6=new Vi(i1e),r1=new Ps("longEdgeSource",null),$h=new Ps("longEdgeTarget",null),Ry=new Ps("longEdgeHasLabelDummies",!1),AO=new Ps("longEdgeBeforeLabelDummy",!1),tG=new Ps("edgeConstraint",(d2(),Ilt)),Pv=new Vi("inLayerLayoutUnit"),B2=new Ps("inLayerConstraint",(q0(),CO)),R6=new Ps("inLayerSuccessorConstraint",new he),sCt=new Ps("inLayerSuccessorConstraintBetweenNonDummies",!1),Ju=new Vi("portDummy"),JV=new Ps("crossingHint",pe(0)),Vc=new Ps("graphProperties",(e=u(Vf(jlt),9),new sh(e,u(ff(e,e.length),9),0))),oc=new Ps("externalPortSide",(ve(),Zo)),iCt=new Ps("externalPortSize",new Ca),Vlt=new Vi("externalPortReplacedDummies"),eG=new Vi("externalPortReplacedDummy"),By=new Ps("externalPortConnections",(t=u(Vf(Xa),9),new sh(t,u(ff(t,t.length),9),0))),Fv=new Ps(Xfe,0),tCt=new Vi("barycenterAssociates"),z6=new Vi("TopSideComments"),N6=new Vi("BottomSideComments"),ZV=new Vi("CommentConnectionPort"),Ult=new Ps("inputCollect",!1),Ylt=new Ps("outputCollect",!1),_O=new Ps("cyclic",!1),rCt=new Vi("crossHierarchyMap"),Qlt=new Vi("targetOffset"),new Ps("splineLabelSize",new Ca),Q4=new Vi("spacings"),nG=new Ps("partitionConstraint",!1),Iv=new Vi("breakingPoint.info"),hCt=new Vi("splines.survivingEdge"),R2=new Vi("splines.route.start"),Z4=new Vi("splines.edgeChain"),lCt=new Vi("originalPortConstraints"),x7=new Vi("selfLoopHolder"),k7=new Vi("splines.nsPortY"),Tc=new Vi("modelOrder"),Wlt=new Vi("longEdgeTargetNode"),Ov=new Ps(D1e,!1),X4=new Ps(D1e,!1),Glt=new Vi("layerConstraints.hiddenNodes"),uCt=new Vi("layerConstraints.opposidePort"),Xlt=new Vi("targetNode.modelOrder")}function Fxt(){Fxt=Z,kCt=(LD(),GV),gwe=new mn(C6t,kCt),_we=new mn(_6t,(Nn(),!1)),ACt=(I$(),Hlt),Dwe=new mn(sH,ACt),Uwe=new mn(S6t,!1),Wwe=new mn(A6t,!0),H2e=new mn(L6t,!1),NCt=(CD(),Tht),cve=new mn(M6t,NCt),pe(1),bve=new mn(D6t,pe(7)),wve=new mn(I6t,!1),Swe=new mn(O6t,!1),xCt=(x2(),Mlt),dwe=new mn(Qot,xCt),DCt=(uq(),wht),Gwe=new mn(KI,DCt),LCt=(dh(),MO),Bwe=new mn(P6t,LCt),pe(-1),Nwe=new mn(F6t,pe(-1)),pe(-1),Rwe=new mn(N6t,pe(-1)),pe(-1),jwe=new mn(Zot,pe(4)),pe(-1),zwe=new mn(Jot,pe(2)),MCt=(y4(),kG),Vwe=new mn(tct,MCt),pe(0),Hwe=new mn(ect,pe(0)),Pwe=new mn(nct,pe(wi)),yCt=(n6(),P6),fwe=new mn(H_,yCt),J2e=new mn(B6t,!1),awe=new mn(rct,.1),lwe=new mn(ict,!1),pe(-1),cwe=new mn(R6t,pe(-1)),pe(-1),uwe=new mn(j6t,pe(-1)),pe(0),twe=new mn($6t,pe(40)),mCt=(eE(),zlt),iwe=new mn(sct,mCt),vCt=TO,ewe=new mn(aH,vCt),FCt=(u_(),DS),ove=new mn(I4,FCt),Zwe=new Vi(oH),ICt=(xD(),WV),Ywe=new mn(act,ICt),OCt=(oI(),YV),Xwe=new mn(oct,OCt),eve=new mn(cct,.3),rve=new Vi(uct),PCt=(cy(),xG),ive=new mn(lct,PCt),CCt=(yz(),_ht),mwe=new mn(z6t,CCt),_Ct=(pD(),Sht),ywe=new mn(q6t,_Ct),SCt=(cE(),PS),xwe=new mn(cH,SCt),Ewe=new mn(uH,.2),wwe=new mn(hct,2),fve=new mn(H6t,null),gve=new mn(V6t,10),dve=new mn(G6t,10),pve=new mn(U6t,20),pe(0),uve=new mn(W6t,pe(0)),pe(0),lve=new mn(Y6t,pe(0)),pe(0),hve=new mn(K6t,pe(0)),V2e=new mn(fct,!1),gCt=(kE(),mS),U2e=new mn(X6t,gCt),dCt=(H$(),Alt),G2e=new mn(Q6t,dCt),Lwe=new mn(lH,!1),pe(0),Awe=new mn(dct,pe(16)),pe(0),Mwe=new mn(gct,pe(5)),jCt=(Cz(),Mht),Bve=new mn(tg,jCt),vve=new mn(hH,10),xve=new mn(fH,1),RCt=(oz(),VV),Ave=new mn(V_,RCt),Tve=new Vi(pct),BCt=pe(1),pe(0),_ve=new mn(bct,BCt),$Ct=(vz(),Lht),zve=new mn(dH,$Ct),Rve=new Vi(gH),Ove=new mn(pH,!0),Dve=new mn(bH,2),Fve=new mn(wct,!0),TCt=(dq(),UV),bwe=new mn(Z6t,TCt),ECt=(h6(),p7),pwe=new mn(J6t,ECt),wCt=(V0(),vb),Z2e=new mn(wH,wCt),Q2e=new mn(tkt,!1),pCt=(iv(),q4),W2e=new mn(vct,pCt),bCt=(Z9(),vht),X2e=new mn(ekt,bCt),Y2e=new mn(mct,0),K2e=new mn(yct,0),Owe=Dlt,Iwe=EO,$we=mG,qwe=mG,Fwe=bht,owe=(G0(),sp),hwe=P6,swe=P6,nwe=P6,rwe=sp,Jwe=IS,tve=DS,Kwe=DS,Qwe=DS,nve=kht,ave=IS,sve=IS,kwe=(W0(),X6),Twe=X6,Cwe=PS,vwe=eP,mve=L7,yve=Yy,kve=L7,Eve=Yy,Lve=L7,Mve=Yy,Cve=Llt,Sve=VV,qve=L7,Hve=Yy,jve=L7,$ve=Yy,Pve=Yy,Ive=Yy,Nve=Yy}function ro(){ro=Z,J7t=new ms("DIRECTION_PREPROCESSOR",0),X7t=new ms("COMMENT_PREPROCESSOR",1),gS=new ms("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),glt=new ms("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),vTt=new ms("PARTITION_PREPROCESSOR",4),CV=new ms("LABEL_DUMMY_INSERTER",5),FV=new ms("SELF_LOOP_PREPROCESSOR",6),h7=new ms("LAYER_CONSTRAINT_PREPROCESSOR",7),bTt=new ms("PARTITION_MIDPROCESSOR",8),oTt=new ms("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),gTt=new ms("NODE_PROMOTION",10),l7=new ms("LAYER_CONSTRAINT_POSTPROCESSOR",11),wTt=new ms("PARTITION_POSTPROCESSOR",12),iTt=new ms("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),mTt=new ms("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),V7t=new ms("BREAKING_POINT_INSERTER",15),LV=new ms("LONG_EDGE_SPLITTER",16),plt=new ms("PORT_SIDE_PROCESSOR",17),EV=new ms("INVERTED_PORT_PROCESSOR",18),IV=new ms("PORT_LIST_SORTER",19),xTt=new ms("SORT_BY_INPUT_ORDER_OF_MODEL",20),DV=new ms("NORTH_SOUTH_PORT_PREPROCESSOR",21),G7t=new ms("BREAKING_POINT_PROCESSOR",22),pTt=new ms(E1e,23),kTt=new ms(T1e,24),OV=new ms("SELF_LOOP_PORT_RESTORER",25),yTt=new ms("SINGLE_EDGE_GRAPH_WRAPPER",26),TV=new ms("IN_LAYER_CONSTRAINT_PROCESSOR",27),eTt=new ms("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),fTt=new ms("LABEL_AND_NODE_SIZE_PROCESSOR",29),hTt=new ms("INNERMOST_NODE_MARGIN_CALCULATOR",30),NV=new ms("SELF_LOOP_ROUTER",31),Y7t=new ms("COMMENT_NODE_MARGIN_CALCULATOR",32),kV=new ms("END_LABEL_PREPROCESSOR",33),SV=new ms("LABEL_DUMMY_SWITCHER",34),W7t=new ms("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),u7=new ms("LABEL_SIDE_SELECTOR",36),uTt=new ms("HYPEREDGE_DUMMY_MERGER",37),sTt=new ms("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),dTt=new ms("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),pS=new ms("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),Q7t=new ms("CONSTRAINTS_POSTPROCESSOR",41),K7t=new ms("COMMENT_POSTPROCESSOR",42),lTt=new ms("HYPERNODE_PROCESSOR",43),aTt=new ms("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),AV=new ms("LONG_EDGE_JOINER",45),PV=new ms("SELF_LOOP_POSTPROCESSOR",46),U7t=new ms("BREAKING_POINT_REMOVER",47),MV=new ms("NORTH_SOUTH_PORT_POSTPROCESSOR",48),cTt=new ms("HORIZONTAL_COMPACTOR",49),_V=new ms("LABEL_DUMMY_REMOVER",50),nTt=new ms("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),tTt=new ms("END_LABEL_SORTER",52),xO=new ms("REVERSED_EDGE_RESTORER",53),xV=new ms("END_LABEL_POSTPROCESSOR",54),rTt=new ms("HIERARCHICAL_NODE_RESIZER",55),Z7t=new ms("DIRECTION_POSTPROCESSOR",56)}function zxn(t,e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe,Rn,zn,hr,pi,js,Zl,Xh,K1,kU,xP,bA,kP,H7,Gft,ixe,Uft,hp,Yv,V7,EP,TP,nk,Wft,wA,sxe,BLt,Kv,vA,Yft,rk,mA,o3,yA,Kft,axe;for(BLt=0,pi=e,Xh=0,xP=pi.length;Xh0&&(t.a[hp.p]=BLt++)}for(mA=0,js=n,K1=0,bA=js.length;K10;){for(hp=(Zn(TP.b>0),u(TP.a.Xb(TP.c=--TP.b),11)),EP=0,d=new S(hp.e);d.a0&&(hp.j==(ve(),Pn)?(t.a[hp.p]=mA,++mA):(t.a[hp.p]=mA+kP+Gft,++Gft))}mA+=Gft}for(V7=new _r,G=new O0,hr=e,Zl=0,kU=hr.length;Zlk.b&&(k.b=nk)):hp.i.c==sxe&&(nkk.c&&(k.c=nk));for($8(K,0,K.length,null),rk=Nt(Cr,Xr,25,K.length,15,1),r=Nt(Cr,Xr,25,mA+1,15,1),gt=0;gt0;)_e%2>0&&(s+=Kft[_e+1]),_e=(_e-1)/2|0,++Kft[_e];for(Qe=Nt(Ime,De,362,K.length*2,0,1),Rt=0;Rt'?":hn(t0e,t)?"'(?<' or '(? toIndex: ",Yxt=", toIndex: ",Kxt="Index: ",Xxt=", Size: ",zE="org.eclipse.elk.alg.common",Oi={62:1},Ife="org.eclipse.elk.alg.common.compaction",Ofe="Scanline/EventHandler",a0="org.eclipse.elk.alg.common.compaction.oned",Pfe="CNode belongs to another CGroup.",Ffe="ISpacingsHandler/1",Sot="The ",Aot=" instance has been finished already.",Nfe="The direction ",Bfe=" is not supported by the CGraph instance.",Rfe="OneDimensionalCompactor",jfe="OneDimensionalCompactor/lambda$0$Type",$fe="Quadruplet",zfe="ScanlineConstraintCalculator",qfe="ScanlineConstraintCalculator/ConstraintsScanlineHandler",Hfe="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",Vfe="ScanlineConstraintCalculator/Timestamp",Gfe="ScanlineConstraintCalculator/lambda$0$Type",xd={169:1,45:1},Lot="org.eclipse.elk.alg.common.compaction.options",Qo="org.eclipse.elk.core.data",Qxt="org.eclipse.elk.polyomino.traversalStrategy",Zxt="org.eclipse.elk.polyomino.lowLevelSort",Jxt="org.eclipse.elk.polyomino.highLevelSort",t6t="org.eclipse.elk.polyomino.fill",Oh={130:1},Mot="polyomino",F_="org.eclipse.elk.alg.common.networksimplex",o0={177:1,3:1,4:1},Ufe="org.eclipse.elk.alg.common.nodespacing",_2="org.eclipse.elk.alg.common.nodespacing.cellsystem",qE="CENTER",Wfe={212:1,326:1},e6t={3:1,4:1,5:1,595:1},y6="LEFT",x6="RIGHT",n6t="Vertical alignment cannot be null",r6t="BOTTOM",Yq="org.eclipse.elk.alg.common.nodespacing.internal",N_="UNDEFINED",B1=.01,zI="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",Yfe="LabelPlacer/lambda$0$Type",Kfe="LabelPlacer/lambda$1$Type",Xfe="portRatioOrPosition",HE="org.eclipse.elk.alg.common.overlaps",Dot="DOWN",kd="org.eclipse.elk.alg.common.polyomino",Kq="NORTH",Iot="EAST",Oot="SOUTH",Pot="WEST",Xq="org.eclipse.elk.alg.common.polyomino.structures",i6t="Direction",Fot="Grid is only of size ",Not=". Requested point (",Bot=") is out of bounds.",Qq=" Given center based coordinates were (",qI="org.eclipse.elk.graph.properties",Qfe="IPropertyHolder",s6t={3:1,94:1,134:1},k6="org.eclipse.elk.alg.common.spore",Zfe="org.eclipse.elk.alg.common.utils",S2={209:1},L4="org.eclipse.elk.core",Jfe="Connected Components Compaction",t1e="org.eclipse.elk.alg.disco",Zq="org.eclipse.elk.alg.disco.graph",Rot="org.eclipse.elk.alg.disco.options",a6t="CompactionStrategy",o6t="org.eclipse.elk.disco.componentCompaction.strategy",c6t="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",u6t="org.eclipse.elk.disco.debug.discoGraph",l6t="org.eclipse.elk.disco.debug.discoPolys",e1e="componentCompaction",A2="org.eclipse.elk.disco",jot="org.eclipse.elk.spacing.componentComponent",$ot="org.eclipse.elk.edge.thickness",E6="org.eclipse.elk.aspectRatio",xv="org.eclipse.elk.padding",M4="org.eclipse.elk.alg.disco.transform",zot=1.5707963267948966,VE=17976931348623157e292,Ty={3:1,4:1,5:1,192:1},h6t={3:1,6:1,4:1,5:1,106:1,120:1},f6t="org.eclipse.elk.alg.force",d6t="ComponentsProcessor",n1e="ComponentsProcessor/1",HI="org.eclipse.elk.alg.force.graph",r1e="Component Layout",g6t="org.eclipse.elk.alg.force.model",Jq="org.eclipse.elk.force.model",p6t="org.eclipse.elk.force.iterations",b6t="org.eclipse.elk.force.repulsivePower",qot="org.eclipse.elk.force.temperature",Ed=.001,Hot="org.eclipse.elk.force.repulsion",B_="org.eclipse.elk.alg.force.options",GE=1.600000023841858,Vl="org.eclipse.elk.force",VI="org.eclipse.elk.priority",Cy="org.eclipse.elk.spacing.nodeNode",Vot="org.eclipse.elk.spacing.edgeLabel",tH="org.eclipse.elk.randomSeed",R_="org.eclipse.elk.separateConnectedComponents",GI="org.eclipse.elk.interactive",Got="org.eclipse.elk.portConstraints",eH="org.eclipse.elk.edgeLabels.inline",j_="org.eclipse.elk.omitNodeMicroLayout",T6="org.eclipse.elk.nodeSize.options",D4="org.eclipse.elk.nodeSize.constraints",UE="org.eclipse.elk.nodeLabels.placement",WE="org.eclipse.elk.portLabels.placement",w6t="origin",i1e="random",s1e="boundingBox.upLeft",a1e="boundingBox.lowRight",v6t="org.eclipse.elk.stress.fixed",m6t="org.eclipse.elk.stress.desiredEdgeLength",y6t="org.eclipse.elk.stress.dimension",x6t="org.eclipse.elk.stress.epsilon",k6t="org.eclipse.elk.stress.iterationLimit",ob="org.eclipse.elk.stress",o1e="ELK Stress",C6="org.eclipse.elk.nodeSize.minimum",nH="org.eclipse.elk.alg.force.stress",c1e="Layered layout",_6="org.eclipse.elk.alg.layered",UI="org.eclipse.elk.alg.layered.compaction.components",$_="org.eclipse.elk.alg.layered.compaction.oned",rH="org.eclipse.elk.alg.layered.compaction.oned.algs",L2="org.eclipse.elk.alg.layered.compaction.recthull",Td="org.eclipse.elk.alg.layered.components",J0="NONE",xc={3:1,6:1,4:1,9:1,5:1,122:1},u1e={3:1,6:1,4:1,5:1,141:1,106:1,120:1},iH="org.eclipse.elk.alg.layered.compound",os={51:1},tu="org.eclipse.elk.alg.layered.graph",Uot=" -> ",l1e="Not supported by LGraph",E6t="Port side is undefined",Wot={3:1,6:1,4:1,5:1,474:1,141:1,106:1,120:1},Yg={3:1,6:1,4:1,5:1,141:1,193:1,203:1,106:1,120:1},h1e={3:1,6:1,4:1,5:1,141:1,1943:1,203:1,106:1,120:1},f1e=`([{"' \r +`,d1e=`)]}"' \r +`,g1e="The given string contains parts that cannot be parsed as numbers.",WI="org.eclipse.elk.core.math",p1e={3:1,4:1,142:1,207:1,414:1},b1e={3:1,4:1,116:1,207:1,414:1},Gn="org.eclipse.elk.layered",Kg="org.eclipse.elk.alg.layered.graph.transform",w1e="ElkGraphImporter",v1e="ElkGraphImporter/lambda$0$Type",m1e="ElkGraphImporter/lambda$1$Type",y1e="ElkGraphImporter/lambda$2$Type",x1e="ElkGraphImporter/lambda$4$Type",k1e="Node margin calculation",$n="org.eclipse.elk.alg.layered.intermediate",E1e="ONE_SIDED_GREEDY_SWITCH",T1e="TWO_SIDED_GREEDY_SWITCH",Yot="No implementation is available for the layout processor ",T6t="IntermediateProcessorStrategy",Kot="Node '",C1e="FIRST_SEPARATE",_1e="LAST_SEPARATE",S1e="Odd port side processing",_s="org.eclipse.elk.alg.layered.intermediate.compaction",z_="org.eclipse.elk.alg.layered.intermediate.greedyswitch",c0="org.eclipse.elk.alg.layered.p3order.counting",YI={225:1},S6="org.eclipse.elk.alg.layered.intermediate.loops",Gl="org.eclipse.elk.alg.layered.intermediate.loops.ordering",cb="org.eclipse.elk.alg.layered.intermediate.loops.routing",q_="org.eclipse.elk.alg.layered.intermediate.preserveorder",Cd="org.eclipse.elk.alg.layered.intermediate.wrapping",kc="org.eclipse.elk.alg.layered.options",Xot="INTERACTIVE",A1e="DEPTH_FIRST",L1e="EDGE_LENGTH",M1e="SELF_LOOPS",D1e="firstTryWithInitialOrder",C6t="org.eclipse.elk.layered.directionCongruency",_6t="org.eclipse.elk.layered.feedbackEdges",sH="org.eclipse.elk.layered.interactiveReferencePoint",S6t="org.eclipse.elk.layered.mergeEdges",A6t="org.eclipse.elk.layered.mergeHierarchyEdges",L6t="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",M6t="org.eclipse.elk.layered.portSortingStrategy",D6t="org.eclipse.elk.layered.thoroughness",I6t="org.eclipse.elk.layered.unnecessaryBendpoints",O6t="org.eclipse.elk.layered.generatePositionAndLayerIds",Qot="org.eclipse.elk.layered.cycleBreaking.strategy",KI="org.eclipse.elk.layered.layering.strategy",P6t="org.eclipse.elk.layered.layering.layerConstraint",F6t="org.eclipse.elk.layered.layering.layerChoiceConstraint",N6t="org.eclipse.elk.layered.layering.layerId",Zot="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",Jot="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",tct="org.eclipse.elk.layered.layering.nodePromotion.strategy",ect="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",nct="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",H_="org.eclipse.elk.layered.crossingMinimization.strategy",B6t="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",rct="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",ict="org.eclipse.elk.layered.crossingMinimization.semiInteractive",R6t="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",j6t="org.eclipse.elk.layered.crossingMinimization.positionId",$6t="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",sct="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",aH="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",I4="org.eclipse.elk.layered.nodePlacement.strategy",oH="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",act="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",oct="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",cct="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",uct="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",lct="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",z6t="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",q6t="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",cH="org.eclipse.elk.layered.edgeRouting.splines.mode",uH="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",hct="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",H6t="org.eclipse.elk.layered.spacing.baseValue",V6t="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",G6t="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",U6t="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",W6t="org.eclipse.elk.layered.priority.direction",Y6t="org.eclipse.elk.layered.priority.shortness",K6t="org.eclipse.elk.layered.priority.straightness",fct="org.eclipse.elk.layered.compaction.connectedComponents",X6t="org.eclipse.elk.layered.compaction.postCompaction.strategy",Q6t="org.eclipse.elk.layered.compaction.postCompaction.constraints",lH="org.eclipse.elk.layered.highDegreeNodes.treatment",dct="org.eclipse.elk.layered.highDegreeNodes.threshold",gct="org.eclipse.elk.layered.highDegreeNodes.treeHeight",tg="org.eclipse.elk.layered.wrapping.strategy",hH="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",fH="org.eclipse.elk.layered.wrapping.correctionFactor",V_="org.eclipse.elk.layered.wrapping.cutting.strategy",pct="org.eclipse.elk.layered.wrapping.cutting.cuts",bct="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",dH="org.eclipse.elk.layered.wrapping.validify.strategy",gH="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",pH="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",bH="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",wct="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",Z6t="org.eclipse.elk.layered.edgeLabels.sideSelection",J6t="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",wH="org.eclipse.elk.layered.considerModelOrder.strategy",tkt="org.eclipse.elk.layered.considerModelOrder.noModelOrder",vct="org.eclipse.elk.layered.considerModelOrder.components",ekt="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",mct="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",yct="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",xct="layering",I1e="layering.minWidth",O1e="layering.nodePromotion",XI="crossingMinimization",vH="org.eclipse.elk.hierarchyHandling",P1e="crossingMinimization.greedySwitch",F1e="nodePlacement",N1e="nodePlacement.bk",B1e="edgeRouting",QI="org.eclipse.elk.edgeRouting",R1="spacing",nkt="priority",rkt="compaction",R1e="compaction.postCompaction",j1e="Specifies whether and how post-process compaction is applied.",ikt="highDegreeNodes",skt="wrapping",$1e="wrapping.cutting",z1e="wrapping.validify",akt="wrapping.multiEdge",kct="edgeLabels",ZI="considerModelOrder",okt="org.eclipse.elk.spacing.commentComment",ckt="org.eclipse.elk.spacing.commentNode",ukt="org.eclipse.elk.spacing.edgeEdge",lkt="org.eclipse.elk.spacing.edgeNode",hkt="org.eclipse.elk.spacing.labelLabel",fkt="org.eclipse.elk.spacing.labelPortHorizontal",dkt="org.eclipse.elk.spacing.labelPortVertical",gkt="org.eclipse.elk.spacing.labelNode",pkt="org.eclipse.elk.spacing.nodeSelfLoop",bkt="org.eclipse.elk.spacing.portPort",wkt="org.eclipse.elk.spacing.individual",vkt="org.eclipse.elk.port.borderOffset",mkt="org.eclipse.elk.noLayout",ykt="org.eclipse.elk.port.side",JI="org.eclipse.elk.debugMode",xkt="org.eclipse.elk.alignment",kkt="org.eclipse.elk.insideSelfLoops.activate",Ekt="org.eclipse.elk.insideSelfLoops.yo",Ect="org.eclipse.elk.nodeSize.fixedGraphSize",Tkt="org.eclipse.elk.direction",Ckt="org.eclipse.elk.nodeLabels.padding",_kt="org.eclipse.elk.portLabels.nextToPortIfPossible",Skt="org.eclipse.elk.portLabels.treatAsGroup",Akt="org.eclipse.elk.portAlignment.default",Lkt="org.eclipse.elk.portAlignment.north",Mkt="org.eclipse.elk.portAlignment.south",Dkt="org.eclipse.elk.portAlignment.west",Ikt="org.eclipse.elk.portAlignment.east",mH="org.eclipse.elk.contentAlignment",Okt="org.eclipse.elk.junctionPoints",Pkt="org.eclipse.elk.edgeLabels.placement",Fkt="org.eclipse.elk.port.index",Nkt="org.eclipse.elk.commentBox",Bkt="org.eclipse.elk.hypernode",Rkt="org.eclipse.elk.port.anchor",Tct="org.eclipse.elk.partitioning.activate",Cct="org.eclipse.elk.partitioning.partition",yH="org.eclipse.elk.position",jkt="org.eclipse.elk.margins",$kt="org.eclipse.elk.spacing.portsSurrounding",_ct="org.eclipse.elk.interactiveLayout",Ec="org.eclipse.elk.core.util",zkt={3:1,4:1,5:1,593:1},q1e="NETWORK_SIMPLEX",zc={123:1,51:1},xH="org.eclipse.elk.alg.layered.p1cycles",_y="org.eclipse.elk.alg.layered.p2layers",qkt={402:1,225:1},H1e={832:1,3:1,4:1},qu="org.eclipse.elk.alg.layered.p3order",uo="org.eclipse.elk.alg.layered.p4nodes",V1e={3:1,4:1,5:1,840:1},_d=1e-5,ub="org.eclipse.elk.alg.layered.p4nodes.bk",Sct="org.eclipse.elk.alg.layered.p5edges",t1="org.eclipse.elk.alg.layered.p5edges.orthogonal",Act="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",Lct=1e-6,Sy="org.eclipse.elk.alg.layered.p5edges.splines",Mct=.09999999999999998,kH=1e-8,G1e=4.71238898038469,U1e=3.141592653589793,G_="org.eclipse.elk.alg.mrtree",U_="org.eclipse.elk.alg.mrtree.graph",A6="org.eclipse.elk.alg.mrtree.intermediate",W1e="Set neighbors in level",Y1e="DESCENDANTS",Hkt="org.eclipse.elk.mrtree.weighting",Vkt="org.eclipse.elk.mrtree.searchOrder",EH="org.eclipse.elk.alg.mrtree.options",Xg="org.eclipse.elk.mrtree",K1e="org.eclipse.elk.tree",Gkt="org.eclipse.elk.alg.radial",O4=6.283185307179586,Ukt=5e-324,X1e="org.eclipse.elk.alg.radial.intermediate",Dct="org.eclipse.elk.alg.radial.intermediate.compaction",Q1e={3:1,4:1,5:1,106:1},Wkt="org.eclipse.elk.alg.radial.intermediate.optimization",Ict="No implementation is available for the layout option ",W_="org.eclipse.elk.alg.radial.options",Ykt="org.eclipse.elk.radial.orderId",Kkt="org.eclipse.elk.radial.radius",Oct="org.eclipse.elk.radial.compactor",Pct="org.eclipse.elk.radial.compactionStepSize",Xkt="org.eclipse.elk.radial.sorter",Qkt="org.eclipse.elk.radial.wedgeCriteria",Zkt="org.eclipse.elk.radial.optimizationCriteria",Sd="org.eclipse.elk.radial",Z1e="org.eclipse.elk.alg.radial.p1position.wedge",Jkt="org.eclipse.elk.alg.radial.sorting",J1e=5.497787143782138,tde=3.9269908169872414,ede=2.356194490192345,nde="org.eclipse.elk.alg.rectpacking",TH="org.eclipse.elk.alg.rectpacking.firstiteration",Fct="org.eclipse.elk.alg.rectpacking.options",t8t="org.eclipse.elk.rectpacking.optimizationGoal",e8t="org.eclipse.elk.rectpacking.lastPlaceShift",n8t="org.eclipse.elk.rectpacking.currentPosition",r8t="org.eclipse.elk.rectpacking.desiredPosition",i8t="org.eclipse.elk.rectpacking.onlyFirstIteration",s8t="org.eclipse.elk.rectpacking.rowCompaction",Nct="org.eclipse.elk.rectpacking.expandToAspectRatio",a8t="org.eclipse.elk.rectpacking.targetWidth",CH="org.eclipse.elk.expandNodes",Ph="org.eclipse.elk.rectpacking",tO="org.eclipse.elk.alg.rectpacking.util",_H="No implementation available for ",Ay="org.eclipse.elk.alg.spore",Ly="org.eclipse.elk.alg.spore.options",kv="org.eclipse.elk.sporeCompaction",Bct="org.eclipse.elk.underlyingLayoutAlgorithm",o8t="org.eclipse.elk.processingOrder.treeConstruction",c8t="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Rct="org.eclipse.elk.processingOrder.preferredRoot",jct="org.eclipse.elk.processingOrder.rootSelection",$ct="org.eclipse.elk.structure.structureExtractionStrategy",u8t="org.eclipse.elk.compaction.compactionStrategy",l8t="org.eclipse.elk.compaction.orthogonal",h8t="org.eclipse.elk.overlapRemoval.maxIterations",f8t="org.eclipse.elk.overlapRemoval.runScanline",zct="processingOrder",rde="overlapRemoval",YE="org.eclipse.elk.sporeOverlap",ide="org.eclipse.elk.alg.spore.p1structure",qct="org.eclipse.elk.alg.spore.p2processingorder",Hct="org.eclipse.elk.alg.spore.p3execution",sde="Invalid index: ",KE="org.eclipse.elk.core.alg",P4={331:1},My={288:1},ade="Make sure its type is registered with the ",d8t=" utility class.",XE="true",Vct="false",ode="Couldn't clone property '",Ev=.05,Fh="org.eclipse.elk.core.options",cde=1.2999999523162842,Tv="org.eclipse.elk.box",g8t="org.eclipse.elk.box.packingMode",ude="org.eclipse.elk.algorithm",lde="org.eclipse.elk.resolvedAlgorithm",p8t="org.eclipse.elk.bendPoints",Uxn="org.eclipse.elk.labelManager",hde="org.eclipse.elk.scaleFactor",fde="org.eclipse.elk.animate",dde="org.eclipse.elk.animTimeFactor",gde="org.eclipse.elk.layoutAncestors",pde="org.eclipse.elk.maxAnimTime",bde="org.eclipse.elk.minAnimTime",wde="org.eclipse.elk.progressBar",vde="org.eclipse.elk.validateGraph",mde="org.eclipse.elk.validateOptions",yde="org.eclipse.elk.zoomToFit",Wxn="org.eclipse.elk.font.name",xde="org.eclipse.elk.font.size",kde="org.eclipse.elk.edge.type",Ede="partitioning",Tde="nodeLabels",SH="portAlignment",Gct="nodeSize",Uct="port",b8t="portLabels",Cde="insideSelfLoops",Y_="org.eclipse.elk.fixed",AH="org.eclipse.elk.random",_de="port must have a parent node to calculate the port side",Sde="The edge needs to have exactly one edge section. Found: ",K_="org.eclipse.elk.core.util.adapters",ph="org.eclipse.emf.ecore",F4="org.eclipse.elk.graph",Ade="EMapPropertyHolder",Lde="ElkBendPoint",Mde="ElkGraphElement",Dde="ElkConnectableShape",w8t="ElkEdge",Ide="ElkEdgeSection",Ode="EModelElement",Pde="ENamedElement",v8t="ElkLabel",m8t="ElkNode",y8t="ElkPort",Fde={92:1,90:1},L6="org.eclipse.emf.common.notify.impl",lb="The feature '",X_="' is not a valid changeable feature",Nde="Expecting null",Wct="' is not a valid feature",Bde="The feature ID",Rde=" is not a valid feature ID",dc=32768,jde={105:1,92:1,90:1,56:1,49:1,97:1},Mn="org.eclipse.emf.ecore.impl",M2="org.eclipse.elk.graph.impl",Q_="Recursive containment not allowed for ",QE="The datatype '",Cv="' is not a valid classifier",Yct="The value '",N4={190:1,3:1,4:1},Kct="The class '",ZE="http://www.eclipse.org/elk/ElkGraph",xf=1024,x8t="property",Z_="value",Xct="source",$de="properties",zde="identifier",Qct="height",Zct="width",Jct="parent",tut="text",eut="children",qde="hierarchical",k8t="sources",nut="targets",E8t="sections",LH="bendPoints",T8t="outgoingShape",C8t="incomingShape",_8t="outgoingSections",S8t="incomingSections",Ra="org.eclipse.emf.common.util",A8t="Severe implementation error in the Json to ElkGraph importer.",Ad="id",ma="org.eclipse.elk.graph.json",L8t="Unhandled parameter types: ",Hde="startPoint",Vde="An edge must have at least one source and one target (edge id: '",JE="').",Gde="Referenced edge section does not exist: ",Ude=" (edge id: '",M8t="target",Wde="sourcePoint",Yde="targetPoint",MH="group",ci="name",Kde="connectableShape cannot be null",Xde="edge cannot be null",rut="Passed edge is not 'simple'.",DH="org.eclipse.elk.graph.util",eO="The 'no duplicates' constraint is violated",iut="targetIndex=",D2=", size=",sut="sourceIndex=",Ld={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1},aut={3:1,4:1,20:1,28:1,52:1,14:1,47:1,15:1,54:1,67:1,63:1,58:1,588:1},IH="logging",Qde="measureExecutionTime",Zde="parser.parse.1",Jde="parser.parse.2",OH="parser.next.1",out="parser.next.2",t0e="parser.next.3",e0e="parser.next.4",I2="parser.factor.1",D8t="parser.factor.2",n0e="parser.factor.3",r0e="parser.factor.4",i0e="parser.factor.5",s0e="parser.factor.6",a0e="parser.atom.1",o0e="parser.atom.2",c0e="parser.atom.3",I8t="parser.atom.4",cut="parser.atom.5",O8t="parser.cc.1",PH="parser.cc.2",u0e="parser.cc.3",l0e="parser.cc.5",P8t="parser.cc.6",F8t="parser.cc.7",uut="parser.cc.8",h0e="parser.ope.1",f0e="parser.ope.2",d0e="parser.ope.3",Qg="parser.descape.1",g0e="parser.descape.2",p0e="parser.descape.3",b0e="parser.descape.4",w0e="parser.descape.5",bh="parser.process.1",v0e="parser.quantifier.1",m0e="parser.quantifier.2",y0e="parser.quantifier.3",x0e="parser.quantifier.4",N8t="parser.quantifier.5",k0e="org.eclipse.emf.common.notify",B8t={415:1,672:1},E0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1},nO={366:1,143:1},J_="index=",lut={3:1,4:1,5:1,126:1},T0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,58:1},R8t={3:1,6:1,4:1,5:1,192:1},C0e={3:1,4:1,5:1,165:1,367:1},_0e=";/?:@&=+$,",S0e="invalid authority: ",A0e="EAnnotation",L0e="ETypedElement",M0e="EStructuralFeature",D0e="EAttribute",I0e="EClassifier",O0e="EEnumLiteral",P0e="EGenericType",F0e="EOperation",N0e="EParameter",B0e="EReference",R0e="ETypeParameter",$i="org.eclipse.emf.ecore.util",hut={76:1},j8t={3:1,20:1,14:1,15:1,58:1,589:1,76:1,69:1,95:1},j0e="org.eclipse.emf.ecore.util.FeatureMap$Entry",Hu=8192,Dy=2048,tS="byte",FH="char",eS="double",nS="float",rS="int",iS="long",sS="short",$0e="java.lang.Object",B4={3:1,4:1,5:1,247:1},$8t={3:1,4:1,5:1,673:1},z0e={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,69:1},zo={3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,69:1,95:1},rO="mixed",Yr="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Nh="kind",q0e={3:1,4:1,5:1,674:1},z8t={3:1,4:1,20:1,28:1,52:1,14:1,15:1,67:1,58:1,76:1,69:1,95:1},NH={20:1,28:1,52:1,14:1,15:1,58:1,69:1},BH={47:1,125:1,279:1},RH={72:1,332:1},jH="The value of type '",$H="' must be of type '",R4=1316,Bh="http://www.eclipse.org/emf/2002/Ecore",zH=-32768,_v="constraints",Aa="baseType",H0e="getEStructuralFeature",V0e="getFeatureID",aS="feature",G0e="getOperationID",q8t="operation",U0e="defaultValue",W0e="eTypeParameters",Y0e="isInstance",K0e="getEEnumLiteral",X0e="eContainingClass",si={55:1},Q0e={3:1,4:1,5:1,119:1},Z0e="org.eclipse.emf.ecore.resource",J0e={92:1,90:1,591:1,1935:1},fut="org.eclipse.emf.ecore.resource.impl",H8t="unspecified",iO="simple",qH="attribute",tge="attributeWildcard",HH="element",dut="elementWildcard",e1="collapse",gut="itemType",VH="namespace",sO="##targetNamespace",Rh="whiteSpace",V8t="wildcards",O2="http://www.eclipse.org/emf/2003/XMLType",put="##any",t7="uninitialized",aO="The multiplicity constraint is violated",GH="org.eclipse.emf.ecore.xml.type",ege="ProcessingInstruction",nge="SimpleAnyType",rge="XMLTypeDocumentRoot",xs="org.eclipse.emf.ecore.xml.type.impl",oO="INF",ige="processing",sge="ENTITIES_._base",G8t="minLength",U8t="ENTITY",UH="NCName",age="IDREFS_._base",W8t="integer",but="token",wut="pattern",oge="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",Y8t="\\i\\c*",cge="[\\i-[:]][\\c-[:]]*",uge="nonPositiveInteger",cO="maxInclusive",K8t="NMTOKEN",lge="NMTOKENS_._base",X8t="nonNegativeInteger",uO="minInclusive",hge="normalizedString",fge="unsignedByte",dge="unsignedInt",gge="18446744073709551615",pge="unsignedShort",bge="processingInstruction",Zg="org.eclipse.emf.ecore.xml.type.internal",e7=1114111,wge="Internal Error: shorthands: \\u",oS="xml:isDigit",vut="xml:isWord",mut="xml:isSpace",yut="xml:isNameChar",xut="xml:isInitialNameChar",vge="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",mge="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",yge="Private Use",kut="ASSIGNED",Eut="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",Q8t="UNASSIGNED",n7={3:1,117:1},xge="org.eclipse.emf.ecore.xml.type.util",WH={3:1,4:1,5:1,368:1},Z8t="org.eclipse.xtext.xbase.lib",kge="Cannot add elements to a Range",Ege="Cannot set elements in a Range",Tge="Cannot remove elements from a Range",YH="locale",KH="default",XH="user.agent",l,QH,Tut;b.goog=b.goog||{},b.goog.global=b.goog.global||b,mgn(),D(1,null,{},_),l.Fb=function(e){return mUt(this,e)},l.Gb=function(){return this.gm},l.Hb=function(){return Pw(this)},l.Ib=function(){var e;return Ip(ol(this))+"@"+(e=Hi(this)>>>0,e.toString(16))},l.equals=function(t){return this.Fb(t)},l.hashCode=function(){return this.Hb()},l.toString=function(){return this.Ib()};var Cge,_ge,Sge;D(290,1,{290:1,2026:1},Lyt),l.le=function(e){var n;return n=new Lyt,n.i=4,e>1?n.c=NQt(this,e-1):n.c=this,n},l.me=function(){return P0(this),this.b},l.ne=function(){return Ip(this)},l.oe=function(){return P0(this),this.k},l.pe=function(){return(this.i&4)!=0},l.qe=function(){return(this.i&1)!=0},l.Ib=function(){return Vmt(this)},l.i=0;var Qn=F(Xo,"Object",1),J8t=F(Xo,"Class",290);D(1998,1,DI),F(II,"Optional",1998),D(1170,1998,DI,A),l.Fb=function(e){return e===this},l.Hb=function(){return 2040732332},l.Ib=function(){return"Optional.absent()"},l.Jb=function(e){return Lr(e),PC(),Cut};var Cut;F(II,"Absent",1170),D(628,1,{},vet),F(II,"Joiner",628);var Yxn=Ki(II,"Predicate");D(582,1,{169:1,582:1,3:1,45:1},mC),l.Mb=function(e){return kre(this,e)},l.Lb=function(e){return kre(this,e)},l.Fb=function(e){var n;return _t(e,582)?(n=u(e,582),k5t(this.a,n.a)):!1},l.Hb=function(){return Pyt(this.a)+306654252},l.Ib=function(){return spn(this.a)},F(II,"Predicates/AndPredicate",582),D(408,1998,{408:1,3:1},Wk),l.Fb=function(e){var n;return _t(e,408)?(n=u(e,408),yi(this.a,n.a)):!1},l.Hb=function(){return 1502476572+Hi(this.a)},l.Ib=function(){return cfe+this.a+")"},l.Jb=function(e){return new Wk(g$(e.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},F(II,"Present",408),D(198,1,FE),l.Nb=function(e){ba(this,e)},l.Qb=function(){uHt()},F(Ke,"UnmodifiableIterator",198),D(1978,198,NE),l.Qb=function(){uHt()},l.Rb=function(e){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ke,"UnmodifiableListIterator",1978),D(386,1978,NE),l.Ob=function(){return this.c0},l.Pb=function(){if(this.c>=this.d)throw it(new lc);return this.Xb(this.c++)},l.Tb=function(){return this.c},l.Ub=function(){if(this.c<=0)throw it(new lc);return this.Xb(--this.c)},l.Vb=function(){return this.c-1},l.c=0,l.d=0,F(Ke,"AbstractIndexedListIterator",386),D(699,198,FE),l.Ob=function(){return bit(this)},l.Pb=function(){return Rmt(this)},l.e=1,F(Ke,"AbstractIterator",699),D(1986,1,{224:1}),l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.Fb=function(e){return Pit(this,e)},l.Hb=function(){return Hi(this.Zb())},l.dc=function(){return this.gc()==0},l.ec=function(){return qx(this)},l.Ib=function(){return $o(this.Zb())},F(Ke,"AbstractMultimap",1986),D(726,1986,T2),l.$b=function(){cz(this)},l._b=function(e){return AHt(this,e)},l.ac=function(){return new l8(this,this.c)},l.ic=function(e){return this.hc()},l.bc=function(){return new K3(this,this.c)},l.jc=function(){return this.mc(this.hc())},l.kc=function(){return new Uqt(this)},l.lc=function(){return zst(this.c.vc().Nc(),new B,64,this.d)},l.cc=function(e){return Ai(this,e)},l.fc=function(e){return GD(this,e)},l.gc=function(){return this.d},l.mc=function(e){return wn(),new T(e)},l.nc=function(){return new Gqt(this)},l.oc=function(){return zst(this.c.Cc().Nc(),new I,64,this.d)},l.pc=function(e,n){return new q$(this,e,n,null)},l.d=0,F(Ke,"AbstractMapBasedMultimap",726),D(1631,726,T2),l.hc=function(){return new Xc(this.a)},l.jc=function(){return wn(),wn(),io},l.cc=function(e){return u(Ai(this,e),15)},l.fc=function(e){return u(GD(this,e),15)},l.Zb=function(){return Wx(this)},l.Fb=function(e){return Pit(this,e)},l.qc=function(e){return u(Ai(this,e),15)},l.rc=function(e){return u(GD(this,e),15)},l.mc=function(e){return iD(u(e,15))},l.pc=function(e,n){return zZt(this,e,u(n,15),null)},F(Ke,"AbstractListMultimap",1631),D(732,1,sa),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.c.Ob()||this.e.Ob()},l.Pb=function(){var e;return this.e.Ob()||(e=u(this.c.Pb(),42),this.b=e.cd(),this.a=u(e.dd(),14),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},l.Qb=function(){this.e.Qb(),this.a.dc()&&this.c.Qb(),--this.d.d},F(Ke,"AbstractMapBasedMultimap/Itr",732),D(1099,732,sa,Gqt),l.sc=function(e,n){return n},F(Ke,"AbstractMapBasedMultimap/1",1099),D(1100,1,{},I),l.Kb=function(e){return u(e,14).Nc()},F(Ke,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1100),D(1101,732,sa,Uqt),l.sc=function(e,n){return new Lw(e,n)},F(Ke,"AbstractMapBasedMultimap/2",1101);var tEt=Ki(pr,"Map");D(1967,1,mv),l.wc=function(e){K9(this,e)},l.yc=function(e,n,r){return Qit(this,e,n,r)},l.$b=function(){this.vc().$b()},l.tc=function(e){return Tst(this,e)},l._b=function(e){return!!C4t(this,e,!1)},l.uc=function(e){var n,r,s;for(r=this.vc().Kc();r.Ob();)if(n=u(r.Pb(),42),s=n.dd(),Vt(e)===Vt(s)||e!=null&&yi(e,s))return!0;return!1},l.Fb=function(e){var n,r,s;if(e===this)return!0;if(!_t(e,83)||(s=u(e,83),this.gc()!=s.gc()))return!1;for(r=s.vc().Kc();r.Ob();)if(n=u(r.Pb(),42),!this.tc(n))return!1;return!0},l.xc=function(e){return ec(C4t(this,e,!1))},l.Hb=function(){return Tyt(this.vc())},l.dc=function(){return this.gc()==0},l.ec=function(){return new Sm(this)},l.zc=function(e,n){throw it(new Sg("Put not supported on this map"))},l.Ac=function(e){Y9(this,e)},l.Bc=function(e){return ec(C4t(this,e,!0))},l.gc=function(){return this.vc().gc()},l.Ib=function(){return Tae(this)},l.Cc=function(){return new v1(this)},F(pr,"AbstractMap",1967),D(1987,1967,mv),l.bc=function(){return new FR(this)},l.vc=function(){return $Kt(this)},l.ec=function(){var e;return e=this.g,e||(this.g=this.bc())},l.Cc=function(){var e;return e=this.i,e||(this.i=new yVt(this))},F(Ke,"Maps/ViewCachingAbstractMap",1987),D(389,1987,mv,l8),l.xc=function(e){return zon(this,e)},l.Bc=function(e){return rln(this,e)},l.$b=function(){this.d==this.e.c?this.e.$b():Vj(new Uwt(this))},l._b=function(e){return eie(this.d,e)},l.Ec=function(){return new Yk(this)},l.Dc=function(){return this.Ec()},l.Fb=function(e){return this===e||yi(this.d,e)},l.Hb=function(){return Hi(this.d)},l.ec=function(){return this.e.ec()},l.gc=function(){return this.d.gc()},l.Ib=function(){return $o(this.d)},F(Ke,"AbstractMapBasedMultimap/AsMap",389);var j1=Ki(Xo,"Iterable");D(28,1,xy),l.Jc=function(e){va(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new _n(this,0)},l.Oc=function(){return new Tn(null,this.Nc())},l.Fc=function(e){throw it(new Sg("Add not supported on this collection"))},l.Gc=function(e){return Ua(this,e)},l.$b=function(){Dvt(this)},l.Hc=function(e){return ay(this,e,!1)},l.Ic=function(e){return ND(this,e)},l.dc=function(){return this.gc()==0},l.Mc=function(e){return ay(this,e,!0)},l.Pc=function(){return svt(this)},l.Qc=function(e){return eI(this,e)},l.Ib=function(){return eb(this)},F(pr,"AbstractCollection",28);var jh=Ki(pr,"Set");D(N1,28,zu),l.Nc=function(){return new _n(this,1)},l.Fb=function(e){return Yie(this,e)},l.Hb=function(){return Tyt(this)},F(pr,"AbstractSet",N1),D(1970,N1,zu),F(Ke,"Sets/ImprovedAbstractSet",1970),D(1971,1970,zu),l.$b=function(){this.Rc().$b()},l.Hc=function(e){return Lie(this,e)},l.dc=function(){return this.Rc().dc()},l.Mc=function(e){var n;return this.Hc(e)?(n=u(e,42),this.Rc().ec().Mc(n.cd())):!1},l.gc=function(){return this.Rc().gc()},F(Ke,"Maps/EntrySet",1971),D(1097,1971,zu,Yk),l.Hc=function(e){return Jyt(this.a.d.vc(),e)},l.Kc=function(){return new Uwt(this.a)},l.Rc=function(){return this.a},l.Mc=function(e){var n;return Jyt(this.a.d.vc(),e)?(n=u(e,42),San(this.a.e,n.cd()),!0):!1},l.Nc=function(){return XM(this.a.d.vc().Nc(),new nR(this.a))},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1097),D(1098,1,{},nR),l.Kb=function(e){return MJt(this.a,u(e,42))},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1098),D(730,1,sa,Uwt),l.Nb=function(e){ba(this,e)},l.Pb=function(){var e;return e=u(this.b.Pb(),42),this.a=u(e.dd(),14),MJt(this.c,e)},l.Ob=function(){return this.b.Ob()},l.Qb=function(){i4(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},F(Ke,"AbstractMapBasedMultimap/AsMap/AsMapIterator",730),D(532,1970,zu,FR),l.$b=function(){this.b.$b()},l.Hc=function(e){return this.b._b(e)},l.Jc=function(e){Lr(e),this.b.wc(new Ctt(e))},l.dc=function(){return this.b.dc()},l.Kc=function(){return new FC(this.b.vc().Kc())},l.Mc=function(e){return this.b._b(e)?(this.b.Bc(e),!0):!1},l.gc=function(){return this.b.gc()},F(Ke,"Maps/KeySet",532),D(318,532,zu,K3),l.$b=function(){var e;Vj((e=this.b.vc().Kc(),new vbt(this,e)))},l.Ic=function(e){return this.b.ec().Ic(e)},l.Fb=function(e){return this===e||yi(this.b.ec(),e)},l.Hb=function(){return Hi(this.b.ec())},l.Kc=function(){var e;return e=this.b.vc().Kc(),new vbt(this,e)},l.Mc=function(e){var n,r;return r=0,n=u(this.b.Bc(e),14),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},l.Nc=function(){return this.b.ec().Nc()},F(Ke,"AbstractMapBasedMultimap/KeySet",318),D(731,1,sa,vbt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.c.Ob()},l.Pb=function(){return this.a=u(this.c.Pb(),42),this.a.cd()},l.Qb=function(){var e;i4(!!this.a),e=u(this.a.dd(),14),this.c.Qb(),this.b.a.d-=e.gc(),e.$b(),this.a=null},F(Ke,"AbstractMapBasedMultimap/KeySet/1",731),D(491,389,{83:1,161:1},HM),l.bc=function(){return this.Sc()},l.ec=function(){return this.Tc()},l.Sc=function(){return new mM(this.c,this.Uc())},l.Tc=function(){var e;return e=this.b,e||(this.b=this.Sc())},l.Uc=function(){return u(this.d,161)},F(Ke,"AbstractMapBasedMultimap/SortedAsMap",491),D(542,491,ufe,Dj),l.bc=function(){return new u8(this.a,u(u(this.d,161),171))},l.Sc=function(){return new u8(this.a,u(u(this.d,161),171))},l.ec=function(){var e;return e=this.b,u(e||(this.b=new u8(this.a,u(u(this.d,161),171))),271)},l.Tc=function(){var e;return e=this.b,u(e||(this.b=new u8(this.a,u(u(this.d,161),171))),271)},l.Uc=function(){return u(u(this.d,161),171)},F(Ke,"AbstractMapBasedMultimap/NavigableAsMap",542),D(490,318,lfe,mM),l.Nc=function(){return this.b.ec().Nc()},F(Ke,"AbstractMapBasedMultimap/SortedKeySet",490),D(388,490,Bxt,u8),F(Ke,"AbstractMapBasedMultimap/NavigableKeySet",388),D(541,28,xy,q$),l.Fc=function(e){var n,r;return cl(this),r=this.d.dc(),n=this.d.Fc(e),n&&(++this.f.d,r&&WM(this)),n},l.Gc=function(e){var n,r,s;return e.dc()?!1:(s=(cl(this),this.d.gc()),n=this.d.Gc(e),n&&(r=this.d.gc(),this.f.d+=r-s,s==0&&WM(this)),n)},l.$b=function(){var e;e=(cl(this),this.d.gc()),e!=0&&(this.d.$b(),this.f.d-=e,Kj(this))},l.Hc=function(e){return cl(this),this.d.Hc(e)},l.Ic=function(e){return cl(this),this.d.Ic(e)},l.Fb=function(e){return e===this?!0:(cl(this),yi(this.d,e))},l.Hb=function(){return cl(this),Hi(this.d)},l.Kc=function(){return cl(this),new Iwt(this)},l.Mc=function(e){var n;return cl(this),n=this.d.Mc(e),n&&(--this.f.d,Kj(this)),n},l.gc=function(){return iUt(this)},l.Nc=function(){return cl(this),this.d.Nc()},l.Ib=function(){return cl(this),$o(this.d)},F(Ke,"AbstractMapBasedMultimap/WrappedCollection",541);var wh=Ki(pr,"List");D(728,541,{20:1,28:1,14:1,15:1},ovt),l.ad=function(e){r4(this,e)},l.Nc=function(){return cl(this),this.d.Nc()},l.Vc=function(e,n){var r;cl(this),r=this.d.dc(),u(this.d,15).Vc(e,n),++this.a.d,r&&WM(this)},l.Wc=function(e,n){var r,s,o;return n.dc()?!1:(o=(cl(this),this.d.gc()),r=u(this.d,15).Wc(e,n),r&&(s=this.d.gc(),this.a.d+=s-o,o==0&&WM(this)),r)},l.Xb=function(e){return cl(this),u(this.d,15).Xb(e)},l.Xc=function(e){return cl(this),u(this.d,15).Xc(e)},l.Yc=function(){return cl(this),new BUt(this)},l.Zc=function(e){return cl(this),new XXt(this,e)},l.$c=function(e){var n;return cl(this),n=u(this.d,15).$c(e),--this.a.d,Kj(this),n},l._c=function(e,n){return cl(this),u(this.d,15)._c(e,n)},l.bd=function(e,n){return cl(this),zZt(this.a,this.e,u(this.d,15).bd(e,n),this.b?this.b:this)},F(Ke,"AbstractMapBasedMultimap/WrappedList",728),D(1096,728,{20:1,28:1,14:1,15:1,54:1},SWt),F(Ke,"AbstractMapBasedMultimap/RandomAccessWrappedList",1096),D(620,1,sa,Iwt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return D8(this),this.b.Ob()},l.Pb=function(){return D8(this),this.b.Pb()},l.Qb=function(){lWt(this)},F(Ke,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",620),D(729,620,n0,BUt,XXt),l.Qb=function(){lWt(this)},l.Rb=function(e){var n;n=iUt(this.a)==0,(D8(this),u(this.b,125)).Rb(e),++this.a.a.d,n&&WM(this.a)},l.Sb=function(){return(D8(this),u(this.b,125)).Sb()},l.Tb=function(){return(D8(this),u(this.b,125)).Tb()},l.Ub=function(){return(D8(this),u(this.b,125)).Ub()},l.Vb=function(){return(D8(this),u(this.b,125)).Vb()},l.Wb=function(e){(D8(this),u(this.b,125)).Wb(e)},F(Ke,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",729),D(727,541,lfe,J2t),l.Nc=function(){return cl(this),this.d.Nc()},F(Ke,"AbstractMapBasedMultimap/WrappedSortedSet",727),D(1095,727,Bxt,LUt),F(Ke,"AbstractMapBasedMultimap/WrappedNavigableSet",1095),D(1094,541,zu,zWt),l.Nc=function(){return cl(this),this.d.Nc()},F(Ke,"AbstractMapBasedMultimap/WrappedSet",1094),D(1103,1,{},B),l.Kb=function(e){return Oan(u(e,42))},F(Ke,"AbstractMapBasedMultimap/lambda$1$Type",1103),D(1102,1,{},ftt),l.Kb=function(e){return new Lw(this.a,e)},F(Ke,"AbstractMapBasedMultimap/lambda$2$Type",1102);var P2=Ki(pr,"Map/Entry");D(345,1,zq),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),pd(this.cd(),n.cd())&&pd(this.dd(),n.dd())):!1},l.Hb=function(){var e,n;return e=this.cd(),n=this.dd(),(e==null?0:Hi(e))^(n==null?0:Hi(n))},l.ed=function(e){throw it(new Or)},l.Ib=function(){return this.cd()+"="+this.dd()},F(Ke,hfe,345),D(1988,28,xy),l.$b=function(){this.fd().$b()},l.Hc=function(e){var n;return _t(e,42)?(n=u(e,42),dsn(this.fd(),n.cd(),n.dd())):!1},l.Mc=function(e){var n;return _t(e,42)?(n=u(e,42),xZt(this.fd(),n.cd(),n.dd())):!1},l.gc=function(){return this.fd().d},F(Ke,"Multimaps/Entries",1988),D(733,1988,xy,nM),l.Kc=function(){return this.a.kc()},l.fd=function(){return this.a},l.Nc=function(){return this.a.lc()},F(Ke,"AbstractMultimap/Entries",733),D(734,733,zu,Ypt),l.Nc=function(){return this.a.lc()},l.Fb=function(e){return H4t(this,e)},l.Hb=function(){return kne(this)},F(Ke,"AbstractMultimap/EntrySet",734),D(735,28,xy,I3),l.$b=function(){this.a.$b()},l.Hc=function(e){return Qun(this.a,e)},l.Kc=function(){return this.a.nc()},l.gc=function(){return this.a.d},l.Nc=function(){return this.a.oc()},F(Ke,"AbstractMultimap/Values",735),D(1989,28,{835:1,20:1,28:1,14:1}),l.Jc=function(e){Lr(e),Q3(this).Jc(new Ttt(e))},l.Nc=function(){var e;return e=Q3(this).Nc(),zst(e,new vt,64|e.qd()&1296,this.a.d)},l.Fc=function(e){return rbt(),!0},l.Gc=function(e){return Lr(this),Lr(e),_t(e,543)?vsn(u(e,835)):!e.dc()&&oit(this,e.Kc())},l.Hc=function(e){var n;return n=u(sy(Wx(this.a),e),14),(n?n.gc():0)>0},l.Fb=function(e){return h2n(this,e)},l.Hb=function(){return Hi(Q3(this))},l.dc=function(){return Q3(this).dc()},l.Mc=function(e){return zoe(this,e,1)>0},l.Ib=function(){return $o(Q3(this))},F(Ke,"AbstractMultiset",1989),D(1991,1970,zu),l.$b=function(){cz(this.a.a)},l.Hc=function(e){var n,r;return _t(e,492)?(r=u(e,416),u(r.a.dd(),14).gc()<=0?!1:(n=QQt(this.a,r.a.cd()),n==u(r.a.dd(),14).gc())):!1},l.Mc=function(e){var n,r,s,o;return _t(e,492)&&(r=u(e,416),n=r.a.cd(),s=u(r.a.dd(),14).gc(),s!=0)?(o=this.a,Jpn(o,n,s)):!1},F(Ke,"Multisets/EntrySet",1991),D(1109,1991,zu,rM),l.Kc=function(){return new tHt($Kt(Wx(this.a.a)).Kc())},l.gc=function(){return Wx(this.a.a).gc()},F(Ke,"AbstractMultiset/EntrySet",1109),D(619,726,T2),l.hc=function(){return this.gd()},l.jc=function(){return this.hd()},l.cc=function(e){return this.jd(e)},l.fc=function(e){return this.kd(e)},l.Zb=function(){var e;return e=this.f,e||(this.f=this.ac())},l.hd=function(){return wn(),wn(),rV},l.Fb=function(e){return Pit(this,e)},l.jd=function(e){return u(Ai(this,e),21)},l.kd=function(e){return u(GD(this,e),21)},l.mc=function(e){return wn(),new s8(u(e,21))},l.pc=function(e,n){return new zWt(this,e,u(n,21))},F(Ke,"AbstractSetMultimap",619),D(1657,619,T2),l.hc=function(){return new Op(this.b)},l.gd=function(){return new Op(this.b)},l.jc=function(){return kvt(new Op(this.b))},l.hd=function(){return kvt(new Op(this.b))},l.cc=function(e){return u(u(Ai(this,e),21),84)},l.jd=function(e){return u(u(Ai(this,e),21),84)},l.fc=function(e){return u(u(GD(this,e),21),84)},l.kd=function(e){return u(u(GD(this,e),21),84)},l.mc=function(e){return _t(e,271)?kvt(u(e,271)):(wn(),new I2t(u(e,84)))},l.Zb=function(){var e;return e=this.f,e||(this.f=_t(this.c,171)?new Dj(this,u(this.c,171)):_t(this.c,161)?new HM(this,u(this.c,161)):new l8(this,this.c))},l.pc=function(e,n){return _t(n,271)?new LUt(this,e,u(n,271)):new J2t(this,e,u(n,84))},F(Ke,"AbstractSortedSetMultimap",1657),D(1658,1657,T2),l.Zb=function(){var e;return e=this.f,u(u(e||(this.f=_t(this.c,171)?new Dj(this,u(this.c,171)):_t(this.c,161)?new HM(this,u(this.c,161)):new l8(this,this.c)),161),171)},l.ec=function(){var e;return e=this.i,u(u(e||(this.i=_t(this.c,171)?new u8(this,u(this.c,171)):_t(this.c,161)?new mM(this,u(this.c,161)):new K3(this,this.c)),84),271)},l.bc=function(){return _t(this.c,171)?new u8(this,u(this.c,171)):_t(this.c,161)?new mM(this,u(this.c,161)):new K3(this,this.c)},F(Ke,"AbstractSortedKeySortedSetMultimap",1658),D(2010,1,{1947:1}),l.Fb=function(e){return qdn(this,e)},l.Hb=function(){var e;return Tyt((e=this.g,e||(this.g=new yC(this))))},l.Ib=function(){var e;return Tae((e=this.f,e||(this.f=new T2t(this))))},F(Ke,"AbstractTable",2010),D(665,N1,zu,yC),l.$b=function(){lHt()},l.Hc=function(e){var n,r;return _t(e,468)?(n=u(e,682),r=u(sy(uXt(this.a),Np(n.c.e,n.b)),83),!!r&&Jyt(r.vc(),new Lw(Np(n.c.c,n.a),t6(n.c,n.b,n.a)))):!1},l.Kc=function(){return _rn(this.a)},l.Mc=function(e){var n,r;return _t(e,468)?(n=u(e,682),r=u(sy(uXt(this.a),Np(n.c.e,n.b)),83),!!r&&Tln(r.vc(),new Lw(Np(n.c.c,n.a),t6(n.c,n.b,n.a)))):!1},l.gc=function(){return xKt(this.a)},l.Nc=function(){return xsn(this.a)},F(Ke,"AbstractTable/CellSet",665),D(1928,28,xy,dtt),l.$b=function(){lHt()},l.Hc=function(e){return O0n(this.a,e)},l.Kc=function(){return Srn(this.a)},l.gc=function(){return xKt(this.a)},l.Nc=function(){return TZt(this.a)},F(Ke,"AbstractTable/Values",1928),D(1632,1631,T2),F(Ke,"ArrayListMultimapGwtSerializationDependencies",1632),D(513,1632,T2,wet,Wvt),l.hc=function(){return new Xc(this.a)},l.a=0,F(Ke,"ArrayListMultimap",513),D(664,2010,{664:1,1947:1,3:1},Qoe),F(Ke,"ArrayTable",664),D(1924,386,NE,iWt),l.Xb=function(e){return new Ayt(this.a,e)},F(Ke,"ArrayTable/1",1924),D(1925,1,{},eR),l.ld=function(e){return new Ayt(this.a,e)},F(Ke,"ArrayTable/1methodref$getCell$Type",1925),D(2011,1,{682:1}),l.Fb=function(e){var n;return e===this?!0:_t(e,468)?(n=u(e,682),pd(Np(this.c.e,this.b),Np(n.c.e,n.b))&&pd(Np(this.c.c,this.a),Np(n.c.c,n.a))&&pd(t6(this.c,this.b,this.a),t6(n.c,n.b,n.a))):!1},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[Np(this.c.e,this.b),Np(this.c.c,this.a),t6(this.c,this.b,this.a)]))},l.Ib=function(){return"("+Np(this.c.e,this.b)+","+Np(this.c.c,this.a)+")="+t6(this.c,this.b,this.a)},F(Ke,"Tables/AbstractCell",2011),D(468,2011,{468:1,682:1},Ayt),l.a=0,l.b=0,l.d=0,F(Ke,"ArrayTable/2",468),D(1927,1,{},gx),l.ld=function(e){return Fte(this.a,e)},F(Ke,"ArrayTable/2methodref$getValue$Type",1927),D(1926,386,NE,sWt),l.Xb=function(e){return Fte(this.a,e)},F(Ke,"ArrayTable/3",1926),D(1979,1967,mv),l.$b=function(){Vj(this.kc())},l.vc=function(){return new bx(this)},l.lc=function(){return new BXt(this.kc(),this.gc())},F(Ke,"Maps/IteratorBasedAbstractMap",1979),D(828,1979,mv),l.$b=function(){throw it(new Or)},l._b=function(e){return LHt(this.c,e)},l.kc=function(){return new aWt(this,this.c.b.c.gc())},l.lc=function(){return Bnt(this.c.b.c.gc(),16,new bw(this))},l.xc=function(e){var n;return n=u(x9(this.c,e),19),n?this.nd(n.a):null},l.dc=function(){return this.c.b.c.dc()},l.ec=function(){return Gnt(this.c)},l.zc=function(e,n){var r;if(r=u(x9(this.c,e),19),!r)throw it(new Fn(this.md()+" "+e+" not in "+Gnt(this.c)));return this.od(r.a,n)},l.Bc=function(e){throw it(new Or)},l.gc=function(){return this.c.b.c.gc()},F(Ke,"ArrayTable/ArrayMap",828),D(1923,1,{},bw),l.ld=function(e){return hXt(this.a,e)},F(Ke,"ArrayTable/ArrayMap/0methodref$getEntry$Type",1923),D(1921,345,zq,uVt),l.cd=function(){return qQe(this.a,this.b)},l.dd=function(){return this.a.nd(this.b)},l.ed=function(e){return this.a.od(this.b,e)},l.b=0,F(Ke,"ArrayTable/ArrayMap/1",1921),D(1922,386,NE,aWt),l.Xb=function(e){return hXt(this.a,e)},F(Ke,"ArrayTable/ArrayMap/2",1922),D(1920,828,mv,ZKt),l.md=function(){return"Column"},l.nd=function(e){return t6(this.b,this.a,e)},l.od=function(e,n){return ore(this.b,this.a,e,n)},l.a=0,F(Ke,"ArrayTable/Row",1920),D(829,828,mv,T2t),l.nd=function(e){return new ZKt(this.a,e)},l.zc=function(e,n){return u(n,83),CKe()},l.od=function(e,n){return u(n,83),_Ke()},l.md=function(){return"Row"},F(Ke,"ArrayTable/RowMap",829),D(1120,1,Ih,lVt),l.qd=function(){return this.a.qd()&-262},l.rd=function(){return this.a.rd()},l.Nb=function(e){this.a.Nb(new sVt(e,this.b))},l.sd=function(e){return this.a.sd(new iVt(e,this.b))},F(Ke,"CollectSpliterators/1",1120),D(1121,1,Un,iVt),l.td=function(e){this.a.td(this.b.Kb(e))},F(Ke,"CollectSpliterators/1/lambda$0$Type",1121),D(1122,1,Un,sVt),l.td=function(e){this.a.td(this.b.Kb(e))},F(Ke,"CollectSpliterators/1/lambda$1$Type",1122),D(1123,1,Ih,FZt),l.qd=function(){return this.a},l.rd=function(){return this.d&&(this.b=jUt(this.b,this.d.rd())),jUt(this.b,0)},l.Nb=function(e){this.d&&(this.d.Nb(e),this.d=null),this.c.Nb(new rVt(this.e,e)),this.b=0},l.sd=function(e){for(;;){if(this.d&&this.d.sd(e))return u9(this.b,qq)&&(this.b=Jp(this.b,1)),!0;if(this.d=null,!this.c.sd(new aVt(this,this.e)))return!1}},l.a=0,l.b=0,F(Ke,"CollectSpliterators/1FlatMapSpliterator",1123),D(1124,1,Un,aVt),l.td=function(e){GZe(this.a,this.b,e)},F(Ke,"CollectSpliterators/1FlatMapSpliterator/lambda$0$Type",1124),D(1125,1,Un,rVt),l.td=function(e){LQe(this.b,this.a,e)},F(Ke,"CollectSpliterators/1FlatMapSpliterator/lambda$1$Type",1125),D(1117,1,Ih,wYt),l.qd=function(){return 16464|this.b},l.rd=function(){return this.a.rd()},l.Nb=function(e){this.a.xe(new cVt(e,this.c))},l.sd=function(e){return this.a.ye(new oVt(e,this.c))},l.b=0,F(Ke,"CollectSpliterators/1WithCharacteristics",1117),D(1118,1,OI,oVt),l.ud=function(e){this.a.td(this.b.ld(e))},F(Ke,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1118),D(1119,1,OI,cVt),l.ud=function(e){this.a.td(this.b.ld(e))},F(Ke,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1119),D(245,1,Uat),l.wd=function(e){return this.vd(u(e,245))},l.vd=function(e){var n;return e==(oet(),Sut)?1:e==(cet(),_ut)?-1:(n=(zj(),ID(this.a,e.a)),n!=0?n:_t(this,519)==_t(e,519)?0:_t(this,519)?1:-1)},l.zd=function(){return this.a},l.Fb=function(e){return D3t(this,e)},F(Ke,"Cut",245),D(1761,245,Uat,dHt),l.vd=function(e){return e==this?0:1},l.xd=function(e){throw it(new Mpt)},l.yd=function(e){e.a+="+∞)"},l.zd=function(){throw it(new No(dfe))},l.Hb=function(){return Gd(),$3t(this)},l.Ad=function(e){return!1},l.Ib=function(){return"+∞"};var _ut;F(Ke,"Cut/AboveAll",1761),D(519,245,{245:1,519:1,3:1,35:1},hWt),l.xd=function(e){hc((e.a+="(",e),this.a)},l.yd=function(e){qp(hc(e,this.a),93)},l.Hb=function(){return~Hi(this.a)},l.Ad=function(e){return zj(),ID(this.a,e)<0},l.Ib=function(){return"/"+this.a+"\\"},F(Ke,"Cut/AboveValue",519),D(1760,245,Uat,gHt),l.vd=function(e){return e==this?0:-1},l.xd=function(e){e.a+="(-∞"},l.yd=function(e){throw it(new Mpt)},l.zd=function(){throw it(new No(dfe))},l.Hb=function(){return Gd(),$3t(this)},l.Ad=function(e){return!0},l.Ib=function(){return"-∞"};var Sut;F(Ke,"Cut/BelowAll",1760),D(1762,245,Uat,fWt),l.xd=function(e){hc((e.a+="[",e),this.a)},l.yd=function(e){qp(hc(e,this.a),41)},l.Hb=function(){return Hi(this.a)},l.Ad=function(e){return zj(),ID(this.a,e)<=0},l.Ib=function(){return"\\"+this.a+"/"},F(Ke,"Cut/BelowValue",1762),D(537,1,r0),l.Jc=function(e){va(this,e)},l.Ib=function(){return thn(u(g$(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},F(Ke,"FluentIterable",537),D(433,537,r0,f9),l.Kc=function(){return new ar(lr(this.a.Kc(),new z))},F(Ke,"FluentIterable/2",433),D(1046,537,r0,bUt),l.Kc=function(){return zp(this)},F(Ke,"FluentIterable/3",1046),D(708,386,NE,C2t),l.Xb=function(e){return this.a[e].Kc()},F(Ke,"FluentIterable/3/1",708),D(1972,1,{}),l.Ib=function(){return $o(this.Bd().b)},F(Ke,"ForwardingObject",1972),D(1973,1972,gfe),l.Bd=function(){return this.Cd()},l.Jc=function(e){va(this,e)},l.Lc=function(){return this.Oc()},l.Nc=function(){return new _n(this,0)},l.Oc=function(){return new Tn(null,this.Nc())},l.Fc=function(e){return this.Cd(),OHt()},l.Gc=function(e){return this.Cd(),PHt()},l.$b=function(){this.Cd(),FHt()},l.Hc=function(e){return this.Cd().Hc(e)},l.Ic=function(e){return this.Cd().Ic(e)},l.dc=function(){return this.Cd().b.dc()},l.Kc=function(){return this.Cd().Kc()},l.Mc=function(e){return this.Cd(),NHt()},l.gc=function(){return this.Cd().b.gc()},l.Pc=function(){return this.Cd().Pc()},l.Qc=function(e){return this.Cd().Qc(e)},F(Ke,"ForwardingCollection",1973),D(1980,28,Rxt),l.Kc=function(){return this.Ed()},l.Fc=function(e){throw it(new Or)},l.Gc=function(e){throw it(new Or)},l.$b=function(){throw it(new Or)},l.Hc=function(e){return e!=null&&ay(this,e,!1)},l.Dd=function(){switch(this.gc()){case 0:return Wm(),Wm(),Aut;case 1:return Wm(),new Rnt(Lr(this.Ed().Pb()));default:return new JKt(this,this.Pc())}},l.Mc=function(e){throw it(new Or)},F(Ke,"ImmutableCollection",1980),D(712,1980,Rxt,Apt),l.Kc=function(){return e6(this.a.Kc())},l.Hc=function(e){return e!=null&&this.a.Hc(e)},l.Ic=function(e){return this.a.Ic(e)},l.dc=function(){return this.a.dc()},l.Ed=function(){return e6(this.a.Kc())},l.gc=function(){return this.a.gc()},l.Pc=function(){return this.a.Pc()},l.Qc=function(e){return this.a.Qc(e)},l.Ib=function(){return $o(this.a)},F(Ke,"ForwardingImmutableCollection",712),D(152,1980,M_),l.Kc=function(){return this.Ed()},l.Yc=function(){return this.Fd(0)},l.Zc=function(e){return this.Fd(e)},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.bd=function(e,n){return this.Gd(e,n)},l.Vc=function(e,n){throw it(new Or)},l.Wc=function(e,n){throw it(new Or)},l.Fb=function(e){return Kbn(this,e)},l.Hb=function(){return aun(this)},l.Xc=function(e){return e==null?-1:m1n(this,e)},l.Ed=function(){return this.Fd(0)},l.Fd=function(e){return $2t(this,e)},l.$c=function(e){throw it(new Or)},l._c=function(e,n){throw it(new Or)},l.Gd=function(e,n){var r;return Dz((r=new xVt(this),new Qd(r,e,n)))};var Aut;F(Ke,"ImmutableList",152),D(2006,152,M_),l.Kc=function(){return e6(this.Hd().Kc())},l.bd=function(e,n){return Dz(this.Hd().bd(e,n))},l.Hc=function(e){return e!=null&&this.Hd().Hc(e)},l.Ic=function(e){return this.Hd().Ic(e)},l.Fb=function(e){return yi(this.Hd(),e)},l.Xb=function(e){return Np(this,e)},l.Hb=function(){return Hi(this.Hd())},l.Xc=function(e){return this.Hd().Xc(e)},l.dc=function(){return this.Hd().dc()},l.Ed=function(){return e6(this.Hd().Kc())},l.gc=function(){return this.Hd().gc()},l.Gd=function(e,n){return Dz(this.Hd().bd(e,n))},l.Pc=function(){return this.Hd().Qc(Nt(Qn,De,1,this.Hd().gc(),5,1))},l.Qc=function(e){return this.Hd().Qc(e)},l.Ib=function(){return $o(this.Hd())},F(Ke,"ForwardingImmutableList",2006),D(714,1,BE),l.vc=function(){return Rw(this)},l.wc=function(e){K9(this,e)},l.ec=function(){return Gnt(this)},l.yc=function(e,n,r){return Qit(this,e,n,r)},l.Cc=function(){return this.Ld()},l.$b=function(){throw it(new Or)},l._b=function(e){return this.xc(e)!=null},l.uc=function(e){return this.Ld().Hc(e)},l.Jd=function(){return new iqt(this)},l.Kd=function(){return new sqt(this)},l.Fb=function(e){return Zun(this,e)},l.Hb=function(){return Rw(this).Hb()},l.dc=function(){return this.gc()==0},l.zc=function(e,n){return SKe()},l.Bc=function(e){throw it(new Or)},l.Ib=function(){return Mgn(this)},l.Ld=function(){return this.e?this.e:this.e=this.Kd()},l.c=null,l.d=null,l.e=null;var Age;F(Ke,"ImmutableMap",714),D(715,714,BE),l._b=function(e){return LHt(this,e)},l.uc=function(e){return CVt(this.b,e)},l.Id=function(){return tie(new kC(this))},l.Jd=function(){return tie(OXt(this.b))},l.Kd=function(){return gd(),new Apt(IXt(this.b))},l.Fb=function(e){return _Vt(this.b,e)},l.xc=function(e){return x9(this,e)},l.Hb=function(){return Hi(this.b.c)},l.dc=function(){return this.b.c.dc()},l.gc=function(){return this.b.c.gc()},l.Ib=function(){return $o(this.b.c)},F(Ke,"ForwardingImmutableMap",715),D(1974,1973,Wat),l.Bd=function(){return this.Md()},l.Cd=function(){return this.Md()},l.Nc=function(){return new _n(this,1)},l.Fb=function(e){return e===this||this.Md().Fb(e)},l.Hb=function(){return this.Md().Hb()},F(Ke,"ForwardingSet",1974),D(1069,1974,Wat,kC),l.Bd=function(){return L8(this.a.b)},l.Cd=function(){return L8(this.a.b)},l.Hc=function(e){if(_t(e,42)&&u(e,42).cd()==null)return!1;try{return TVt(L8(this.a.b),e)}catch(n){if(n=Wi(n),_t(n,205))return!1;throw it(n)}},l.Md=function(){return L8(this.a.b)},l.Qc=function(e){var n;return n=gQt(L8(this.a.b),e),L8(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=gj(b.Math.abs(r)%60),(Pae(),Vge)[this.q.getDay()]+" "+Gge[this.q.getMonth()]+" "+gj(this.q.getDate())+" "+gj(this.q.getHours())+":"+gj(this.q.getMinutes())+":"+gj(this.q.getSeconds())+" GMT"+e+n+" "+this.q.getFullYear()};var tV=F(pr,"Date",199);D(1915,199,Efe,oae),l.a=!1,l.b=0,l.c=0,l.d=0,l.e=0,l.f=0,l.g=!1,l.i=0,l.j=0,l.k=0,l.n=0,l.o=0,l.p=0,F("com.google.gwt.i18n.shared.impl","DateRecord",1915),D(1966,1,{}),l.fe=function(){return null},l.ge=function(){return null},l.he=function(){return null},l.ie=function(){return null},l.je=function(){return null},F(v6,"JSONValue",1966),D(216,1966,{216:1},Eg,wx),l.Fb=function(e){return _t(e,216)?Xvt(this.a,u(e,216).a):!1},l.ee=function(){return KYe},l.Hb=function(){return Bvt(this.a)},l.fe=function(){return this},l.Ib=function(){var e,n,r;for(r=new Ol("["),n=0,e=this.a.length;n0&&(r.a+=","),hc(r,Jm(this,n));return r.a+="]",r.a},F(v6,"JSONArray",216),D(483,1966,{483:1},Xk),l.ee=function(){return XYe},l.ge=function(){return this},l.Ib=function(){return Nn(),""+this.a},l.a=!1;var Fge,Nge;F(v6,"JSONBoolean",483),D(985,60,Q0,eHt),F(v6,"JSONException",985),D(1023,1966,{},ft),l.ee=function(){return eKe},l.Ib=function(){return _u};var Bge;F(v6,"JSONNull",1023),D(258,1966,{258:1},EC),l.Fb=function(e){return _t(e,258)?this.a==u(e,258).a:!1},l.ee=function(){return QYe},l.Hb=function(){return p8(this.a)},l.he=function(){return this},l.Ib=function(){return this.a+""},l.a=0,F(v6,"JSONNumber",258),D(183,1966,{183:1},_x,Qk),l.Fb=function(e){return _t(e,183)?Xvt(this.a,u(e,183).a):!1},l.ee=function(){return ZYe},l.Hb=function(){return Bvt(this.a)},l.ie=function(){return this},l.Ib=function(){var e,n,r,s,o,h,d;for(d=new Ol("{"),e=!0,h=yit(this,Nt(Ae,ee,2,0,6,1)),r=h,s=0,o=r.length;s=0?":"+this.c:"")+")"},l.c=0;var wEt=F(Xo,"StackTraceElement",310);Sge={3:1,475:1,35:1,2:1};var Ae=F(Xo,jxt,2);D(107,418,{475:1},Ag,$C,_h),F(Xo,"StringBuffer",107),D(100,418,{475:1},Mp,Im,Ol),F(Xo,"StringBuilder",100),D(687,73,bot,sbt),F(Xo,"StringIndexOutOfBoundsException",687),D(2043,1,{});var vEt;D(844,1,{},Ft),l.Kb=function(e){return u(e,78).e},F(Xo,"Throwable/lambda$0$Type",844),D(41,60,{3:1,102:1,60:1,78:1,41:1},Or,Sg),F(Xo,"UnsupportedOperationException",41),D(240,236,{3:1,35:1,236:1,240:1},SD,gbt),l.wd=function(e){return gle(this,u(e,240))},l.ke=function(){return dy(Xle(this))},l.Fb=function(e){var n;return this===e?!0:_t(e,240)?(n=u(e,240),this.e==n.e&&gle(this,n)==0):!1},l.Hb=function(){var e;return this.b!=0?this.b:this.a<54?(e=Tu(this.f),this.b=Ar(Ns(e,-1)),this.b=33*this.b+Ar(Ns($p(e,32),-1)),this.b=17*this.b+ps(this.e),this.b):(this.b=17*Yre(this.c)+ps(this.e),this.b)},l.Ib=function(){return Xle(this)},l.a=0,l.b=0,l.d=0,l.e=0,l.f=0;var zge,N2,mEt,yEt,xEt,kEt,EEt,TEt,Nut=F("java.math","BigDecimal",240);D(91,236,{3:1,35:1,236:1,91:1},j3t,Ng,X3,x4t,Qie,Rp),l.wd=function(e){return Uie(this,u(e,91))},l.ke=function(){return dy(Hat(this,0))},l.Fb=function(e){return v3t(this,e)},l.Hb=function(){return Yre(this)},l.Ib=function(){return Hat(this,0)},l.b=-2,l.c=0,l.d=0,l.e=0;var But,eV,CEt,Rut,nV,s7,j4=F("java.math","BigInteger",91),qge,Hge,D6,lS;D(488,1967,mv),l.$b=function(){Xu(this)},l._b=function(e){return Tl(this,e)},l.uc=function(e){return Ire(this,e,this.g)||Ire(this,e,this.f)},l.vc=function(){return new Cg(this)},l.xc=function(e){return tr(this,e)},l.zc=function(e,n){return ki(this,e,n)},l.Bc=function(e){return Jx(this,e)},l.gc=function(){return HC(this)},F(pr,"AbstractHashMap",488),D(261,N1,zu,Cg),l.$b=function(){this.a.$b()},l.Hc=function(e){return MZt(this,e)},l.Kc=function(){return new p2(this.a)},l.Mc=function(e){var n;return MZt(this,e)?(n=u(e,42).cd(),this.a.Bc(n),!0):!1},l.gc=function(){return this.a.gc()},F(pr,"AbstractHashMap/EntrySet",261),D(262,1,sa,p2),l.Nb=function(e){ba(this,e)},l.Pb=function(){return Zw(this)},l.Ob=function(){return this.b},l.Qb=function(){Ste(this)},l.b=!1,F(pr,"AbstractHashMap/EntrySetIterator",262),D(417,1,sa,mx),l.Nb=function(e){ba(this,e)},l.Ob=function(){return TM(this)},l.Pb=function(){return ZXt(this)},l.Qb=function(){Cl(this)},l.b=0,l.c=-1,F(pr,"AbstractList/IteratorImpl",417),D(96,417,n0,da),l.Qb=function(){Cl(this)},l.Rb=function(e){zm(this,e)},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Ub=function(){return Zn(this.b>0),this.a.Xb(this.c=--this.b)},l.Vb=function(){return this.b-1},l.Wb=function(e){Rm(this.c!=-1),this.a._c(this.c,e)},F(pr,"AbstractList/ListIteratorImpl",96),D(219,52,jE,Qd),l.Vc=function(e,n){Km(e,this.b),this.c.Vc(this.a+e,n),++this.b},l.Xb=function(e){return An(e,this.b),this.c.Xb(this.a+e)},l.$c=function(e){var n;return An(e,this.b),n=this.c.$c(this.a+e),--this.b,n},l._c=function(e,n){return An(e,this.b),this.c._c(this.a+e,n)},l.gc=function(){return this.b},l.a=0,l.b=0,F(pr,"AbstractList/SubList",219),D(384,N1,zu,Sm),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a._b(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new cM(e)},l.Mc=function(e){return this.a._b(e)?(this.a.Bc(e),!0):!1},l.gc=function(){return this.a.gc()},F(pr,"AbstractMap/1",384),D(691,1,sa,cM),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),42),e.cd()},l.Qb=function(){this.a.Qb()},F(pr,"AbstractMap/1/1",691),D(226,28,xy,v1),l.$b=function(){this.a.$b()},l.Hc=function(e){return this.a.uc(e)},l.Kc=function(){var e;return e=this.a.vc().Kc(),new m1(e)},l.gc=function(){return this.a.gc()},F(pr,"AbstractMap/2",226),D(294,1,sa,m1),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a.Ob()},l.Pb=function(){var e;return e=u(this.a.Pb(),42),e.dd()},l.Qb=function(){this.a.Qb()},F(pr,"AbstractMap/2/1",294),D(484,1,{484:1,42:1}),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),Fc(this.d,n.cd())&&Fc(this.e,n.dd())):!1},l.cd=function(){return this.d},l.dd=function(){return this.e},l.Hb=function(){return U3(this.d)^U3(this.e)},l.ed=function(e){return awt(this,e)},l.Ib=function(){return this.d+"="+this.e},F(pr,"AbstractMap/AbstractEntry",484),D(383,484,{484:1,383:1,42:1},KR),F(pr,"AbstractMap/SimpleEntry",383),D(1984,1,yot),l.Fb=function(e){var n;return _t(e,42)?(n=u(e,42),Fc(this.cd(),n.cd())&&Fc(this.dd(),n.dd())):!1},l.Hb=function(){return U3(this.cd())^U3(this.dd())},l.Ib=function(){return this.cd()+"="+this.dd()},F(pr,hfe,1984),D(1992,1967,ufe),l.tc=function(e){return RJt(this,e)},l._b=function(e){return _nt(this,e)},l.vc=function(){return new x(this)},l.xc=function(e){var n;return n=e,ec(jyt(this,n))},l.ec=function(){return new y(this)},F(pr,"AbstractNavigableMap",1992),D(739,N1,zu,x),l.Hc=function(e){return _t(e,42)&&RJt(this.b,u(e,42))},l.Kc=function(){return new y9(this.b)},l.Mc=function(e){var n;return _t(e,42)?(n=u(e,42),Cte(this.b,n)):!1},l.gc=function(){return this.b.c},F(pr,"AbstractNavigableMap/EntrySet",739),D(493,N1,Bxt,y),l.Nc=function(){return new WR(this)},l.$b=function(){NC(this.a)},l.Hc=function(e){return _nt(this.a,e)},l.Kc=function(){var e;return e=new y9(new w9(this.a).b),new g(e)},l.Mc=function(e){return _nt(this.a,e)?(P9(this.a,e),!0):!1},l.gc=function(){return this.a.c},F(pr,"AbstractNavigableMap/NavigableKeySet",493),D(494,1,sa,g),l.Nb=function(e){ba(this,e)},l.Ob=function(){return TM(this.a.a)},l.Pb=function(){var e;return e=Lj(this.a),e.cd()},l.Qb=function(){AYt(this.a)},F(pr,"AbstractNavigableMap/NavigableKeySet/1",494),D(2004,28,xy),l.Fc=function(e){return R8(xE(this,e)),!0},l.Gc=function(e){return On(e),Bj(e!=this,"Can't add a queue to itself"),Ua(this,e)},l.$b=function(){for(;cit(this)!=null;);},F(pr,"AbstractQueue",2004),D(302,28,{4:1,20:1,28:1,14:1},B3,eZt),l.Fc=function(e){return imt(this,e),!0},l.$b=function(){lmt(this)},l.Hc=function(e){return ere(new O9(this),e)},l.dc=function(){return BC(this)},l.Kc=function(){return new O9(this)},l.Mc=function(e){return hin(new O9(this),e)},l.gc=function(){return this.c-this.b&this.a.length-1},l.Nc=function(){return new _n(this,272)},l.Qc=function(e){var n;return n=this.c-this.b&this.a.length-1,e.lengthn&&ts(e,n,null),e},l.b=0,l.c=0,F(pr,"ArrayDeque",302),D(446,1,sa,O9),l.Nb=function(e){ba(this,e)},l.Ob=function(){return this.a!=this.b},l.Pb=function(){return Mz(this)},l.Qb=function(){Jee(this)},l.a=0,l.b=0,l.c=-1,F(pr,"ArrayDeque/IteratorImpl",446),D(12,52,_fe,he,Xc,Bu),l.Vc=function(e,n){Hm(this,e,n)},l.Fc=function(e){return le(this,e)},l.Wc=function(e,n){return Gyt(this,e,n)},l.Gc=function(e){return Ls(this,e)},l.$b=function(){this.c=Nt(Qn,De,1,0,5,1)},l.Hc=function(e){return Ro(this,e,0)!=-1},l.Jc=function(e){xu(this,e)},l.Xb=function(e){return Ne(this,e)},l.Xc=function(e){return Ro(this,e,0)},l.dc=function(){return this.c.length==0},l.Kc=function(){return new S(this)},l.$c=function(e){return Fg(this,e)},l.Mc=function(e){return mu(this,e)},l.Ud=function(e,n){tZt(this,e,n)},l._c=function(e,n){return ch(this,e,n)},l.gc=function(){return this.c.length},l.ad=function(e){Zs(this,e)},l.Pc=function(){return pnt(this)},l.Qc=function(e){return P1(this,e)};var Kxn=F(pr,"ArrayList",12);D(7,1,sa,S),l.Nb=function(e){ba(this,e)},l.Ob=function(){return Go(this)},l.Pb=function(){return J(this)},l.Qb=function(){L9(this)},l.a=0,l.b=-1,F(pr,"ArrayList/1",7),D(2013,b.Function,{},Tt),l.te=function(e,n){return Ms(e,n)},D(154,52,Sfe,yl),l.Hc=function(e){return ene(this,e)!=-1},l.Jc=function(e){var n,r,s,o;for(On(e),r=this.a,s=0,o=r.length;s>>0,e.toString(16)))},l.f=0,l.i=Cs;var oV=F(a0,"CNode",57);D(814,1,{},jpt),F(a0,"CNode/CNodeBuilder",814);var spe;D(1525,1,{},Po),l.Oe=function(e,n){return 0},l.Pe=function(e,n){return 0},F(a0,Ffe,1525),D(1790,1,{},vs),l.Le=function(e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt;for(C=as,s=new S(e.a.b);s.as.d.c||s.d.c==h.d.c&&s.d.b0?e+this.n.d+this.n.a:0},l.Se=function(){var e,n,r,s,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].Se());else if(this.g)o=d3t(this,Ist(this,null,!0));else for(n=(Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])),r=0,s=n.length;r0?o+this.n.b+this.n.c:0},l.Te=function(){var e,n,r,s,o;if(this.g)for(e=Ist(this,null,!1),r=(Kf(),lt(ct(Oy,1),oe,232,0,[sc,eu,ac])),s=0,o=r.length;s0&&(s[0]+=this.d,r-=s[0]),s[2]>0&&(s[2]+=this.d,r-=s[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+e.d+(this.c.a-r)/2,s[1]=b.Math.max(s[1],r),wmt(this,eu,n.d+e.d+s[0]-(s[1]-r)/2,s)},l.b=null,l.d=0,l.e=!1,l.f=!1,l.g=!1;var Gut=0,cV=0;F(_2,"GridContainerCell",1473),D(461,22,{3:1,35:1,22:1,461:1},Let);var fb,Md,kf,ppe=jr(_2,"HorizontalLabelAlignment",461,Hr,_in,lJe),bpe;D(306,212,{212:1,306:1},xQt,Aee,vQt),l.Re=function(){return sKt(this)},l.Se=function(){return Vwt(this)},l.a=0,l.c=!1;var s6n=F(_2,"LabelCell",306);D(244,326,{212:1,326:1,244:1},a_),l.Re=function(){return dI(this)},l.Se=function(){return gI(this)},l.Te=function(){Eat(this)},l.Ue=function(){Tat(this)},l.b=0,l.c=0,l.d=!1,F(_2,"StripContainerCell",244),D(1626,1,li,th),l.Mb=function(e){return EKe(u(e,212))},F(_2,"StripContainerCell/lambda$0$Type",1626),D(1627,1,{},Fa),l.Fe=function(e){return u(e,212).Se()},F(_2,"StripContainerCell/lambda$1$Type",1627),D(1628,1,li,Ml),l.Mb=function(e){return TKe(u(e,212))},F(_2,"StripContainerCell/lambda$2$Type",1628),D(1629,1,{},ha),l.Fe=function(e){return u(e,212).Re()},F(_2,"StripContainerCell/lambda$3$Type",1629),D(462,22,{3:1,35:1,22:1,462:1},Met);var Ef,db,n1,wpe=jr(_2,"VerticalLabelAlignment",462,Hr,Sin,hJe),vpe;D(789,1,{},Sxt),l.c=0,l.d=0,l.k=0,l.s=0,l.t=0,l.v=!1,l.w=0,l.D=!1,F(Yq,"NodeContext",789),D(1471,1,Oi,bc),l.ue=function(e,n){return xUt(u(e,61),u(n,61))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Yq,"NodeContext/0methodref$comparePortSides$Type",1471),D(1472,1,Oi,Cc),l.ue=function(e,n){return Q0n(u(e,111),u(n,111))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Yq,"NodeContext/1methodref$comparePortContexts$Type",1472),D(159,22,{3:1,35:1,22:1,159:1},hh);var mpe,ype,xpe,kpe,Epe,Tpe,Cpe,_pe,Spe,Ape,Lpe,Mpe,Dpe,Ipe,Ope,Ppe,Fpe,Npe,Bpe,Rpe,jpe,Uut,$pe=jr(Yq,"NodeLabelLocation",159,Hr,lst,fJe),zpe;D(111,1,{111:1},tce),l.a=!1,F(Yq,"PortContext",111),D(1476,1,Un,pa),l.td=function(e){$Ht(u(e,306))},F(zI,Yfe,1476),D(1477,1,li,Da),l.Mb=function(e){return!!u(e,111).c},F(zI,Kfe,1477),D(1478,1,Un,Ha),l.td=function(e){$Ht(u(e,111).c)},F(zI,"LabelPlacer/lambda$2$Type",1478);var o7t;D(1475,1,Un,_c),l.td=function(e){$m(),rKe(u(e,111))},F(zI,"NodeLabelAndSizeUtilities/lambda$0$Type",1475),D(790,1,Un,Ewt),l.td=function(e){pXe(this.b,this.c,this.a,u(e,181))},l.a=!1,l.c=!1,F(zI,"NodeLabelCellCreator/lambda$0$Type",790),D(1474,1,Un,vn),l.td=function(e){aKe(this.a,u(e,181))},F(zI,"PortContextCreator/lambda$0$Type",1474);var uV;D(1829,1,{},lw),F(HE,"GreedyRectangleStripOverlapRemover",1829),D(1830,1,Oi,Dl),l.ue=function(e,n){return WQe(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1830),D(1786,1,{},vqt),l.a=5,l.e=0,F(HE,"RectangleStripOverlapRemover",1786),D(1787,1,Oi,ed),l.ue=function(e,n){return YQe(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1787),D(1789,1,Oi,jd),l.ue=function(e,n){return vnn(u(e,222),u(n,222))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(HE,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1789),D(406,22,{3:1,35:1,22:1,406:1},ZR);var lO,Wut,Yut,hO,qpe=jr(HE,"RectangleStripOverlapRemover/OverlapRemovalDirection",406,Hr,_sn,dJe),Hpe;D(222,1,{222:1},Hnt),F(HE,"RectangleStripOverlapRemover/RectangleNode",222),D(1788,1,Un,gr),l.td=function(e){k1n(this.a,u(e,222))},F(HE,"RectangleStripOverlapRemover/lambda$1$Type",1788),D(1304,1,Oi,nd),l.ue=function(e,n){return A3n(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1304),D(1307,1,{},$d),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1307),D(1308,1,li,A0),l.Mb=function(e){return u(e,323).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1308),D(1309,1,li,Bi),l.Mb=function(e){return u(e,323).a},F(kd,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1309),D(1302,1,Oi,cn),l.ue=function(e,n){return cmn(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1302),D(1305,1,{},eh),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1305),D(767,1,Oi,kr),l.ue=function(e,n){return lun(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinNumOfExtensionsComparator",767),D(1300,1,Oi,Ei),l.ue=function(e,n){return mcn(u(e,321),u(n,321))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinPerimeterComparator",1300),D(1301,1,Oi,Jo),l.ue=function(e,n){return Kfn(u(e,321),u(n,321))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/MinPerimeterComparatorWithShape",1301),D(1303,1,Oi,wc),l.ue=function(e,n){return Dmn(u(e,167),u(n,167))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(kd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1303),D(1306,1,{},rf),l.Kb=function(e){return u(e,324).a},F(kd,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1306),D(777,1,{},Mbt),l.Ce=function(e,n){return ksn(this,u(e,46),u(n,167))},F(kd,"SuccessorCombination",777),D(644,1,{},Oc),l.Ce=function(e,n){var r;return hbn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorJitter",644),D(643,1,{},sf),l.Ce=function(e,n){var r;return Jwn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorLineByLine",643),D(568,1,{},af),l.Ce=function(e,n){var r;return f2n((r=u(e,46),u(n,167),r))},F(kd,"SuccessorManhattan",568),D(1356,1,{},Qi),l.Ce=function(e,n){var r;return Ewn((r=u(e,46),u(n,167),r))},F(kd,"SuccessorMaxNormWindingInMathPosSense",1356),D(400,1,{},fr),l.Ce=function(e,n){return vvt(this,e,n)},l.c=!1,l.d=!1,l.e=!1,l.f=!1,F(kd,"SuccessorQuadrantsGeneric",400),D(1357,1,{},Ts),l.Kb=function(e){return u(e,324).a},F(kd,"SuccessorQuadrantsGeneric/lambda$0$Type",1357),D(323,22,{3:1,35:1,22:1,323:1},QR),l.a=!1;var fO,dO,gO,pO,Vpe=jr(Xq,i6t,323,Hr,Lsn,gJe),Gpe;D(1298,1,{}),l.Ib=function(){var e,n,r,s,o,h;for(r=" ",e=pe(0),o=0;o=0?"b"+e+"["+zrt(this.a)+"]":"b["+zrt(this.a)+"]"):"b_"+Pw(this)},F(HI,"FBendpoint",559),D(282,134,{3:1,282:1,94:1,134:1},eYt),l.Ib=function(){return zrt(this)},F(HI,"FEdge",282),D(231,134,{3:1,231:1,94:1,134:1},B$);var o6n=F(HI,"FGraph",231);D(447,357,{3:1,447:1,357:1,94:1,134:1},iJt),l.Ib=function(){return this.b==null||this.b.length==0?"l["+zrt(this.a)+"]":"l_"+this.b},F(HI,"FLabel",447),D(144,357,{3:1,144:1,357:1,94:1,134:1},gXt),l.Ib=function(){return Kvt(this)},l.b=0,F(HI,"FNode",144),D(2003,1,{}),l.bf=function(e){axt(this,e)},l.cf=function(){Bse(this)},l.d=0,F(g6t,"AbstractForceModel",2003),D(631,2003,{631:1},Wne),l.af=function(e,n){var r,s,o,h,d;return Ooe(this.f,e,n),o=ia(nc(n.d),e.d),d=b.Math.sqrt(o.a*o.a+o.b*o.b),s=b.Math.max(0,d-D9(e.e)/2-D9(n.e)/2),r=Ere(this.e,e,n),r>0?h=-pnn(s,this.c)*r:h=oZe(s,this.b)*u(Q(e,(Jf(),c7)),19).a,fd(o,h/d),o},l.bf=function(e){axt(this,e),this.a=u(Q(e,(Jf(),pV)),19).a,this.c=Xt(ye(Q(e,bV))),this.b=Xt(ye(Q(e,elt)))},l.df=function(e){return e0&&(h-=mKe(s,this.a)*r),fd(o,h*this.b/d),o},l.bf=function(e){var n,r,s,o,h,d,v;for(axt(this,e),this.b=Xt(ye(Q(e,(Jf(),nlt)))),this.c=this.b/u(Q(e,pV),19).a,s=e.e.c.length,h=0,o=0,v=new S(e.e);v.a0},l.a=0,l.b=0,l.c=0,F(g6t,"FruchtermanReingoldModel",632),D(849,1,Oh,HJ),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Jq),""),"Force Model"),"Determines the model for force calculation."),b7t),(Ug(),us)),w7t),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,p6t),""),"Iterations"),"The number of iterations on the force model."),pe(300)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,b6t),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,qot),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Ed),Oo),la),un(qn)))),ca(e,qot,Jq,hbe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Hot),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),Oo),la),un(qn)))),ca(e,Hot,Jq,cbe),Phe((new bC,e))};var sbe,abe,b7t,obe,cbe,ube,lbe,hbe;F(B_,"ForceMetaDataProvider",849),D(424,22,{3:1,35:1,22:1,424:1},Pbt);var tlt,gV,w7t=jr(B_,"ForceModelStrategy",424,Hr,ein,wJe),fbe;D(988,1,Oh,bC),l.Qe=function(e){Phe(e)};var dbe,gbe,v7t,pV,m7t,pbe,bbe,wbe,y7t,vbe,x7t,k7t,mbe,c7,ybe,elt,E7t,xbe,kbe,bV,nlt;F(B_,"ForceOptions",988),D(989,1,{},V5),l.$e=function(){var e;return e=new Npt,e},l._e=function(e){},F(B_,"ForceOptions/ForceFactory",989);var vO,dS,I6,wV;D(850,1,Oh,VJ),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,v6t),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Nn(),!1)),(Ug(),La)),Rs),un((Qf(),ea))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,m6t),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),Oo),la),ji(qn,lt(ct(ip,1),oe,175,0,[Pd]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,y6t),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),T7t),us),D7t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,x6t),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Ed),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,k6t),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),pe(wi)),gc),ja),un(qn)))),vhe((new GJ,e))};var Ebe,Tbe,T7t,Cbe,_be,Sbe;F(B_,"StressMetaDataProvider",850),D(992,1,Oh,GJ),l.Qe=function(e){vhe(e)};var vV,C7t,_7t,S7t,A7t,L7t,Abe,Lbe,Mbe,Dbe,M7t,Ibe;F(B_,"StressOptions",992),D(993,1,{},f1),l.$e=function(){var e;return e=new nYt,e},l._e=function(e){},F(B_,"StressOptions/StressFactory",993),D(1128,209,S2,nYt),l.Ze=function(e,n){var r,s,o,h,d;for(vr(n,o1e,1),je(Re(qe(e,(iI(),A7t))))?je(Re(qe(e,M7t)))||y$((r=new rr((Pm(),new Mm(e))),r)):jce(new Npt,e,Rc(n,1)),o=pre(e),s=Ale(this.a,o),d=s.Kc();d.Ob();)h=u(d.Pb(),231),!(h.e.c.length<=1)&&(_3n(this.b,h),i2n(this.b),xu(h.d,new rd));o=zhe(s),Rhe(o),or(n)},F(nH,"StressLayoutProvider",1128),D(1129,1,Un,rd),l.td=function(e){dxt(u(e,447))},F(nH,"StressLayoutProvider/lambda$0$Type",1129),D(990,1,{},hqt),l.c=0,l.e=0,l.g=0,F(nH,"StressMajorization",990),D(379,22,{3:1,35:1,22:1,379:1},Det);var rlt,ilt,slt,D7t=jr(nH,"StressMajorization/Dimension",379,Hr,Lin,vJe),Obe;D(991,1,Oi,Ci),l.ue=function(e,n){return YZe(this.a,u(e,144),u(n,144))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(nH,"StressMajorization/lambda$0$Type",991),D(1229,1,{},wZt),F(_6,"ElkLayered",1229),D(1230,1,Un,id),l.td=function(e){sbn(u(e,37))},F(_6,"ElkLayered/lambda$0$Type",1230),D(1231,1,Un,hi),l.td=function(e){KZe(this.a,u(e,37))},F(_6,"ElkLayered/lambda$1$Type",1231),D(1263,1,{},HUt);var Pbe,Fbe,Nbe;F(_6,"GraphConfigurator",1263),D(759,1,Un,gs),l.td=function(e){Gae(this.a,u(e,10))},F(_6,"GraphConfigurator/lambda$0$Type",759),D(760,1,{},G5),l.Kb=function(e){return l4t(),new Tn(null,new _n(u(e,29).a,16))},F(_6,"GraphConfigurator/lambda$1$Type",760),D(761,1,Un,qi),l.td=function(e){Gae(this.a,u(e,10))},F(_6,"GraphConfigurator/lambda$2$Type",761),D(1127,209,S2,gqt),l.Ze=function(e,n){var r;r=Wyn(new yqt,e),Vt(qe(e,(Te(),qy)))===Vt((G0(),sp))?Chn(this.a,r,n):xbn(this.a,r,n),Ohe(new WJ,r)},F(_6,"LayeredLayoutProvider",1127),D(356,22,{3:1,35:1,22:1,356:1},_M);var Dd,gb,cu,qc,Io,I7t=jr(_6,"LayeredPhases",356,Hr,fan,mJe),Bbe;D(1651,1,{},nne),l.i=0;var Rbe;F(UI,"ComponentsToCGraphTransformer",1651);var jbe;D(1652,1,{},fw),l.ef=function(e,n){return b.Math.min(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},l.ff=function(e,n){return b.Math.min(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},F(UI,"ComponentsToCGraphTransformer/1",1652),D(81,1,{81:1}),l.i=0,l.k=!0,l.o=Cs;var alt=F($_,"CNode",81);D(460,81,{460:1,81:1},F2t,N3t),l.Ib=function(){return""},F(UI,"ComponentsToCGraphTransformer/CRectNode",460),D(1623,1,{},U5);var olt,clt;F(UI,"OneDimensionalComponentsCompaction",1623),D(1624,1,{},mp),l.Kb=function(e){return yin(u(e,46))},l.Fb=function(e){return this===e},F(UI,"OneDimensionalComponentsCompaction/lambda$0$Type",1624),D(1625,1,{},W5),l.Kb=function(e){return Ohn(u(e,46))},l.Fb=function(e){return this===e},F(UI,"OneDimensionalComponentsCompaction/lambda$1$Type",1625),D(1654,1,{},dXt),F($_,"CGraph",1654),D(189,1,{189:1},ost),l.b=0,l.c=0,l.e=0,l.g=!0,l.i=Cs,F($_,"CGroup",189),D(1653,1,{},EL),l.ef=function(e,n){return b.Math.max(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},l.ff=function(e,n){return b.Math.max(e.a!=null?Xt(e.a):e.c.i,n.a!=null?Xt(n.a):n.c.i)},F($_,Ffe,1653),D(1655,1,{},Uoe),l.d=!1;var $be,ult=F($_,Rfe,1655);D(1656,1,{},vl),l.Kb=function(e){return xbt(),Nn(),u(u(e,46).a,81).d.e!=0},l.Fb=function(e){return this===e},F($_,jfe,1656),D(823,1,{},Gwt),l.a=!1,l.b=!1,l.c=!1,l.d=!1,F($_,$fe,823),D(1825,1,{},DKt),F(rH,zfe,1825);var mO=Ki(L2,Ofe);D(1826,1,{369:1},cQt),l.Ke=function(e){gvn(this,u(e,466))},F(rH,qfe,1826),D(1827,1,Oi,iN),l.ue=function(e,n){return grn(u(e,81),u(n,81))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(rH,Hfe,1827),D(466,1,{466:1},Nbt),l.a=!1,F(rH,Vfe,466),D(1828,1,Oi,Sc),l.ue=function(e,n){return _dn(u(e,466),u(n,466))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(rH,Gfe,1828),D(140,1,{140:1},g8,$wt),l.Fb=function(e){var n;return e==null||c6n!=ol(e)?!1:(n=u(e,140),Fc(this.c,n.c)&&Fc(this.d,n.d))},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[this.c,this.d]))},l.Ib=function(){return"("+this.c+Ya+this.d+(this.a?"cx":"")+this.b+")"},l.a=!0,l.c=0,l.d=0;var c6n=F(L2,"Point",140);D(405,22,{3:1,35:1,22:1,405:1},JR);var Lv,Py,z4,Fy,zbe=jr(L2,"Point/Quadrant",405,Hr,Msn,yJe),qbe;D(1642,1,{},pqt),l.b=null,l.c=null,l.d=null,l.e=null,l.f=null;var Hbe,Vbe,Gbe,Ube,Wbe;F(L2,"RectilinearConvexHull",1642),D(574,1,{369:1},Yz),l.Ke=function(e){don(this,u(e,140))},l.b=0;var O7t;F(L2,"RectilinearConvexHull/MaximalElementsEventHandler",574),D(1644,1,Oi,wm),l.ue=function(e,n){return rrn(ye(e),ye(n))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1644),D(1643,1,{369:1},Cee),l.Ke=function(e){Swn(this,u(e,140))},l.a=0,l.b=null,l.c=null,l.d=null,l.e=null,F(L2,"RectilinearConvexHull/RectangleEventHandler",1643),D(1645,1,Oi,xg),l.ue=function(e,n){return asn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$0$Type",1645),D(1646,1,Oi,T3),l.ue=function(e,n){return osn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$1$Type",1646),D(1647,1,Oi,cK),l.ue=function(e,n){return usn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$2$Type",1647),D(1648,1,Oi,Vb),l.ue=function(e,n){return csn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$3$Type",1648),D(1649,1,Oi,uK),l.ue=function(e,n){return hgn(u(e,140),u(n,140))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(L2,"RectilinearConvexHull/lambda$4$Type",1649),D(1650,1,{},jQt),F(L2,"Scanline",1650),D(2005,1,{}),F(Td,"AbstractGraphPlacer",2005),D(325,1,{325:1},DWt),l.mf=function(e){return this.nf(e)?(ln(this.b,u(Q(e,(ae(),By)),21),e),!0):!1},l.nf=function(e){var n,r,s,o;for(n=u(Q(e,(ae(),By)),21),o=u(Ai(Pi,n),21),s=o.Kc();s.Ob();)if(r=u(s.Pb(),21),!u(Ai(this.b,r),15).dc())return!1;return!0};var Pi;F(Td,"ComponentGroup",325),D(765,2005,{},$pt),l.of=function(e){var n,r;for(r=new S(this.a);r.aG&&(ue=0,_e+=H+o,H=0),gt=d.c,x_(d,ue+gt.a,_e+gt.b),Gf(gt),r=b.Math.max(r,ue+St.a),H=b.Math.max(H,St.b),ue+=St.a+o;if(n.f.a=r,n.f.b=_e+H,je(Re(Q(h,iG)))){for(s=new PT,Oxt(s,e,o),j=e.Kc();j.Ob();)M=u(j.Pb(),37),Li(Gf(M.c),s.e);Li(Gf(n.f),s.a)}Omt(n,e)},F(Td,"SimpleRowGraphPlacer",1291),D(1292,1,Oi,Rf),l.ue=function(e,n){return uun(u(e,37),u(n,37))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Td,"SimpleRowGraphPlacer/1",1292);var Kbe;D(1262,1,xd,vm),l.Lb=function(e){var n;return n=u(Q(u(e,243).b,(Te(),So)),74),!!n&&n.b!=0},l.Fb=function(e){return this===e},l.Mb=function(e){var n;return n=u(Q(u(e,243).b,(Te(),So)),74),!!n&&n.b!=0},F(iH,"CompoundGraphPostprocessor/1",1262),D(1261,1,os,xqt),l.pf=function(e,n){yse(this,u(e,37),n)},F(iH,"CompoundGraphPreprocessor",1261),D(441,1,{441:1},oie),l.c=!1,F(iH,"CompoundGraphPreprocessor/ExternalPort",441),D(243,1,{243:1},Fj),l.Ib=function(){return bnt(this.c)+":"+qoe(this.b)},F(iH,"CrossHierarchyEdge",243),D(763,1,Oi,Si),l.ue=function(e,n){return Z1n(this,u(e,243),u(n,243))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(iH,"CrossHierarchyEdgeComparator",763),D(299,134,{3:1,299:1,94:1,134:1}),l.p=0,F(tu,"LGraphElement",299),D(17,299,{3:1,17:1,299:1,94:1,134:1},Vw),l.Ib=function(){return qoe(this)};var hlt=F(tu,"LEdge",17);D(37,299,{3:1,20:1,37:1,299:1,94:1,134:1},eyt),l.Jc=function(e){va(this,e)},l.Kc=function(){return new S(this.b)},l.Ib=function(){return this.b.c.length==0?"G-unlayered"+eb(this.a):this.a.c.length==0?"G-layered"+eb(this.b):"G[layerless"+eb(this.a)+", layers"+eb(this.b)+"]"};var Xbe=F(tu,"LGraph",37),Qbe;D(657,1,{}),l.qf=function(){return this.e.n},l.We=function(e){return Q(this.e,e)},l.rf=function(){return this.e.o},l.sf=function(){return this.e.p},l.Xe=function(e){return Us(this.e,e)},l.tf=function(e){this.e.n.a=e.a,this.e.n.b=e.b},l.uf=function(e){this.e.o.a=e.a,this.e.o.b=e.b},l.vf=function(e){this.e.p=e},F(tu,"LGraphAdapters/AbstractLShapeAdapter",657),D(577,1,{839:1},Ui),l.wf=function(){var e,n;if(!this.b)for(this.b=Ud(this.a.b.c.length),n=new S(this.a.b);n.a0&&Wre((Rr(n-1,e.length),e.charCodeAt(n-1)),d1e);)--n;if(h> ",e),iq(r)),Gr(hc((e.a+="[",e),r.i),"]")),e.a},l.c=!0,l.d=!1;var R7t,j7t,$7t,z7t,q7t,H7t,Jbe=F(tu,"LPort",11);D(397,1,r0,Qs),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=new S(this.a.e),new qs(e)},F(tu,"LPort/1",397),D(1290,1,sa,qs),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(J(this.a),17).c},l.Ob=function(){return Go(this.a)},l.Qb=function(){L9(this.a)},F(tu,"LPort/1/1",1290),D(359,1,r0,Tr),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=new S(this.a.g),new Qt(e)},F(tu,"LPort/2",359),D(762,1,sa,Qt),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(J(this.a),17).d},l.Ob=function(){return Go(this.a)},l.Qb=function(){L9(this.a)},F(tu,"LPort/2/1",762),D(1283,1,r0,cGt),l.Jc=function(e){va(this,e)},l.Kc=function(){return new L1(this)},F(tu,"LPort/CombineIter",1283),D(201,1,sa,L1),l.Nb=function(e){ba(this,e)},l.Qb=function(){IHt()},l.Ob=function(){return v9(this)},l.Pb=function(){return Go(this.a)?J(this.a):J(this.b)},F(tu,"LPort/CombineIter/1",201),D(1285,1,xd,yp),l.Lb=function(e){return HKt(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).e.c.length!=0},F(tu,"LPort/lambda$0$Type",1285),D(1284,1,xd,mm),l.Lb=function(e){return VKt(e)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).g.c.length!=0},F(tu,"LPort/lambda$1$Type",1284),D(1286,1,xd,hK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Pn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Pn)},F(tu,"LPort/lambda$2$Type",1286),D(1287,1,xd,Gb),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Hn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Hn)},F(tu,"LPort/lambda$3$Type",1287),D(1288,1,xd,fK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),mr)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),mr)},F(tu,"LPort/lambda$4$Type",1288),D(1289,1,xd,dK),l.Lb=function(e){return ju(),u(e,11).j==(ve(),Bn)},l.Fb=function(e){return this===e},l.Mb=function(e){return ju(),u(e,11).j==(ve(),Bn)},F(tu,"LPort/lambda$5$Type",1289),D(29,299,{3:1,20:1,299:1,29:1,94:1,134:1},Sh),l.Jc=function(e){va(this,e)},l.Kc=function(){return new S(this.a)},l.Ib=function(){return"L_"+Ro(this.b.b,this,0)+eb(this.a)},F(tu,"Layer",29),D(1342,1,{},yqt),F(Kg,w1e,1342),D(1346,1,{},Y5),l.Kb=function(e){return Do(u(e,82))},F(Kg,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1346),D(1349,1,{},FT),l.Kb=function(e){return Do(u(e,82))},F(Kg,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1349),D(1343,1,Un,jn),l.td=function(e){nce(this.a,u(e,118))},F(Kg,v1e,1343),D(1344,1,Un,Sr),l.td=function(e){nce(this.a,u(e,118))},F(Kg,m1e,1344),D(1345,1,{},oN),l.Kb=function(e){return new Tn(null,new _n(Znn(u(e,79)),16))},F(Kg,y1e,1345),D(1347,1,li,ir),l.Mb=function(e){return JXe(this.a,u(e,33))},F(Kg,x1e,1347),D(1348,1,{},Tk),l.Kb=function(e){return new Tn(null,new _n(Jnn(u(e,79)),16))},F(Kg,"ElkGraphImporter/lambda$5$Type",1348),D(1350,1,li,sr),l.Mb=function(e){return tQe(this.a,u(e,33))},F(Kg,"ElkGraphImporter/lambda$7$Type",1350),D(1351,1,li,gK),l.Mb=function(e){return brn(u(e,79))},F(Kg,"ElkGraphImporter/lambda$8$Type",1351),D(1278,1,{},WJ);var t2e;F(Kg,"ElkGraphLayoutTransferrer",1278),D(1279,1,li,Ia),l.Mb=function(e){return qZe(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$0$Type",1279),D(1280,1,Un,$r),l.td=function(e){kM(),le(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$1$Type",1280),D(1281,1,li,Yi),l.Mb=function(e){return SZe(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$2$Type",1281),D(1282,1,Un,Fo),l.td=function(e){kM(),le(this.a,u(e,17))},F(Kg,"ElkGraphLayoutTransferrer/lambda$3$Type",1282),D(1485,1,os,Ck),l.pf=function(e,n){Lcn(u(e,37),n)},F($n,"CommentNodeMarginCalculator",1485),D(1486,1,{},pK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"CommentNodeMarginCalculator/lambda$0$Type",1486),D(1487,1,Un,bK),l.td=function(e){u3n(u(e,10))},F($n,"CommentNodeMarginCalculator/lambda$1$Type",1487),D(1488,1,os,wK),l.pf=function(e,n){kvn(u(e,37),n)},F($n,"CommentPostprocessor",1488),D(1489,1,os,vK),l.pf=function(e,n){L5n(u(e,37),n)},F($n,"CommentPreprocessor",1489),D(1490,1,os,mK),l.pf=function(e,n){G2n(u(e,37),n)},F($n,"ConstraintsPostprocessor",1490),D(1491,1,os,yK),l.pf=function(e,n){Zcn(u(e,37),n)},F($n,"EdgeAndLayerConstraintEdgeReverser",1491),D(1492,1,os,xK),l.pf=function(e,n){$hn(u(e,37),n)},F($n,"EndLabelPostprocessor",1492),D(1493,1,{},kK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelPostprocessor/lambda$0$Type",1493),D(1494,1,li,EK),l.Mb=function(e){return Prn(u(e,10))},F($n,"EndLabelPostprocessor/lambda$1$Type",1494),D(1495,1,Un,TK),l.td=function(e){Sdn(u(e,10))},F($n,"EndLabelPostprocessor/lambda$2$Type",1495),D(1496,1,os,CK),l.pf=function(e,n){bpn(u(e,37),n)},F($n,"EndLabelPreprocessor",1496),D(1497,1,{},CL),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelPreprocessor/lambda$0$Type",1497),D(1498,1,Un,PYt),l.td=function(e){bXe(this.a,this.b,this.c,u(e,10))},l.a=0,l.b=0,l.c=!1,F($n,"EndLabelPreprocessor/lambda$1$Type",1498),D(1499,1,li,_K),l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),F7))},F($n,"EndLabelPreprocessor/lambda$2$Type",1499),D(1500,1,Un,Pc),l.td=function(e){ri(this.a,u(e,70))},F($n,"EndLabelPreprocessor/lambda$3$Type",1500),D(1501,1,li,SK),l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),Zy))},F($n,"EndLabelPreprocessor/lambda$4$Type",1501),D(1502,1,Un,Za),l.td=function(e){ri(this.a,u(e,70))},F($n,"EndLabelPreprocessor/lambda$5$Type",1502),D(1551,1,os,UJ),l.pf=function(e,n){Yln(u(e,37),n)};var e2e;F($n,"EndLabelSorter",1551),D(1552,1,Oi,NT),l.ue=function(e,n){return Tfn(u(e,456),u(n,456))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"EndLabelSorter/1",1552),D(456,1,{456:1},tQt),F($n,"EndLabelSorter/LabelGroup",456),D(1553,1,{},cN),l.Kb=function(e){return EM(),new Tn(null,new _n(u(e,29).a,16))},F($n,"EndLabelSorter/lambda$0$Type",1553),D(1554,1,li,K5),l.Mb=function(e){return EM(),u(e,10).k==(Vn(),Os)},F($n,"EndLabelSorter/lambda$1$Type",1554),D(1555,1,Un,AK),l.td=function(e){Sgn(u(e,10))},F($n,"EndLabelSorter/lambda$2$Type",1555),D(1556,1,li,LK),l.Mb=function(e){return EM(),Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),Zy))},F($n,"EndLabelSorter/lambda$3$Type",1556),D(1557,1,li,MK),l.Mb=function(e){return EM(),Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),F7))},F($n,"EndLabelSorter/lambda$4$Type",1557),D(1503,1,os,DK),l.pf=function(e,n){y3n(this,u(e,37))},l.b=0,l.c=0,F($n,"FinalSplineBendpointsCalculator",1503),D(1504,1,{},IK),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"FinalSplineBendpointsCalculator/lambda$0$Type",1504),D(1505,1,{},BT),l.Kb=function(e){return new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F($n,"FinalSplineBendpointsCalculator/lambda$1$Type",1505),D(1506,1,li,_L),l.Mb=function(e){return!Ga(u(e,17))},F($n,"FinalSplineBendpointsCalculator/lambda$2$Type",1506),D(1507,1,li,uN),l.Mb=function(e){return Us(u(e,17),(ae(),R2))},F($n,"FinalSplineBendpointsCalculator/lambda$3$Type",1507),D(1508,1,Un,mc),l.td=function(e){Omn(this.a,u(e,128))},F($n,"FinalSplineBendpointsCalculator/lambda$4$Type",1508),D(1509,1,Un,C3),l.td=function(e){Yst(u(e,17).a)},F($n,"FinalSplineBendpointsCalculator/lambda$5$Type",1509),D(792,1,os,Ta),l.pf=function(e,n){d4n(this,u(e,37),n)},F($n,"GraphTransformer",792),D(511,22,{3:1,35:1,22:1,511:1},Fbt);var dlt,yO,n2e=jr($n,"GraphTransformer/Mode",511,Hr,nin,Ptn),r2e;D(1510,1,os,_3),l.pf=function(e,n){Hwn(u(e,37),n)},F($n,"HierarchicalNodeResizingProcessor",1510),D(1511,1,os,OK),l.pf=function(e,n){Tcn(u(e,37),n)},F($n,"HierarchicalPortConstraintProcessor",1511),D(1512,1,Oi,of),l.ue=function(e,n){return Ffn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortConstraintProcessor/NodeComparator",1512),D(1513,1,os,X5),l.pf=function(e,n){Vyn(u(e,37),n)},F($n,"HierarchicalPortDummySizeProcessor",1513),D(1514,1,os,PK),l.pf=function(e,n){zvn(this,u(e,37),n)},l.a=0,F($n,"HierarchicalPortOrthogonalEdgeRouter",1514),D(1515,1,Oi,_k),l.ue=function(e,n){return UQe(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortOrthogonalEdgeRouter/1",1515),D(1516,1,Oi,zd),l.ue=function(e,n){return aon(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"HierarchicalPortOrthogonalEdgeRouter/2",1516),D(1517,1,os,FK),l.pf=function(e,n){fgn(u(e,37),n)},F($n,"HierarchicalPortPositionProcessor",1517),D(1518,1,os,YJ),l.pf=function(e,n){oxn(this,u(e,37))},l.a=0,l.c=0;var mV,yV;F($n,"HighDegreeNodeLayeringProcessor",1518),D(571,1,{571:1},NK),l.b=-1,l.d=-1,F($n,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",571),D(1519,1,{},BK),l.Kb=function(e){return KM(),jo(u(e,10))},l.Fb=function(e){return this===e},F($n,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1519),D(1520,1,{},RK),l.Kb=function(e){return KM(),Ds(u(e,10))},l.Fb=function(e){return this===e},F($n,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1520),D(1526,1,os,RT),l.pf=function(e,n){vyn(this,u(e,37),n)},F($n,"HyperedgeDummyMerger",1526),D(793,1,{},Cwt),l.a=!1,l.b=!1,l.c=!1,F($n,"HyperedgeDummyMerger/MergeState",793),D(1527,1,{},SL),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"HyperedgeDummyMerger/lambda$0$Type",1527),D(1528,1,{},lN),l.Kb=function(e){return new Tn(null,new _n(u(e,10).j,16))},F($n,"HyperedgeDummyMerger/lambda$1$Type",1528),D(1529,1,Un,AL),l.td=function(e){u(e,11).p=-1},F($n,"HyperedgeDummyMerger/lambda$2$Type",1529),D(1530,1,os,Q5),l.pf=function(e,n){byn(u(e,37),n)},F($n,"HypernodesProcessor",1530),D(1531,1,os,jK),l.pf=function(e,n){wyn(u(e,37),n)},F($n,"InLayerConstraintProcessor",1531),D(1532,1,os,hN),l.pf=function(e,n){Wcn(u(e,37),n)},F($n,"InnermostNodeMarginCalculator",1532),D(1533,1,os,fN),l.pf=function(e,n){T5n(this,u(e,37))},l.a=Cs,l.b=Cs,l.c=as,l.d=as;var u6n=F($n,"InteractiveExternalPortPositioner",1533);D(1534,1,{},$K),l.Kb=function(e){return u(e,17).d.i},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$0$Type",1534),D(1535,1,{},Ja),l.Kb=function(e){return KQe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$1$Type",1535),D(1536,1,{},zK),l.Kb=function(e){return u(e,17).c.i},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$2$Type",1536),D(1537,1,{},ml),l.Kb=function(e){return XQe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$3$Type",1537),D(1538,1,{},qf),l.Kb=function(e){return jZe(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$4$Type",1538),D(1539,1,{},Cp),l.Kb=function(e){return $Ze(this.a,ye(e))},l.Fb=function(e){return this===e},F($n,"InteractiveExternalPortPositioner/lambda$5$Type",1539),D(77,22,{3:1,35:1,22:1,77:1,234:1},ms),l.Kf=function(){switch(this.g){case 15:return new rQ;case 22:return new iQ;case 47:return new oQ;case 28:case 35:return new S3;case 32:return new Ck;case 42:return new wK;case 1:return new vK;case 41:return new mK;case 56:return new Ta((X8(),yO));case 0:return new Ta((X8(),dlt));case 2:return new yK;case 54:return new xK;case 33:return new CK;case 51:return new DK;case 55:return new _3;case 13:return new OK;case 38:return new X5;case 44:return new PK;case 40:return new FK;case 9:return new YJ;case 49:return new yWt;case 37:return new RT;case 43:return new Q5;case 27:return new jK;case 30:return new hN;case 3:return new fN;case 18:return new HK;case 29:return new VK;case 5:return new zB;case 50:return new qK;case 34:return new KJ;case 36:return new Sk;case 52:return new UJ;case 11:return new ym;case 7:return new QJ;case 39:return new Ak;case 45:return new YK;case 16:return new jT;case 10:return new sd;case 48:return new ML;case 21:return new Lk;case 23:return new det((ev(),FS));case 8:return new bN;case 12:return new IL;case 4:return new XK;case 19:return new wC;case 17:return new eX;case 53:return new nX;case 6:return new EN;case 25:return new Tqt;case 46:return new aX;case 31:return new iYt;case 14:return new PL;case 26:return new lQ;case 20:return new gX;case 24:return new det((ev(),TG));default:throw it(new Fn(Yot+(this.f!=null?this.f:""+this.g)))}};var V7t,G7t,U7t,W7t,Y7t,K7t,X7t,Q7t,Z7t,J7t,gS,xV,kV,tTt,eTt,nTt,rTt,iTt,sTt,aTt,pS,oTt,cTt,uTt,lTt,hTt,glt,EV,TV,fTt,CV,_V,SV,u7,l7,h7,dTt,AV,LV,gTt,MV,DV,pTt,bTt,wTt,vTt,IV,plt,xO,OV,PV,FV,NV,mTt,yTt,xTt,kTt,l6n=jr($n,T6t,77,Hr,Yce,Otn),i2e;D(1540,1,os,HK),l.pf=function(e,n){_5n(u(e,37),n)},F($n,"InvertedPortProcessor",1540),D(1541,1,os,VK),l.pf=function(e,n){_mn(u(e,37),n)},F($n,"LabelAndNodeSizeProcessor",1541),D(1542,1,li,GK),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"LabelAndNodeSizeProcessor/lambda$0$Type",1542),D(1543,1,li,qd),l.Mb=function(e){return u(e,10).k==(Vn(),ks)},F($n,"LabelAndNodeSizeProcessor/lambda$1$Type",1543),D(1544,1,Un,FYt),l.td=function(e){wXe(this.b,this.a,this.c,u(e,10))},l.a=!1,l.c=!1,F($n,"LabelAndNodeSizeProcessor/lambda$2$Type",1544),D(1545,1,os,zB),l.pf=function(e,n){X4n(u(e,37),n)};var s2e;F($n,"LabelDummyInserter",1545),D(1546,1,xd,dw),l.Lb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),P7))},l.Fb=function(e){return this===e},l.Mb=function(e){return Vt(Q(u(e,70),(Te(),Od)))===Vt((M1(),P7))},F($n,"LabelDummyInserter/1",1546),D(1547,1,os,qK),l.pf=function(e,n){Z3n(u(e,37),n)},F($n,"LabelDummyRemover",1547),D(1548,1,li,UK),l.Mb=function(e){return je(Re(Q(u(e,70),(Te(),rht))))},F($n,"LabelDummyRemover/lambda$0$Type",1548),D(1359,1,os,KJ),l.pf=function(e,n){S4n(this,u(e,37),n)},l.a=null;var blt;F($n,"LabelDummySwitcher",1359),D(286,1,{286:1},Uue),l.c=0,l.d=null,l.f=0,F($n,"LabelDummySwitcher/LabelDummyInfo",286),D(1360,1,{},dN),l.Kb=function(e){return r6(),new Tn(null,new _n(u(e,29).a,16))},F($n,"LabelDummySwitcher/lambda$0$Type",1360),D(1361,1,li,gN),l.Mb=function(e){return r6(),u(e,10).k==(Vn(),Ll)},F($n,"LabelDummySwitcher/lambda$1$Type",1361),D(1362,1,{},_g),l.Kb=function(e){return AZe(this.a,u(e,10))},F($n,"LabelDummySwitcher/lambda$2$Type",1362),D(1363,1,Un,cd),l.td=function(e){Snn(this.a,u(e,286))},F($n,"LabelDummySwitcher/lambda$3$Type",1363),D(1364,1,Oi,WK),l.ue=function(e,n){return enn(u(e,286),u(n,286))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"LabelDummySwitcher/lambda$4$Type",1364),D(791,1,os,S3),l.pf=function(e,n){Ran(u(e,37),n)},F($n,"LabelManagementProcessor",791),D(1549,1,os,Sk),l.pf=function(e,n){uvn(u(e,37),n)},F($n,"LabelSideSelector",1549),D(1550,1,li,LL),l.Mb=function(e){return je(Re(Q(u(e,70),(Te(),rht))))},F($n,"LabelSideSelector/lambda$0$Type",1550),D(1558,1,os,ym),l.pf=function(e,n){Gyn(u(e,37),n)},F($n,"LayerConstraintPostprocessor",1558),D(1559,1,os,QJ),l.pf=function(e,n){s2n(u(e,37),n)};var ETt;F($n,"LayerConstraintPreprocessor",1559),D(360,22,{3:1,35:1,22:1,360:1},tj);var kO,BV,RV,wlt,a2e=jr($n,"LayerConstraintPreprocessor/HiddenNodeConnections",360,Hr,Dsn,TJe),o2e;D(1560,1,os,Ak),l.pf=function(e,n){K3n(u(e,37),n)},F($n,"LayerSizeAndGraphHeightCalculator",1560),D(1561,1,os,YK),l.pf=function(e,n){Z2n(u(e,37),n)},F($n,"LongEdgeJoiner",1561),D(1562,1,os,jT),l.pf=function(e,n){M3n(u(e,37),n)},F($n,"LongEdgeSplitter",1562),D(1563,1,os,sd),l.pf=function(e,n){M4n(this,u(e,37),n)},l.d=0,l.e=0,l.i=0,l.j=0,l.k=0,l.n=0,F($n,"NodePromotion",1563),D(1564,1,{},pN),l.Kb=function(e){return u(e,46),Nn(),!0},l.Fb=function(e){return this===e},F($n,"NodePromotion/lambda$0$Type",1564),D(1565,1,{},_p),l.Kb=function(e){return Ynn(this.a,u(e,46))},l.Fb=function(e){return this===e},l.a=0,F($n,"NodePromotion/lambda$1$Type",1565),D(1566,1,{},Hf),l.Kb=function(e){return Knn(this.a,u(e,46))},l.Fb=function(e){return this===e},l.a=0,F($n,"NodePromotion/lambda$2$Type",1566),D(1567,1,os,ML),l.pf=function(e,n){txn(u(e,37),n)},F($n,"NorthSouthPortPostprocessor",1567),D(1568,1,os,Lk),l.pf=function(e,n){j5n(u(e,37),n)},F($n,"NorthSouthPortPreprocessor",1568),D(1569,1,Oi,DL),l.ue=function(e,n){return gun(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"NorthSouthPortPreprocessor/lambda$0$Type",1569),D(1570,1,os,bN),l.pf=function(e,n){nyn(u(e,37),n)},F($n,"PartitionMidprocessor",1570),D(1571,1,li,KK),l.Mb=function(e){return Us(u(e,10),(Te(),T7))},F($n,"PartitionMidprocessor/lambda$0$Type",1571),D(1572,1,Un,mw),l.td=function(e){wrn(this.a,u(e,10))},F($n,"PartitionMidprocessor/lambda$1$Type",1572),D(1573,1,os,IL),l.pf=function(e,n){vwn(u(e,37),n)},F($n,"PartitionPostprocessor",1573),D(1574,1,os,XK),l.pf=function(e,n){Abn(u(e,37),n)},F($n,"PartitionPreprocessor",1574),D(1575,1,li,QK),l.Mb=function(e){return Us(u(e,10),(Te(),T7))},F($n,"PartitionPreprocessor/lambda$0$Type",1575),D(1576,1,{},wN),l.Kb=function(e){return new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F($n,"PartitionPreprocessor/lambda$1$Type",1576),D(1577,1,li,Z5),l.Mb=function(e){return xfn(u(e,17))},F($n,"PartitionPreprocessor/lambda$2$Type",1577),D(1578,1,Un,vN),l.td=function(e){Tun(u(e,17))},F($n,"PartitionPreprocessor/lambda$3$Type",1578),D(1579,1,os,wC),l.pf=function(e,n){$mn(u(e,37),n)};var TTt,c2e,u2e,l2e,CTt,_Tt;F($n,"PortListSorter",1579),D(1580,1,{},J5),l.Kb=function(e){return oE(),u(e,11).e},F($n,"PortListSorter/lambda$0$Type",1580),D(1581,1,{},ZK),l.Kb=function(e){return oE(),u(e,11).g},F($n,"PortListSorter/lambda$1$Type",1581),D(1582,1,Oi,OL),l.ue=function(e,n){return aJt(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$2$Type",1582),D(1583,1,Oi,JK),l.ue=function(e,n){return G1n(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$3$Type",1583),D(1584,1,Oi,tX),l.ue=function(e,n){return ple(u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"PortListSorter/lambda$4$Type",1584),D(1585,1,os,eX),l.pf=function(e,n){Jbn(u(e,37),n)},F($n,"PortSideProcessor",1585),D(1586,1,os,nX),l.pf=function(e,n){tmn(u(e,37),n)},F($n,"ReversedEdgeRestorer",1586),D(1591,1,os,Tqt),l.pf=function(e,n){L1n(this,u(e,37),n)},F($n,"SelfLoopPortRestorer",1591),D(1592,1,{},mN),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopPortRestorer/lambda$0$Type",1592),D(1593,1,li,rX),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopPortRestorer/lambda$1$Type",1593),D(1594,1,li,iX),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopPortRestorer/lambda$2$Type",1594),D(1595,1,{},sX),l.Kb=function(e){return u(Q(u(e,10),(ae(),x7)),403)},F($n,"SelfLoopPortRestorer/lambda$3$Type",1595),D(1596,1,Un,Lm),l.td=function(e){Rgn(this.a,u(e,403))},F($n,"SelfLoopPortRestorer/lambda$4$Type",1596),D(794,1,Un,yN),l.td=function(e){Jgn(u(e,101))},F($n,"SelfLoopPortRestorer/lambda$5$Type",794),D(1597,1,os,aX),l.pf=function(e,n){Rfn(u(e,37),n)},F($n,"SelfLoopPostProcessor",1597),D(1598,1,{},oX),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopPostProcessor/lambda$0$Type",1598),D(1599,1,li,cX),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopPostProcessor/lambda$1$Type",1599),D(1600,1,li,xN),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopPostProcessor/lambda$2$Type",1600),D(1601,1,Un,uX),l.td=function(e){Gdn(u(e,10))},F($n,"SelfLoopPostProcessor/lambda$3$Type",1601),D(1602,1,{},lX),l.Kb=function(e){return new Tn(null,new _n(u(e,101).f,1))},F($n,"SelfLoopPostProcessor/lambda$4$Type",1602),D(1603,1,Un,xx),l.td=function(e){Psn(this.a,u(e,409))},F($n,"SelfLoopPostProcessor/lambda$5$Type",1603),D(1604,1,li,kN),l.Mb=function(e){return!!u(e,101).i},F($n,"SelfLoopPostProcessor/lambda$6$Type",1604),D(1605,1,Un,F3),l.td=function(e){vKe(this.a,u(e,101))},F($n,"SelfLoopPostProcessor/lambda$7$Type",1605),D(1587,1,os,EN),l.pf=function(e,n){D2n(u(e,37),n)},F($n,"SelfLoopPreProcessor",1587),D(1588,1,{},TN),l.Kb=function(e){return new Tn(null,new _n(u(e,101).f,1))},F($n,"SelfLoopPreProcessor/lambda$0$Type",1588),D(1589,1,{},hX),l.Kb=function(e){return u(e,409).a},F($n,"SelfLoopPreProcessor/lambda$1$Type",1589),D(1590,1,Un,fX),l.td=function(e){EQe(u(e,17))},F($n,"SelfLoopPreProcessor/lambda$2$Type",1590),D(1606,1,os,iYt),l.pf=function(e,n){Agn(this,u(e,37),n)},F($n,"SelfLoopRouter",1606),D(1607,1,{},Mk),l.Kb=function(e){return new Tn(null,new _n(u(e,29).a,16))},F($n,"SelfLoopRouter/lambda$0$Type",1607),D(1608,1,li,tx),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SelfLoopRouter/lambda$1$Type",1608),D(1609,1,li,$T),l.Mb=function(e){return Us(u(e,10),(ae(),x7))},F($n,"SelfLoopRouter/lambda$2$Type",1609),D(1610,1,{},dX),l.Kb=function(e){return u(Q(u(e,10),(ae(),x7)),403)},F($n,"SelfLoopRouter/lambda$3$Type",1610),D(1611,1,Un,tGt),l.td=function(e){crn(this.a,this.b,u(e,403))},F($n,"SelfLoopRouter/lambda$4$Type",1611),D(1612,1,os,PL),l.pf=function(e,n){Qwn(u(e,37),n)},F($n,"SemiInteractiveCrossMinProcessor",1612),D(1613,1,li,zT),l.Mb=function(e){return u(e,10).k==(Vn(),Os)},F($n,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1613),D(1614,1,li,FL),l.Mb=function(e){return yKt(u(e,10))._b((Te(),Uy))},F($n,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1614),D(1615,1,Oi,CN),l.ue=function(e,n){return _cn(u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F($n,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1615),D(1616,1,{},_N),l.Ce=function(e,n){return Crn(u(e,10),u(n,10))},F($n,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1616),D(1618,1,os,gX),l.pf=function(e,n){Uyn(u(e,37),n)},F($n,"SortByInputModelProcessor",1618),D(1619,1,li,pX),l.Mb=function(e){return u(e,11).g.c.length!=0},F($n,"SortByInputModelProcessor/lambda$0$Type",1619),D(1620,1,Un,kx),l.td=function(e){ipn(this.a,u(e,11))},F($n,"SortByInputModelProcessor/lambda$1$Type",1620),D(1693,803,{},pne),l.Me=function(e){var n,r,s,o;switch(this.c=e,this.a.g){case 2:n=new he,ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new MN),new sGt(this,n)),hI(this,new AN),xu(n,new wX),n.c=Nt(Qn,De,1,0,5,1),ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new vX),new N3(n)),hI(this,new mX),xu(n,new yX),n.c=Nt(Qn,De,1,0,5,1),r=RUt(Ane(l$(new Tn(null,new _n(this.c.a.b,16)),new Hd(this))),new xX),ls(new Tn(null,new _n(this.c.a.a,16)),new nGt(r,n)),hI(this,new kX),xu(n,new bX),n.c=Nt(Qn,De,1,0,5,1);break;case 3:s=new he,hI(this,new SN),o=RUt(Ane(l$(new Tn(null,new _n(this.c.a.b,16)),new SC(this))),new LN),ls(Ri(new Tn(null,new _n(this.c.a.b,16)),new EX),new iGt(o,s)),hI(this,new TX),xu(s,new CX),s.c=Nt(Qn,De,1,0,5,1);break;default:throw it(new uqt)}},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation",1693),D(1694,1,xd,SN),l.Lb=function(e){return _t(u(e,57).g,145)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1694),D(1695,1,{},SC),l.Fe=function(e){return Bpn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1695),D(1703,1,Vq,eGt),l.Vd=function(){h_(this.a,this.b,-1)},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1703),D(1705,1,xd,AN),l.Lb=function(e){return _t(u(e,57).g,145)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1705),D(1706,1,Un,wX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1706),D(1707,1,li,vX),l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1707),D(1709,1,Un,N3),l.td=function(e){lhn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1709),D(1708,1,Vq,uGt),l.Vd=function(){h_(this.b,this.a,-1)},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1708),D(1710,1,xd,mX),l.Lb=function(e){return _t(u(e,57).g,10)},l.Fb=function(e){return this===e},l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1710),D(1711,1,Un,yX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1711),D(1712,1,{},Hd),l.Fe=function(e){return Rpn(this.a,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1712),D(1713,1,{},xX),l.De=function(){return 0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1713),D(1696,1,{},LN),l.De=function(){return 0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1696),D(1715,1,Un,nGt),l.td=function(e){Gen(this.a,this.b,u(e,307))},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1715),D(1714,1,Vq,rGt),l.Vd=function(){Cce(this.a,this.b,-1)},l.b=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1714),D(1716,1,xd,kX),l.Lb=function(e){return u(e,57),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,57),!0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1716),D(1717,1,Un,bX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1717),D(1697,1,li,EX),l.Mb=function(e){return _t(u(e,57).g,10)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1697),D(1699,1,Un,iGt),l.td=function(e){Uen(this.a,this.b,u(e,57))},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1699),D(1698,1,Vq,lGt),l.Vd=function(){h_(this.b,this.a,-1)},l.a=0,F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1698),D(1700,1,xd,TX),l.Lb=function(e){return u(e,57),!0},l.Fb=function(e){return this===e},l.Mb=function(e){return u(e,57),!0},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1700),D(1701,1,Un,CX),l.td=function(e){u(e,365).Vd()},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1701),D(1702,1,li,MN),l.Mb=function(e){return _t(u(e,57).g,145)},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1702),D(1704,1,Un,sGt),l.td=function(e){Hon(this.a,this.b,u(e,57))},F(_s,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1704),D(1521,1,os,yWt),l.pf=function(e,n){B3n(this,u(e,37),n)};var h2e;F(_s,"HorizontalGraphCompactor",1521),D(1522,1,{},y1),l.Oe=function(e,n){var r,s,o;return qmt(e,n)||(r=t4(e),s=t4(n),r&&r.k==(Vn(),ks)||s&&s.k==(Vn(),ks))?0:(o=u(Q(this.a.a,(ae(),Q4)),304),QQe(o,r?r.k:(Vn(),ta),s?s.k:(Vn(),ta)))},l.Pe=function(e,n){var r,s,o;return qmt(e,n)?1:(r=t4(e),s=t4(n),o=u(Q(this.a.a,(ae(),Q4)),304),B2t(o,r?r.k:(Vn(),ta),s?s.k:(Vn(),ta)))},F(_s,"HorizontalGraphCompactor/1",1522),D(1523,1,{},qT),l.Ne=function(e,n){return GC(),e.a.i==0},F(_s,"HorizontalGraphCompactor/lambda$0$Type",1523),D(1524,1,{},Vd),l.Ne=function(e,n){return xrn(this.a,e,n)},F(_s,"HorizontalGraphCompactor/lambda$1$Type",1524),D(1664,1,{},tee);var f2e,d2e;F(_s,"LGraphToCGraphTransformer",1664),D(1672,1,li,_X),l.Mb=function(e){return e!=null},F(_s,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1672),D(1665,1,{},SX),l.Kb=function(e){return df(),$o(Q(u(u(e,57).g,10),(ae(),_i)))},F(_s,"LGraphToCGraphTransformer/lambda$0$Type",1665),D(1666,1,{},DN),l.Kb=function(e){return df(),rie(u(u(e,57).g,145))},F(_s,"LGraphToCGraphTransformer/lambda$1$Type",1666),D(1675,1,li,AX),l.Mb=function(e){return df(),_t(u(e,57).g,10)},F(_s,"LGraphToCGraphTransformer/lambda$10$Type",1675),D(1676,1,Un,LX),l.td=function(e){yrn(u(e,57))},F(_s,"LGraphToCGraphTransformer/lambda$11$Type",1676),D(1677,1,li,MX),l.Mb=function(e){return df(),_t(u(e,57).g,145)},F(_s,"LGraphToCGraphTransformer/lambda$12$Type",1677),D(1681,1,Un,DX),l.td=function(e){Cln(u(e,57))},F(_s,"LGraphToCGraphTransformer/lambda$13$Type",1681),D(1678,1,Un,AC),l.td=function(e){KXe(this.a,u(e,8))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$14$Type",1678),D(1679,1,Un,Yb),l.td=function(e){QXe(this.a,u(e,110))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$15$Type",1679),D(1680,1,Un,dR),l.td=function(e){XXe(this.a,u(e,8))},l.a=0,F(_s,"LGraphToCGraphTransformer/lambda$16$Type",1680),D(1682,1,{},IX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$17$Type",1682),D(1683,1,li,OX),l.Mb=function(e){return df(),Ga(u(e,17))},F(_s,"LGraphToCGraphTransformer/lambda$18$Type",1683),D(1684,1,Un,Htt),l.td=function(e){Don(this.a,u(e,17))},F(_s,"LGraphToCGraphTransformer/lambda$19$Type",1684),D(1668,1,Un,Vtt),l.td=function(e){hsn(this.a,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$2$Type",1668),D(1685,1,{},IN),l.Kb=function(e){return df(),new Tn(null,new _n(u(e,29).a,16))},F(_s,"LGraphToCGraphTransformer/lambda$20$Type",1685),D(1686,1,{},PX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$21$Type",1686),D(1687,1,{},ON),l.Kb=function(e){return df(),u(Q(u(e,17),(ae(),R2)),15)},F(_s,"LGraphToCGraphTransformer/lambda$22$Type",1687),D(1688,1,li,FX),l.Mb=function(e){return JQe(u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$23$Type",1688),D(1689,1,Un,Gtt),l.td=function(e){Apn(this.a,u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$24$Type",1689),D(1667,1,Un,aGt),l.td=function(e){Zsn(this.a,this.b,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$3$Type",1667),D(1669,1,{},NX),l.Kb=function(e){return df(),new Tn(null,new _n(u(e,29).a,16))},F(_s,"LGraphToCGraphTransformer/lambda$4$Type",1669),D(1670,1,{},BX),l.Kb=function(e){return df(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(_s,"LGraphToCGraphTransformer/lambda$5$Type",1670),D(1671,1,{},HT),l.Kb=function(e){return df(),u(Q(u(e,17),(ae(),R2)),15)},F(_s,"LGraphToCGraphTransformer/lambda$6$Type",1671),D(1673,1,Un,Utt),l.td=function(e){abn(this.a,u(e,15))},F(_s,"LGraphToCGraphTransformer/lambda$8$Type",1673),D(1674,1,Un,oGt),l.td=function(e){mQe(this.a,this.b,u(e,145))},F(_s,"LGraphToCGraphTransformer/lambda$9$Type",1674),D(1663,1,{},RX),l.Le=function(e){var n,r,s,o,h;for(this.a=e,this.d=new eet,this.c=Nt(a7t,De,121,this.a.a.a.c.length,0,1),this.b=0,r=new S(this.a.a.a);r.a=tt&&(le(h,pe(M)),St=b.Math.max(St,Rt[M-1]-j),v+=K,gt+=Rt[M-1]-gt,j=Rt[M-1],K=k[M]),K=b.Math.max(K,k[M]),++M;v+=K}G=b.Math.min(1/St,1/n.b/v),G>s&&(s=G,r=h)}return r},l.Wf=function(){return!1},F(Cd,"MSDCutIndexHeuristic",802),D(1617,1,os,lQ),l.pf=function(e,n){Ryn(u(e,37),n)},F(Cd,"SingleEdgeGraphWrapper",1617),D(227,22,{3:1,35:1,22:1,227:1},ZC);var V4,g7,p7,Ny,bS,G4,b7=jr(kc,"CenterEdgeLabelPlacementStrategy",227,Hr,Kan,SJe),C2e;D(422,22,{3:1,35:1,22:1,422:1},Bbt);var ATt,Alt,LTt=jr(kc,"ConstraintCalculationStrategy",422,Hr,jrn,AJe),_2e;D(314,22,{3:1,35:1,22:1,314:1,246:1,234:1},Pet),l.Kf=function(){return Noe(this)},l.Xf=function(){return Noe(this)};var EO,P6,MTt,DTt=jr(kc,"CrossingMinimizationStrategy",314,Hr,Din,LJe),S2e;D(337,22,{3:1,35:1,22:1,337:1},Fet);var ITt,Llt,VV,OTt=jr(kc,"CuttingStrategy",337,Hr,Iin,IJe),A2e;D(335,22,{3:1,35:1,22:1,335:1,246:1,234:1},AM),l.Kf=function(){return kce(this)},l.Xf=function(){return kce(this)};var PTt,Mlt,wS,Dlt,vS,FTt=jr(kc,"CycleBreakingStrategy",335,Hr,xan,OJe),L2e;D(419,22,{3:1,35:1,22:1,419:1},Rbt);var GV,NTt,BTt=jr(kc,"DirectionCongruency",419,Hr,Rrn,PJe),M2e;D(450,22,{3:1,35:1,22:1,450:1},Net);var w7,Ilt,U4,D2e=jr(kc,"EdgeConstraint",450,Hr,Oin,FJe),I2e;D(276,22,{3:1,35:1,22:1,276:1},JC);var Olt,Plt,Flt,Nlt,UV,Blt,RTt=jr(kc,"EdgeLabelSideSelection",276,Hr,Jan,NJe),O2e;D(479,22,{3:1,35:1,22:1,479:1},jbt);var WV,jTt,$Tt=jr(kc,"EdgeStraighteningStrategy",479,Hr,Brn,BJe),P2e;D(274,22,{3:1,35:1,22:1,274:1},t9);var Rlt,zTt,qTt,YV,HTt,VTt,GTt=jr(kc,"FixedAlignment",274,Hr,Qan,RJe),F2e;D(275,22,{3:1,35:1,22:1,275:1},e9);var UTt,WTt,YTt,KTt,mS,XTt,QTt=jr(kc,"GraphCompactionStrategy",275,Hr,Xan,jJe),N2e;D(256,22,{3:1,35:1,22:1,256:1},Fm);var v7,KV,m7,vh,yS,XV,y7,W4,QV,xS,jlt=jr(kc,"GraphProperties",256,Hr,Rcn,$Je),B2e;D(292,22,{3:1,35:1,22:1,292:1},Bet);var TO,$lt,zlt,qlt=jr(kc,"GreedySwitchType",292,Hr,Nin,zJe),R2e;D(303,22,{3:1,35:1,22:1,303:1},Ret);var F6,CO,Y4,j2e=jr(kc,"InLayerConstraint",303,Hr,Fin,qJe),$2e;D(420,22,{3:1,35:1,22:1,420:1},$bt);var Hlt,ZTt,JTt=jr(kc,"InteractiveReferencePoint",420,Hr,$rn,HJe),z2e,tCt,N6,Iv,ZV,eCt,nCt,JV,rCt,_O,tG,kS,B6,By,Vlt,eG,oc,iCt,Ov,Vc,Glt,Ult,SO,B2,Pv,R6,sCt,j6,AO,Ry,r1,$h,Wlt,K4,Tc,_i,aCt,oCt,cCt,uCt,lCt,Ylt,nG,Ju,Fv,Klt,$6,LO,q1,X4,x7,Q4,Z4,k7,R2,hCt,Xlt,Qlt,z6;D(163,22,{3:1,35:1,22:1,163:1},MM);var ES,bb,TS,jy,MO,fCt=jr(kc,"LayerConstraint",163,Hr,Tan,VJe),q2e;D(848,1,Oh,rtt),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,C6t),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),kCt),(Ug(),us)),BTt),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_6t),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Nn(),!1)),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,sH),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),ACt),us),JTt),un(qn)))),ca(e,sH,Qot,Owe),ca(e,sH,H_,Iwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,S6t),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,A6t),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),La),Rs),un(qn)))),an(e,new Xe(XKe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,L6t),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),La),Rs),un(V2)),lt(ct(Ae,1),ee,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,M6t),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),NCt),us),V9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,D6t),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),pe(7)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,I6t),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,O6t),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Qot),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),xCt),us),FTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,KI),xct),"Node Layering Strategy"),"Strategy for node layering."),DCt),us),I9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,P6t),xct),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),LCt),us),fCt),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,F6t),xct),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,N6t),xct),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Zot),I1e),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),pe(4)),gc),ja),un(qn)))),ca(e,Zot,KI,$we),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Jot),I1e),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),pe(2)),gc),ja),un(qn)))),ca(e,Jot,KI,qwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tct),O1e),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),MCt),us),z9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ect),O1e),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),pe(0)),gc),ja),un(qn)))),ca(e,ect,tct,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,nct),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),pe(wi)),gc),ja),un(qn)))),ca(e,nct,KI,Fwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,H_),XI),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),yCt),us),DTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,B6t),XI),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,rct),XI),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),Oo),la),un(qn)))),ca(e,rct,vH,owe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ict),XI),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),La),Rs),un(qn)))),ca(e,ict,H_,hwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,R6t),XI),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,j6t),XI),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pe(-1)),gc),ja),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$6t),P1e),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),pe(40)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,sct),P1e),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),mCt),us),qlt),un(qn)))),ca(e,sct,H_,swe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,aH),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),vCt),us),qlt),un(qn)))),ca(e,aH,H_,nwe),ca(e,aH,vH,rwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,I4),F1e),"Node Placement Strategy"),"Strategy for node placement."),FCt),us),N9t),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,oH),F1e),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),La),Rs),un(qn)))),ca(e,oH,I4,Jwe),ca(e,oH,I4,tve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,act),N1e),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),ICt),us),$Tt),un(qn)))),ca(e,act,I4,Kwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,oct),N1e),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),OCt),us),GTt),un(qn)))),ca(e,oct,I4,Qwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,cct),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),Oo),la),un(qn)))),ca(e,cct,I4,nve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,uct),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),us),yht),un(ea)))),ca(e,uct,I4,ave),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lct),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),PCt),us),yht),un(qn)))),ca(e,lct,I4,sve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,z6t),B1e),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),CCt),us),W9t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,q6t),B1e),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),_Ct),us),Y9t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,cH),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),SCt),us),X9t),un(qn)))),ca(e,cH,QI,kwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,uH),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),Oo),la),un(qn)))),ca(e,uH,QI,Twe),ca(e,uH,cH,Cwe),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hct),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),Oo),la),un(qn)))),ca(e,hct,QI,vwe),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,H6t),R1),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,V6t),R1),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,G6t),R1),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,U6t),R1),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,W6t),nkt),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Y6t),nkt),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,K6t),nkt),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),pe(0)),gc),ja),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fct),rkt),Jfe),"Tries to further compact components (disconnected sub-graphs)."),!1),La),Rs),un(qn)))),ca(e,fct,R_,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,X6t),R1e),"Post Compaction Strategy"),j1e),gCt),us),QTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Q6t),R1e),"Post Compaction Constraint Calculation"),j1e),dCt),us),LTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lH),ikt),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dct),ikt),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),pe(16)),gc),ja),un(qn)))),ca(e,dct,lH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gct),ikt),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),pe(5)),gc),ja),un(qn)))),ca(e,gct,lH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tg),skt),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),jCt),us),t_t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hH),skt),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),Oo),la),un(qn)))),ca(e,hH,tg,mve),ca(e,hH,tg,yve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fH),skt),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),Oo),la),un(qn)))),ca(e,fH,tg,kve),ca(e,fH,tg,Eve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,V_),$1e),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),RCt),us),OTt),un(qn)))),ca(e,V_,tg,Lve),ca(e,V_,tg,Mve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,pct),$1e),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),V1),wh),un(qn)))),ca(e,pct,V_,Cve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bct),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),BCt),gc),ja),un(qn)))),ca(e,bct,V_,Sve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dH),z1e),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),$Ct),us),J9t),un(qn)))),ca(e,dH,tg,qve),ca(e,dH,tg,Hve),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,gH),z1e),"Valid Indices for Wrapping"),null),V1),wh),un(qn)))),ca(e,gH,tg,jve),ca(e,gH,tg,$ve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pH),akt),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),La),Rs),un(qn)))),ca(e,pH,tg,Pve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bH),akt),"Distance Penalty When Improving Cuts"),null),2),Oo),la),un(qn)))),ca(e,bH,tg,Ive),ca(e,bH,pH,!0),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wct),akt),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),La),Rs),un(qn)))),ca(e,wct,tg,Nve),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Z6t),kct),"Edge Label Side Selection"),"Method to decide on edge label sides."),TCt),us),RTt),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,J6t),kct),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),ECt),us),b7),ji(qn,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wH),ZI),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),wCt),us),H9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,tkt),ZI),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vct),ZI),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),pCt),us),F7t),un(qn)))),ca(e,vct,R_,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ekt),ZI),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),bCt),us),P9t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mct),ZI),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),Oo),la),un(qn)))),ca(e,mct,wH,null),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,yct),ZI),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),Oo),la),un(qn)))),ca(e,yct,wH,null),ife((new HB,e))};var H2e,V2e,G2e,dCt,U2e,gCt,W2e,pCt,Y2e,K2e,X2e,bCt,Q2e,Z2e,wCt,J2e,twe,ewe,vCt,nwe,rwe,iwe,mCt,swe,awe,owe,cwe,uwe,lwe,hwe,fwe,yCt,dwe,xCt,gwe,kCt,pwe,ECt,bwe,TCt,wwe,vwe,mwe,CCt,ywe,_Ct,xwe,SCt,kwe,Ewe,Twe,Cwe,_we,Swe,Awe,Lwe,Mwe,Dwe,ACt,Iwe,Owe,Pwe,Fwe,Nwe,Bwe,LCt,Rwe,jwe,$we,zwe,qwe,Hwe,Vwe,MCt,Gwe,DCt,Uwe,Wwe,Ywe,ICt,Kwe,Xwe,OCt,Qwe,Zwe,Jwe,tve,eve,nve,rve,ive,PCt,sve,ave,ove,FCt,cve,NCt,uve,lve,hve,fve,dve,gve,pve,bve,wve,vve,mve,yve,xve,kve,Eve,Tve,Cve,_ve,BCt,Sve,Ave,RCt,Lve,Mve,Dve,Ive,Ove,Pve,Fve,Nve,Bve,jCt,Rve,jve,$ve,zve,$Ct,qve,Hve;F(kc,"LayeredMetaDataProvider",848),D(986,1,Oh,HB),l.Qe=function(e){ife(e)};var Id,Zlt,rG,CS,iG,zCt,sG,q6,aG,qCt,HCt,Jlt,wb,tht,$y,VCt,DO,eht,GCt,Vve,oG,nht,_S,zy,Gve,Wl,UCt,WCt,cG,rht,Od,uG,eg,YCt,KCt,XCt,iht,sht,QCt,Jg,aht,ZCt,qy,JCt,t9t,e9t,lG,Hy,j2,n9t,r9t,So,i9t,Uve,uu,hG,s9t,a9t,o9t,oht,c9t,fG,u9t,l9t,dG,Nv,h9t,cht,SS,f9t,Bv,AS,gG,$2,uht,E7,pG,z2,d9t,g9t,p9t,T7,b9t,Wve,Yve,Kve,Xve,Rv,Vy,cs,tp,Qve,Gy,w9t,C7,v9t,Uy,Zve,_7,m9t,H6,Jve,tme,IO,lht,y9t,OO,Tf,J4,V6,jv,q2,bG,Wy,hht,S7,A7,$v,t5,fht,PO,LS,MS,dht,x9t,k9t,E9t,T9t,ght,C9t,_9t,S9t,A9t,pht,wG;F(kc,"LayeredOptions",986),D(987,1,{},fQ),l.$e=function(){var e;return e=new gqt,e},l._e=function(e){},F(kc,"LayeredOptions/LayeredFactory",987),D(1372,1,{}),l.a=0;var eme;F(Ec,"ElkSpacings/AbstractSpacingsBuilder",1372),D(779,1372,{},w3t);var vG,nme;F(kc,"LayeredSpacings/LayeredSpacingsBuilder",779),D(313,22,{3:1,35:1,22:1,313:1,246:1,234:1},n9),l.Kf=function(){return Bce(this)},l.Xf=function(){return Bce(this)};var bht,L9t,M9t,mG,wht,D9t,I9t=jr(kc,"LayeringStrategy",313,Hr,Zan,GJe),rme;D(378,22,{3:1,35:1,22:1,378:1},jet);var vht,O9t,yG,P9t=jr(kc,"LongEdgeOrderingStrategy",378,Hr,Min,UJe),ime;D(197,22,{3:1,35:1,22:1,197:1},nj);var e5,n5,xG,mht,yht=jr(kc,"NodeFlexibility",197,Hr,Bsn,WJe),sme;D(315,22,{3:1,35:1,22:1,315:1,246:1,234:1},LM),l.Kf=function(){return xce(this)},l.Xf=function(){return xce(this)};var DS,xht,kht,IS,F9t,N9t=jr(kc,"NodePlacementStrategy",315,Hr,yan,JJe),ame;D(260,22,{3:1,35:1,22:1,260:1},Ix);var B9t,FO,R9t,j9t,NO,$9t,kG,EG,z9t=jr(kc,"NodePromotionStrategy",260,Hr,Qon,KJe),ome;D(339,22,{3:1,35:1,22:1,339:1},$et);var q9t,vb,Eht,H9t=jr(kc,"OrderingStrategy",339,Hr,Rin,XJe),cme;D(421,22,{3:1,35:1,22:1,421:1},zbt);var Tht,Cht,V9t=jr(kc,"PortSortingStrategy",421,Hr,zrn,QJe),ume;D(452,22,{3:1,35:1,22:1,452:1},zet);var tl,nu,OS,lme=jr(kc,"PortType",452,Hr,Bin,YJe),hme;D(375,22,{3:1,35:1,22:1,375:1},qet);var G9t,_ht,U9t,W9t=jr(kc,"SelfLoopDistributionStrategy",375,Hr,jin,ZJe),fme;D(376,22,{3:1,35:1,22:1,376:1},qbt);var BO,Sht,Y9t=jr(kc,"SelfLoopOrderingStrategy",376,Hr,Nrn,ttn),dme;D(304,1,{304:1},ahe),F(kc,"Spacings",304),D(336,22,{3:1,35:1,22:1,336:1},Het);var Aht,K9t,PS,X9t=jr(kc,"SplineRoutingMode",336,Hr,zin,etn),gme;D(338,22,{3:1,35:1,22:1,338:1},Vet);var Lht,Q9t,Z9t,J9t=jr(kc,"ValidifyStrategy",338,Hr,qin,ntn),pme;D(377,22,{3:1,35:1,22:1,377:1},Get);var Yy,Mht,L7,t_t=jr(kc,"WrappingStrategy",377,Hr,$in,rtn),bme;D(1383,1,zc,att),l.Yf=function(e){return u(e,37),wme},l.pf=function(e,n){I3n(this,u(e,37),n)};var wme;F(xH,"DepthFirstCycleBreaker",1383),D(782,1,zc,evt),l.Yf=function(e){return u(e,37),vme},l.pf=function(e,n){Mxn(this,u(e,37),n)},l.Zf=function(e){return u(Ne(e,Zz(this.d,e.c.length)),10)};var vme;F(xH,"GreedyCycleBreaker",782),D(1386,782,zc,WGt),l.Zf=function(e){var n,r,s,o;for(o=null,n=wi,s=new S(e);s.a1&&(je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),(Te(),$y))))?Dce(e,this.d,u(this,660)):(wn(),Zs(e,this.d)),Qne(this.e,e))},l.Sf=function(e,n,r,s){var o,h,d,v,k,C,M;for(n!=kKt(r,e.length)&&(h=e[n-(r?1:-1)],_mt(this.f,h,r?(so(),nu):(so(),tl))),o=e[n][0],M=!s||o.k==(Vn(),ks),C=A1(e[n]),this.ag(C,M,!1,r),d=0,k=new S(C);k.a"),e0?Crt(this.a,e[n-1],e[n]):!r&&n1&&(je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),(Te(),$y))))?Dce(e,this.d,this):(wn(),Zs(e,this.d)),je(Re(Q(Na((An(0,e.c.length),u(e.c[0],10))),$y)))||Qne(this.e,e))},F(qu,"ModelOrderBarycenterHeuristic",660),D(1803,1,Oi,D$t),l.ue=function(e,n){return Ugn(this.a,u(e,10),u(n,10))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(qu,"ModelOrderBarycenterHeuristic/lambda$0$Type",1803),D(1403,1,zc,ltt),l.Yf=function(e){var n;return u(e,37),n=pj(Dme),bi(n,(Wa(),cu),(ro(),IV)),n},l.pf=function(e,n){Drn((u(e,37),n))};var Dme;F(qu,"NoCrossingMinimizer",1403),D(796,402,qkt,hbt),l.$f=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G;switch(j=this.g,r.g){case 1:{for(o=0,h=0,M=new S(e.j);M.a1&&(o.j==(ve(),Hn)?this.b[e]=!0:o.j==Bn&&e>0&&(this.b[e-1]=!0))},l.f=0,F(c0,"AllCrossingsCounter",1798),D(587,1,{},gz),l.b=0,l.d=0,F(c0,"BinaryIndexedTree",587),D(524,1,{},YM);var r_t,CG;F(c0,"CrossingsCounter",524),D(1906,1,Oi,I$t),l.ue=function(e,n){return Pen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$0$Type",1906),D(1907,1,Oi,O$t),l.ue=function(e,n){return Fen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$1$Type",1907),D(1908,1,Oi,P$t),l.ue=function(e,n){return Nen(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$2$Type",1908),D(1909,1,Oi,F$t),l.ue=function(e,n){return Ben(this.a,u(e,11),u(n,11))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(c0,"CrossingsCounter/lambda$3$Type",1909),D(1910,1,Un,N$t),l.td=function(e){von(this.a,u(e,11))},F(c0,"CrossingsCounter/lambda$4$Type",1910),D(1911,1,li,B$t),l.Mb=function(e){return IXe(this.a,u(e,11))},F(c0,"CrossingsCounter/lambda$5$Type",1911),D(1912,1,Un,R$t),l.td=function(e){HGt(this,e)},F(c0,"CrossingsCounter/lambda$6$Type",1912),D(1913,1,Un,pGt),l.td=function(e){var n;k8(),Up(this.b,(n=this.a,u(e,11),n))},F(c0,"CrossingsCounter/lambda$7$Type",1913),D(826,1,xd,YN),l.Lb=function(e){return k8(),Us(u(e,11),(ae(),Ju))},l.Fb=function(e){return this===e},l.Mb=function(e){return k8(),Us(u(e,11),(ae(),Ju))},F(c0,"CrossingsCounter/lambda$8$Type",826),D(1905,1,{},j$t),F(c0,"HyperedgeCrossingsCounter",1905),D(467,1,{35:1,467:1},sYt),l.wd=function(e){return pfn(this,u(e,467))},l.b=0,l.c=0,l.e=0,l.f=0;var h6n=F(c0,"HyperedgeCrossingsCounter/Hyperedge",467);D(362,1,{35:1,362:1},f$),l.wd=function(e){return d2n(this,u(e,362))},l.b=0,l.c=0;var Ime=F(c0,"HyperedgeCrossingsCounter/HyperedgeCorner",362);D(523,22,{3:1,35:1,22:1,523:1},Hbt);var NS,BS,Ome=jr(c0,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",523,Hr,qrn,stn),Pme;D(1405,1,zc,stt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Fme:null},l.pf=function(e,n){Pdn(this,u(e,37),n)};var Fme;F(uo,"InteractiveNodePlacer",1405),D(1406,1,zc,itt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Nme:null},l.pf=function(e,n){v1n(this,u(e,37),n)};var Nme,_G,SG;F(uo,"LinearSegmentsNodePlacer",1406),D(257,1,{35:1,257:1},zpt),l.wd=function(e){return VKe(this,u(e,257))},l.Fb=function(e){var n;return _t(e,257)?(n=u(e,257),this.b==n.b):!1},l.Hb=function(){return this.b},l.Ib=function(){return"ls"+eb(this.e)},l.a=0,l.b=0,l.c=-1,l.d=-1,l.g=0;var Bme=F(uo,"LinearSegmentsNodePlacer/LinearSegment",257);D(1408,1,zc,IKt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Rme:null},l.pf=function(e,n){kxn(this,u(e,37),n)},l.b=0,l.g=0;var Rme;F(uo,"NetworkSimplexPlacer",1408),D(1427,1,Oi,wQ),l.ue=function(e,n){return pu(u(e,19).a,u(n,19).a)},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(uo,"NetworkSimplexPlacer/0methodref$compare$Type",1427),D(1429,1,Oi,vQ),l.ue=function(e,n){return pu(u(e,19).a,u(n,19).a)},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(uo,"NetworkSimplexPlacer/1methodref$compare$Type",1429),D(649,1,{649:1},bGt);var f6n=F(uo,"NetworkSimplexPlacer/EdgeRep",649);D(401,1,{401:1},Ovt),l.b=!1;var d6n=F(uo,"NetworkSimplexPlacer/NodeRep",401);D(508,12,{3:1,4:1,20:1,28:1,52:1,12:1,14:1,15:1,54:1,508:1},Cqt),F(uo,"NetworkSimplexPlacer/Path",508),D(1409,1,{},mQ),l.Kb=function(e){return u(e,17).d.i.k},F(uo,"NetworkSimplexPlacer/Path/lambda$0$Type",1409),D(1410,1,li,yQ),l.Mb=function(e){return u(e,267)==(Vn(),ta)},F(uo,"NetworkSimplexPlacer/Path/lambda$1$Type",1410),D(1411,1,{},xQ),l.Kb=function(e){return u(e,17).d.i},F(uo,"NetworkSimplexPlacer/Path/lambda$2$Type",1411),D(1412,1,li,$$t),l.Mb=function(e){return HWt(Aie(u(e,10)))},F(uo,"NetworkSimplexPlacer/Path/lambda$3$Type",1412),D(1413,1,li,kQ),l.Mb=function(e){return Een(u(e,11))},F(uo,"NetworkSimplexPlacer/lambda$0$Type",1413),D(1414,1,Un,wGt),l.td=function(e){yQe(this.a,this.b,u(e,11))},F(uo,"NetworkSimplexPlacer/lambda$1$Type",1414),D(1423,1,Un,z$t),l.td=function(e){$pn(this.a,u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$10$Type",1423),D(1424,1,{},EQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$11$Type",1424),D(1425,1,Un,q$t),l.td=function(e){Nvn(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$12$Type",1425),D(1426,1,{},TQ),l.Kb=function(e){return Fl(),pe(u(e,121).e)},F(uo,"NetworkSimplexPlacer/lambda$13$Type",1426),D(1428,1,{},CQ),l.Kb=function(e){return Fl(),pe(u(e,121).e)},F(uo,"NetworkSimplexPlacer/lambda$15$Type",1428),D(1430,1,li,_Q),l.Mb=function(e){return Fl(),u(e,401).c.k==(Vn(),Os)},F(uo,"NetworkSimplexPlacer/lambda$17$Type",1430),D(1431,1,li,SQ),l.Mb=function(e){return Fl(),u(e,401).c.j.c.length>1},F(uo,"NetworkSimplexPlacer/lambda$18$Type",1431),D(1432,1,Un,jXt),l.td=function(e){_hn(this.c,this.b,this.d,this.a,u(e,401))},l.c=0,l.d=0,F(uo,"NetworkSimplexPlacer/lambda$19$Type",1432),D(1415,1,{},AQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$2$Type",1415),D(1433,1,Un,H$t),l.td=function(e){vQe(this.a,u(e,11))},l.a=0,F(uo,"NetworkSimplexPlacer/lambda$20$Type",1433),D(1434,1,{},nx),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$21$Type",1434),D(1435,1,Un,V$t),l.td=function(e){OQe(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$22$Type",1435),D(1436,1,li,KN),l.Mb=function(e){return HWt(e)},F(uo,"NetworkSimplexPlacer/lambda$23$Type",1436),D(1437,1,{},LQ),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$24$Type",1437),D(1438,1,li,G$t),l.Mb=function(e){return jXe(this.a,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$25$Type",1438),D(1439,1,Un,vGt),l.td=function(e){cpn(this.a,this.b,u(e,10))},F(uo,"NetworkSimplexPlacer/lambda$26$Type",1439),D(1440,1,li,MQ),l.Mb=function(e){return Fl(),!Ga(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$27$Type",1440),D(1441,1,li,DQ),l.Mb=function(e){return Fl(),!Ga(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$28$Type",1441),D(1442,1,{},U$t),l.Ce=function(e,n){return MQe(this.a,u(e,29),u(n,29))},F(uo,"NetworkSimplexPlacer/lambda$29$Type",1442),D(1416,1,{},XN),l.Kb=function(e){return Fl(),new Tn(null,new jw(new ar(lr(Ds(u(e,10)).a.Kc(),new z))))},F(uo,"NetworkSimplexPlacer/lambda$3$Type",1416),D(1417,1,li,IQ),l.Mb=function(e){return Fl(),wsn(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$4$Type",1417),D(1418,1,Un,W$t),l.td=function(e){Fyn(this.a,u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$5$Type",1418),D(1419,1,{},WT),l.Kb=function(e){return Fl(),new Tn(null,new _n(u(e,29).a,16))},F(uo,"NetworkSimplexPlacer/lambda$6$Type",1419),D(1420,1,li,OQ),l.Mb=function(e){return Fl(),u(e,10).k==(Vn(),Os)},F(uo,"NetworkSimplexPlacer/lambda$7$Type",1420),D(1421,1,{},PQ),l.Kb=function(e){return Fl(),new Tn(null,new jw(new ar(lr(U0(u(e,10)).a.Kc(),new z))))},F(uo,"NetworkSimplexPlacer/lambda$8$Type",1421),D(1422,1,li,FQ),l.Mb=function(e){return Fl(),wen(u(e,17))},F(uo,"NetworkSimplexPlacer/lambda$9$Type",1422),D(1404,1,zc,vC),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?jme:null},l.pf=function(e,n){b3n(u(e,37),n)};var jme;F(uo,"SimpleNodePlacer",1404),D(180,1,{180:1},E4),l.Ib=function(){var e;return e="",this.c==(bd(),zv)?e+=x6:this.c==ep&&(e+=y6),this.o==(C1(),H2)?e+=Dot:this.o==H1?e+="UP":e+="BALANCED",e},F(ub,"BKAlignedLayout",180),D(516,22,{3:1,35:1,22:1,516:1},Gbt);var ep,zv,$me=jr(ub,"BKAlignedLayout/HDirection",516,Hr,Vrn,atn),zme;D(515,22,{3:1,35:1,22:1,515:1},Vbt);var H2,H1,qme=jr(ub,"BKAlignedLayout/VDirection",515,Hr,Grn,otn),Hme;D(1634,1,{},mGt),F(ub,"BKAligner",1634),D(1637,1,{},Zse),F(ub,"BKCompactor",1637),D(654,1,{654:1},NQ),l.a=0,F(ub,"BKCompactor/ClassEdge",654),D(458,1,{458:1},Eqt),l.a=null,l.b=0,F(ub,"BKCompactor/ClassNode",458),D(1407,1,zc,GGt),l.Yf=function(e){return u(Q(u(e,37),(ae(),Vc)),21).Hc((oo(),vh))?Vme:null},l.pf=function(e,n){Bxn(this,u(e,37),n)},l.d=!1;var Vme;F(ub,"BKNodePlacer",1407),D(1635,1,{},BQ),l.d=0,F(ub,"NeighborhoodInformation",1635),D(1636,1,Oi,Y$t),l.ue=function(e,n){return Von(this,u(e,46),u(n,46))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(ub,"NeighborhoodInformation/NeighborComparator",1636),D(808,1,{}),F(ub,"ThresholdStrategy",808),D(1763,808,{},Aqt),l.bg=function(e,n,r){return this.a.o==(C1(),H1)?as:Cs},l.cg=function(){},F(ub,"ThresholdStrategy/NullThresholdStrategy",1763),D(579,1,{579:1},yGt),l.c=!1,l.d=!1,F(ub,"ThresholdStrategy/Postprocessable",579),D(1764,808,{},Lqt),l.bg=function(e,n,r){var s,o,h;return o=n==r,s=this.a.a[r.p]==n,o||s?(h=e,this.a.c==(bd(),zv)?(o&&(h=Dat(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=Dat(this,r,!1))):(o&&(h=Dat(this,n,!0)),!isNaN(h)&&!isFinite(h)&&s&&(h=Dat(this,r,!1))),h):e},l.cg=function(){for(var e,n,r,s,o;this.d.b!=0;)o=u(oin(this.d),579),s=mle(this,o),s.a&&(e=s.a,r=je(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Ga(e)&&e.c.i.c==e.d.i.c)&&(n=_ce(this,o),n||WXe(this.e,o)));for(;this.e.a.c.length!=0;)_ce(this,u(Nre(this.e),579))},F(ub,"ThresholdStrategy/SimpleThresholdStrategy",1764),D(635,1,{635:1,246:1,234:1},RQ),l.Kf=function(){return Une(this)},l.Xf=function(){return Une(this)};var Dht;F(Sct,"EdgeRouterFactory",635),D(1458,1,zc,od),l.Yf=function(e){return pvn(u(e,37))},l.pf=function(e,n){E3n(u(e,37),n)};var Gme,Ume,Wme,Yme,Kme,i_t,Xme,Qme;F(Sct,"OrthogonalEdgeRouter",1458),D(1451,1,zc,UGt),l.Yf=function(e){return jdn(u(e,37))},l.pf=function(e,n){H5n(this,u(e,37),n)};var Zme,Jme,tye,eye,jO,nye;F(Sct,"PolylineEdgeRouter",1451),D(1452,1,xd,jQ),l.Lb=function(e){return yyt(u(e,10))},l.Fb=function(e){return this===e},l.Mb=function(e){return yyt(u(e,10))},F(Sct,"PolylineEdgeRouter/1",1452),D(1809,1,li,$Q),l.Mb=function(e){return u(e,129).c==(Uf(),mb)},F(t1,"HyperEdgeCycleDetector/lambda$0$Type",1809),D(1810,1,{},zQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$1$Type",1810),D(1811,1,li,qQ),l.Mb=function(e){return u(e,129).c==(Uf(),mb)},F(t1,"HyperEdgeCycleDetector/lambda$2$Type",1811),D(1812,1,{},rx),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$3$Type",1812),D(1813,1,{},HQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$4$Type",1813),D(1814,1,{},VQ),l.Ge=function(e){return u(e,129).d},F(t1,"HyperEdgeCycleDetector/lambda$5$Type",1814),D(112,1,{35:1,112:1},PD),l.wd=function(e){return GKe(this,u(e,112))},l.Fb=function(e){var n;return _t(e,112)?(n=u(e,112),this.g==n.g):!1},l.Hb=function(){return this.g},l.Ib=function(){var e,n,r,s;for(e=new Ol("{"),s=new S(this.n);s.a"+this.b+" ("+nZe(this.c)+")"},l.d=0,F(t1,"HyperEdgeSegmentDependency",129),D(520,22,{3:1,35:1,22:1,520:1},Ubt);var mb,Ky,rye=jr(t1,"HyperEdgeSegmentDependency/DependencyType",520,Hr,Hrn,ctn),iye;D(1815,1,{},K$t),F(t1,"HyperEdgeSegmentSplitter",1815),D(1816,1,{},_Ht),l.a=0,l.b=0,F(t1,"HyperEdgeSegmentSplitter/AreaRating",1816),D(329,1,{329:1},Dnt),l.a=0,l.b=0,l.c=0,F(t1,"HyperEdgeSegmentSplitter/FreeArea",329),D(1817,1,Oi,QQ),l.ue=function(e,n){return ZZe(u(e,112),u(n,112))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(t1,"HyperEdgeSegmentSplitter/lambda$0$Type",1817),D(1818,1,Un,$Xt),l.td=function(e){ran(this.a,this.d,this.c,this.b,u(e,112))},l.b=0,F(t1,"HyperEdgeSegmentSplitter/lambda$1$Type",1818),D(1819,1,{},ZQ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).e,16))},F(t1,"HyperEdgeSegmentSplitter/lambda$2$Type",1819),D(1820,1,{},JQ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).j,16))},F(t1,"HyperEdgeSegmentSplitter/lambda$3$Type",1820),D(1821,1,{},tZ),l.Fe=function(e){return Xt(ye(e))},F(t1,"HyperEdgeSegmentSplitter/lambda$4$Type",1821),D(655,1,{},ert),l.a=0,l.b=0,l.c=0,F(t1,"OrthogonalRoutingGenerator",655),D(1638,1,{},eZ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).e,16))},F(t1,"OrthogonalRoutingGenerator/lambda$0$Type",1638),D(1639,1,{},nZ),l.Kb=function(e){return new Tn(null,new _n(u(e,112).j,16))},F(t1,"OrthogonalRoutingGenerator/lambda$1$Type",1639),D(661,1,{}),F(Act,"BaseRoutingDirectionStrategy",661),D(1807,661,{},Mqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n+e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(j,h),ri(d.a,s),pv(this,d,o,s,!1),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1),h=n+H.o*r,o=H,s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1)),s=new $e(tt,h),ri(d.a,s),pv(this,d,o,s,!1)))},l.eg=function(e){return e.i.n.a+e.n.a+e.a.a},l.fg=function(){return ve(),mr},l.gg=function(){return ve(),Pn},F(Act,"NorthToSouthRoutingStrategy",1807),D(1808,661,{},Dqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n-e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(j,h),ri(d.a,s),pv(this,d,o,s,!1),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1),h=n-H.o*r,o=H,s=new $e(G,h),ri(d.a,s),pv(this,d,o,s,!1)),s=new $e(tt,h),ri(d.a,s),pv(this,d,o,s,!1)))},l.eg=function(e){return e.i.n.a+e.n.a+e.a.a},l.fg=function(){return ve(),Pn},l.gg=function(){return ve(),mr},F(Act,"SouthToNorthRoutingStrategy",1808),D(1806,661,{},Iqt),l.dg=function(e,n,r){var s,o,h,d,v,k,C,M,j,H,G,K,tt;if(!(e.r&&!e.q))for(M=n+e.o*r,C=new S(e.n);C.aEd&&(h=M,o=e,s=new $e(h,j),ri(d.a,s),pv(this,d,o,s,!0),H=e.r,H&&(G=Xt(ye(Zf(H.e,0))),s=new $e(h,G),ri(d.a,s),pv(this,d,o,s,!0),h=n+H.o*r,o=H,s=new $e(h,G),ri(d.a,s),pv(this,d,o,s,!0)),s=new $e(h,tt),ri(d.a,s),pv(this,d,o,s,!0)))},l.eg=function(e){return e.i.n.b+e.n.b+e.a.b},l.fg=function(){return ve(),Hn},l.gg=function(){return ve(),Bn},F(Act,"WestToEastRoutingStrategy",1806),D(813,1,{},fxt),l.Ib=function(){return eb(this.a)},l.b=0,l.c=!1,l.d=!1,l.f=0,F(Sy,"NubSpline",813),D(407,1,{407:1},eue,yQt),F(Sy,"NubSpline/PolarCP",407),D(1453,1,zc,Vse),l.Yf=function(e){return A0n(u(e,37))},l.pf=function(e,n){cxn(this,u(e,37),n)};var sye,aye,oye,cye,uye;F(Sy,"SplineEdgeRouter",1453),D(268,1,{268:1},R$),l.Ib=function(){return this.a+" ->("+this.c+") "+this.b},l.c=0,F(Sy,"SplineEdgeRouter/Dependency",268),D(455,22,{3:1,35:1,22:1,455:1},Wbt);var yb,r5,lye=jr(Sy,"SplineEdgeRouter/SideToProcess",455,Hr,Urn,utn),hye;D(1454,1,li,XQ),l.Mb=function(e){return m_(),!u(e,128).o},F(Sy,"SplineEdgeRouter/lambda$0$Type",1454),D(1455,1,{},KQ),l.Ge=function(e){return m_(),u(e,128).v+1},F(Sy,"SplineEdgeRouter/lambda$1$Type",1455),D(1456,1,Un,xGt),l.td=function(e){men(this.a,this.b,u(e,46))},F(Sy,"SplineEdgeRouter/lambda$2$Type",1456),D(1457,1,Un,kGt),l.td=function(e){yen(this.a,this.b,u(e,46))},F(Sy,"SplineEdgeRouter/lambda$3$Type",1457),D(128,1,{35:1,128:1},voe,vxt),l.wd=function(e){return UKe(this,u(e,128))},l.b=0,l.e=!1,l.f=0,l.g=0,l.j=!1,l.k=!1,l.n=0,l.o=!1,l.p=!1,l.q=!1,l.s=0,l.u=0,l.v=0,l.F=0,F(Sy,"SplineSegment",128),D(459,1,{459:1},YT),l.a=0,l.b=!1,l.c=!1,l.d=!1,l.e=!1,l.f=0,F(Sy,"SplineSegment/EdgeInformation",459),D(1234,1,{},GQ),F(G_,d6t,1234),D(1235,1,Oi,UQ),l.ue=function(e,n){return nbn(u(e,135),u(n,135))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(G_,n1e,1235),D(1233,1,{},qHt),F(G_,"MrTree",1233),D(393,22,{3:1,35:1,22:1,393:1,246:1,234:1},rj),l.Kf=function(){return Hoe(this)},l.Xf=function(){return Hoe(this)};var AG,RS,$O,jS,s_t=jr(G_,"TreeLayoutPhases",393,Hr,Rsn,ltn),fye;D(1130,209,S2,cYt),l.Ze=function(e,n){var r,s,o,h,d,v,k;for(je(Re(qe(e,(gv(),h_t))))||y$((r=new rr((Pm(),new Mm(e))),r)),d=(v=new j$,Mo(v,e),Jt(v,(fc(),qS),e),k=new _r,Wmn(e,v,k),lyn(e,v,k),v),h=ryn(this.a,d),o=new S(h);o.a"+S$(this.c):"e_"+Hi(this)},F(U_,"TEdge",188),D(135,134,{3:1,135:1,94:1,134:1},j$),l.Ib=function(){var e,n,r,s,o;for(o=null,s=ei(this.b,0);s.b!=s.d.c;)r=u(ti(s),86),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=ei(this.a,0);n.b!=n.d.c;)e=u(ti(n),188),o+=(e.b&&e.c?S$(e.b)+"->"+S$(e.c):"e_"+Hi(e))+` +`;return o};var g6n=F(U_,"TGraph",135);D(633,502,{3:1,502:1,633:1,94:1,134:1}),F(U_,"TShape",633),D(86,633,{3:1,502:1,86:1,633:1,94:1,134:1},Dit),l.Ib=function(){return S$(this)};var p6n=F(U_,"TNode",86);D(255,1,r0,Lp),l.Jc=function(e){va(this,e)},l.Kc=function(){var e;return e=ei(this.a.d,0),new Ex(e)},F(U_,"TNode/2",255),D(358,1,sa,Ex),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(ti(this.a),188).c},l.Ob=function(){return OR(this.a)},l.Qb=function(){tz(this.a)},F(U_,"TNode/2/1",358),D(1840,1,os,oYt),l.pf=function(e,n){_yn(this,u(e,135),n)},F(A6,"FanProcessor",1840),D(327,22,{3:1,35:1,22:1,327:1,234:1},r9),l.Kf=function(){switch(this.g){case 0:return new Wqt;case 1:return new oYt;case 2:return new ix;case 3:return new rZ;case 4:return new sZ;case 5:return new RL;default:throw it(new Fn(Yot+(this.f!=null?this.f:""+this.g)))}};var Iht,Oht,Pht,Fht,Nht,LG,dye=jr(A6,T6t,327,Hr,ton,htn),gye;D(1843,1,os,rZ),l.pf=function(e,n){c2n(this,u(e,135),n)},l.a=0,F(A6,"LevelHeightProcessor",1843),D(1844,1,r0,iZ),l.Jc=function(e){va(this,e)},l.Kc=function(){return wn(),h8(),a7},F(A6,"LevelHeightProcessor/1",1844),D(1841,1,os,ix),l.pf=function(e,n){ppn(this,u(e,135),n)},l.a=0,F(A6,"NeighborsProcessor",1841),D(1842,1,r0,QN),l.Jc=function(e){va(this,e)},l.Kc=function(){return wn(),h8(),a7},F(A6,"NeighborsProcessor/1",1842),D(1845,1,os,sZ),l.pf=function(e,n){o2n(this,u(e,135),n)},l.a=0,F(A6,"NodePositionProcessor",1845),D(1839,1,os,Wqt),l.pf=function(e,n){O3n(this,u(e,135))},F(A6,"RootProcessor",1839),D(1846,1,os,RL),l.pf=function(e,n){qln(u(e,135))},F(A6,"Untreeifyer",1846);var zO,$S,pye,Bht,MG,zS,Rht,DG,IG,M7,qS,OG,np,a_t,bye,jht,Xy,$ht,o_t;D(851,1,Oh,D3),l.Qe=function(e){an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Hkt),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),u_t),(Ug(),us)),b_t),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Vkt),""),"Search Order"),"Which search order to use when computing a spanning tree."),c_t),us),v_t),un(qn)))),phe((new JL,e))};var wye,c_t,vye,u_t;F(EH,"MrTreeMetaDataProvider",851),D(994,1,Oh,JL),l.Qe=function(e){phe(e)};var mye,l_t,yye,xye,kye,Eye,h_t,Tye,f_t,Cye,PG,d_t,_ye,g_t,Sye;F(EH,"MrTreeOptions",994),D(995,1,{},aZ),l.$e=function(){var e;return e=new cYt,e},l._e=function(e){},F(EH,"MrTreeOptions/MrtreeFactory",995),D(480,22,{3:1,35:1,22:1,480:1},Ybt);var zht,p_t,b_t=jr(EH,"OrderWeighting",480,Hr,Yrn,ftn),Aye;D(425,22,{3:1,35:1,22:1,425:1},Kbt);var w_t,qht,v_t=jr(EH,"TreeifyingOrder",425,Hr,Wrn,gtn),Lye;D(1459,1,zc,ZL),l.Yf=function(e){return u(e,135),Mye},l.pf=function(e,n){zcn(this,u(e,135),n)};var Mye;F("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1459),D(1460,1,zc,ctt),l.Yf=function(e){return u(e,135),Dye},l.pf=function(e,n){Cpn(this,u(e,135),n)};var Dye;F("org.eclipse.elk.alg.mrtree.p2order","NodeOrderer",1460),D(1461,1,zc,ott),l.Yf=function(e){return u(e,135),Iye},l.pf=function(e,n){qvn(this,u(e,135),n)},l.a=0;var Iye;F("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1461),D(1462,1,zc,GB),l.Yf=function(e){return u(e,135),Oye},l.pf=function(e,n){gdn(u(e,135),n)};var Oye;F("org.eclipse.elk.alg.mrtree.p4route","EdgeRouter",1462);var HS;D(495,22,{3:1,35:1,22:1,495:1,246:1,234:1},Xbt),l.Kf=function(){return xie(this)},l.Xf=function(){return xie(this)};var FG,D7,m_t=jr(Gkt,"RadialLayoutPhases",495,Hr,Krn,dtn),Pye;D(1131,209,S2,zHt),l.Ze=function(e,n){var r,s,o,h,d,v;if(r=Toe(this,e),vr(n,"Radial layout",r.c.length),je(Re(qe(e,(uy(),L_t))))||y$((s=new rr((Pm(),new Mm(e))),s)),v=D0n(e),wo(e,(m9(),HS),v),!v)throw it(new Fn("The given graph is not a tree!"));for(o=Xt(ye(qe(e,RG))),o==0&&(o=Roe(e)),wo(e,RG,o),d=new S(Toe(this,e));d.a0&&Ure((Rr(n-1,e.length),e.charCodeAt(n-1)),d1e);)--n;if(s>=n)throw it(new Fn("The given string does not contain any numbers."));if(o=vy(e.substr(s,n-s),`,|;|\r| +`),o.length!=2)throw it(new Fn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=dy(fy(o[0])),this.b=dy(fy(o[1]))}catch(h){throw h=Wi(h),_t(h,127)?(r=h,it(new Fn(g1e+r))):it(h)}},l.Ib=function(){return"("+this.a+","+this.b+")"},l.a=0,l.b=0;var Ws=F(WI,"KVector",8);D(74,68,{3:1,4:1,20:1,28:1,52:1,14:1,68:1,15:1,74:1,414:1},Pu,DR,MWt),l.Pc=function(){return tln(this)},l.Jf=function(e){var n,r,s,o,h,d;s=vy(e,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Ah(this);try{for(r=0,h=0,o=0,d=0;r0&&(h%2==0?o=dy(s[r]):d=dy(s[r]),h>0&&h%2!=0&&ri(this,new $e(o,d)),++h),++r}catch(v){throw v=Wi(v),_t(v,127)?(n=v,it(new Fn("The given string does not match the expected format for vectors."+n))):it(v)}},l.Ib=function(){var e,n,r;for(e=new Ol("("),n=ei(this,0);n.b!=n.d.c;)r=u(ti(n),8),Gr(e,r.a+","+r.b),n.b!=n.d.c&&(e.a+="; ");return(e.a+=")",e).a};var ASt=F(WI,"KVectorChain",74);D(248,22,{3:1,35:1,22:1,248:1},i9);var uft,GG,UG,GO,UO,WG,LSt=jr(Fh,"Alignment",248,Hr,Yan,Dtn),J3e;D(979,1,Oh,htt),l.Qe=function(e){lle(e)};var MSt,lft,t4e,DSt,ISt,e4e,OSt,n4e,r4e,PSt,FSt,i4e;F(Fh,"BoxLayouterOptions",979),D(980,1,{},qZ),l.$e=function(){var e;return e=new YZ,e},l._e=function(e){},F(Fh,"BoxLayouterOptions/BoxFactory",980),D(291,22,{3:1,35:1,22:1,291:1},s9);var WO,hft,YO,KO,XO,fft,dft=jr(Fh,"ContentAlignment",291,Hr,Wan,Itn),s4e;D(684,1,Oh,Tp),l.Qe=function(e){an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,ude),""),"Layout Algorithm"),"Select a specific layout algorithm."),(Ug(),I7)),Ae),un((Qf(),qn))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,lde),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),V1),v6n),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,xkt),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),NSt),us),LSt),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,E6),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,p8t),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),V1),ASt),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mH),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),RSt),U6),dft),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,JI),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Nn(),!1)),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Tkt),""),i6t),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),jSt),us),XS),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,QI),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),qSt),us),_ft),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,CH),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vH),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),USt),us),DAt),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,xv),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),nAt),V1),B7t),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,GI),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_ct),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,j_),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Got),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),oAt),us),PAt),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,yH),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),V1),Ws),ji(ea,lt(ct(ip,1),oe,175,0,[V2,rp]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,VI),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),gc),ja),ji(ea,lt(ct(ip,1),oe,175,0,[Pd]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,tH),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,R_),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Okt),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),YSt),V1),ASt),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Nkt),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Bkt),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Uxn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),V1),E6n),ji(qn,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,jkt),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),KSt),V1),N7t),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mkt),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),La),Rs),ji(ea,lt(ct(ip,1),oe,175,0,[Pd,V2,rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hde),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),Oo),la),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fde),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dde),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),pe(100)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gde),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pde),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),pe(4e3)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bde),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),pe(400)),gc),ja),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,wde),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,vde),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,mde),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,yde),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,g8t),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),BSt),us),$At),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,okt),R1),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ckt),R1),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,jot),R1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ukt),R1),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Vot),R1),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,lkt),R1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,hkt),R1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,gkt),R1),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,fkt),R1),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,dkt),R1),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Cy),R1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,pkt),R1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),Oo),la),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,bkt),R1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),Oo),la),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,wkt),R1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),V1),$4e),ji(ea,lt(ct(ip,1),oe,175,0,[Pd,V2,rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$kt),R1),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),wAt),V1),N7t),un(qn)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Cct),Ede),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),gc),ja),ji(qn,lt(ct(ip,1),oe,175,0,[ea]))))),ca(e,Cct,Tct,d4e),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Tct),Ede),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),rAt),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ckt),Tde),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),QSt),V1),B7t),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,UE),Tde),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),ZSt),U6),lo),ji(ea,lt(ct(ip,1),oe,175,0,[rp]))))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Akt),SH),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),sAt),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Lkt),SH),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Mkt),SH),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Dkt),SH),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Ikt),SH),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),us),tA),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,D4),Gct),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),JSt),U6),rA),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,T6),Gct),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),eAt),U6),NAt),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,C6),Gct),"Node Size Minimum"),"The minimal size to which a node can be reduced."),tAt),V1),Ws),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ect),Gct),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),La),Rs),un(qn)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Pkt),kct),"Edge Label Placement"),"Gives a hint on where to put edge labels."),$St),us),mAt),un(rp)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,eH),kct),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),La),Rs),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Wxn),"font"),"Font Name"),"Font name used for a label."),I7),Ae),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,xde),"font"),"Font Size"),"Font size used for a label."),gc),ja),un(rp)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Rkt),Uct),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),V1),Ws),un(V2)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,Fkt),Uct),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),gc),ja),un(V2)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,ykt),Uct),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),lAt),us),Xa),un(V2)))),an(e,new Xe(rn(nn(sn(Ze(en(Je(tn(new Ue,vkt),Uct),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),Oo),la),un(V2)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,WE),b8t),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),cAt),U6),eU),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,_kt),b8t),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Skt),b8t),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,kkt),Cde),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),La),Rs),un(ea)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,Ekt),Cde),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),La),Rs),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,$ot),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),Oo),la),un(Pd)))),an(e,new Xe(rn(nn(sn(kn(Ze(en(Je(tn(new Ue,kde),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),VSt),us),CAt),un(Pd)))),WC(e,new Yx(zC(o8(a8(new xm,Gn),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),WC(e,new Yx(zC(o8(a8(new xm,Vl),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),WC(e,new Yx(zC(o8(a8(new xm,K1e),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),WC(e,new Yx(zC(o8(a8(new xm,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),WC(e,new Yx(zC(o8(a8(new xm,Sd),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),Kue((new QB,e)),lle((new htt,e)),Cue((new ZB,e))};var YS,a4e,NSt,W6,o4e,c4e,BSt,u4e,YG,RSt,QO,qv,jSt,gft,pft,$St,zSt,qSt,HSt,VSt,GSt,s5,USt,l4e,ZO,bft,KG,WSt,a5,YSt,JO,KSt,XSt,QSt,o5,ZSt,G2,JSt,XG,c5,tAt,xb,eAt,QG,tP,U2,nAt,h4e,rAt,f4e,d4e,iAt,sAt,wft,vft,mft,yft,aAt,dl,KS,oAt,xft,kft,Qy,cAt,uAt,u5,lAt,Y6,ZG,Eft,O7,g4e,Tft,p4e,b4e,hAt,w4e,fAt,v4e,K6,dAt,JG,gAt,pAt,W2,m4e,bAt,wAt,vAt;F(Fh,"CoreOptions",684),D(103,22,{3:1,35:1,22:1,103:1},PM);var ng,zh,Cf,h0,rg,XS=jr(Fh,i6t,103,Hr,ban,Ftn),y4e;D(272,22,{3:1,35:1,22:1,272:1},Zet);var P7,Zy,F7,mAt=jr(Fh,"EdgeLabelPlacement",272,Hr,Xin,Ntn),x4e;D(218,22,{3:1,35:1,22:1,218:1},sj);var N7,eP,X6,Cft,_ft=jr(Fh,"EdgeRouting",218,Hr,qsn,Btn),k4e;D(312,22,{3:1,35:1,22:1,312:1},a9);var yAt,xAt,kAt,EAt,Sft,TAt,CAt=jr(Fh,"EdgeType",312,Hr,non,Rtn),E4e;D(977,1,Oh,QB),l.Qe=function(e){Kue(e)};var _At,SAt,AAt,LAt,T4e,MAt,QS;F(Fh,"FixedLayouterOptions",977),D(978,1,{},qL),l.$e=function(){var e;return e=new UZ,e},l._e=function(e){},F(Fh,"FixedLayouterOptions/FixedFactory",978),D(334,22,{3:1,35:1,22:1,334:1},Jet);var sp,tU,ZS,DAt=jr(Fh,"HierarchyHandling",334,Hr,Kin,jtn),C4e;D(285,22,{3:1,35:1,22:1,285:1},aj);var f0,kb,nP,rP,_4e=jr(Fh,"LabelSide",285,Hr,zsn,$tn),S4e;D(93,22,{3:1,35:1,22:1,93:1},q3);var ig,_f,qh,Sf,Yl,Af,Hh,d0,Lf,lo=jr(Fh,"NodeLabelPlacement",93,Hr,scn,ztn),A4e;D(249,22,{3:1,35:1,22:1,249:1},FM);var IAt,JS,Eb,OAt,iP,tA=jr(Fh,"PortAlignment",249,Hr,wan,qtn),L4e;D(98,22,{3:1,35:1,22:1,98:1},o9);var Y2,Gc,g0,B7,G1,Tb,PAt=jr(Fh,"PortConstraints",98,Hr,jan,Htn),M4e;D(273,22,{3:1,35:1,22:1,273:1},c9);var eA,nA,sg,sP,Cb,Q6,eU=jr(Fh,"PortLabelPlacement",273,Hr,eon,Vtn),D4e;D(61,22,{3:1,35:1,22:1,61:1},NM);var Hn,Pn,mh,yh,Su,lu,U1,Mf,el,Vu,Uc,nl,Au,Lu,Df,Kl,Xl,Vh,mr,Zo,Bn,Xa=jr(Fh,"PortSide",61,Hr,dan,Wtn),I4e;D(981,1,Oh,ZB),l.Qe=function(e){Cue(e)};var O4e,P4e,FAt,F4e,N4e;F(Fh,"RandomLayouterOptions",981),D(982,1,{},ZZ),l.$e=function(){var e;return e=new tJ,e},l._e=function(e){},F(Fh,"RandomLayouterOptions/RandomFactory",982),D(374,22,{3:1,35:1,22:1,374:1},oj);var Jy,aP,oP,K2,rA=jr(Fh,"SizeConstraint",374,Hr,$sn,Gtn),B4e;D(259,22,{3:1,35:1,22:1,259:1},H3);var cP,nU,R7,Aft,uP,iA,rU,iU,sU,NAt=jr(Fh,"SizeOptions",259,Hr,fcn,Utn),R4e;D(370,1,{1949:1},r8),l.b=!1,l.c=0,l.d=-1,l.e=null,l.f=null,l.g=-1,l.j=!1,l.k=!1,l.n=!1,l.o=0,l.q=0,l.r=0,F(Ec,"BasicProgressMonitor",370),D(972,209,S2,YZ),l.Ze=function(e,n){var r,s,o,h,d,v,k,C,M;switch(vr(n,"Box layout",2),o=pM(ye(qe(e,(fq(),i4e)))),h=u(qe(e,r4e),116),r=je(Re(qe(e,DSt))),s=je(Re(qe(e,ISt))),u(qe(e,lft),311).g){case 0:d=(v=new Bu((!e.a&&(e.a=new fe(rs,e,10,11)),e.a)),wn(),Zs(v,new ozt(s)),v),k=Q4t(e),C=ye(qe(e,MSt)),(C==null||(On(C),C<=0))&&(C=1.3),M=Q5n(d,o,h,k.a,k.b,r,(On(C),C)),wv(e,M.a,M.b,!1,!0);break;default:W3n(e,o,h,r)}or(n)},F(Ec,"BoxLayoutProvider",972),D(973,1,Oi,ozt),l.ue=function(e,n){return pwn(this,u(e,33),u(n,33))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},l.a=!1,F(Ec,"BoxLayoutProvider/1",973),D(157,1,{157:1},rz,LWt),l.Ib=function(){return this.c?X5t(this.c):eb(this.b)},F(Ec,"BoxLayoutProvider/Group",157),D(311,22,{3:1,35:1,22:1,311:1},cj);var BAt,RAt,jAt,Lft,$At=jr(Ec,"BoxLayoutProvider/PackingMode",311,Hr,Hsn,Ytn),j4e;D(974,1,Oi,KZ),l.ue=function(e,n){return vrn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$0$Type",974),D(975,1,Oi,sB),l.ue=function(e,n){return hrn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$1$Type",975),D(976,1,Oi,XZ),l.ue=function(e,n){return frn(u(e,157),u(n,157))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(Ec,"BoxLayoutProvider/lambda$2$Type",976),D(1365,1,{831:1},QZ),l.qg=function(e,n){return HR(),!_t(n,160)||jHt((i6(),u(e,160)),n)},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1365),D(1366,1,Un,czt),l.td=function(e){nln(this.a,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1366),D(1367,1,Un,WZ),l.td=function(e){u(e,94),HR()},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1367),D(1371,1,Un,uzt),l.td=function(e){Scn(this.a,u(e,94))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1371),D(1369,1,li,CGt),l.Mb=function(e){return qun(this.a,this.b,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1369),D(1368,1,li,_Gt),l.Mb=function(e){return sZe(this.a,this.b,u(e,831))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1368),D(1370,1,Un,SGt),l.td=function(e){snn(this.a,this.b,u(e,146))},F(Ec,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1370),D(935,1,{},GZ),l.Kb=function(e){return SUt(e)},l.Fb=function(e){return this===e},F(Ec,"ElkUtil/lambda$0$Type",935),D(936,1,Un,AGt),l.td=function(e){wbn(this.a,this.b,u(e,79))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$1$Type",936),D(937,1,Un,LGt),l.td=function(e){wKe(this.a,this.b,u(e,202))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$2$Type",937),D(938,1,Un,MGt),l.td=function(e){cQe(this.a,this.b,u(e,137))},l.a=0,l.b=0,F(Ec,"ElkUtil/lambda$3$Type",938),D(939,1,Un,lzt),l.td=function(e){xen(this.a,u(e,469))},F(Ec,"ElkUtil/lambda$4$Type",939),D(342,1,{35:1,342:1},WYe),l.wd=function(e){return NQe(this,u(e,236))},l.Fb=function(e){var n;return _t(e,342)?(n=u(e,342),this.a==n.a):!1},l.Hb=function(){return ps(this.a)},l.Ib=function(){return this.a+" (exclusive)"},l.a=0,F(Ec,"ExclusiveBounds/ExclusiveLowerBound",342),D(1138,209,S2,UZ),l.Ze=function(e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt,St,Rt,Kt,ue,_e,We,Qe;for(vr(n,"Fixed Layout",1),h=u(qe(e,(ui(),zSt)),218),j=0,H=0,St=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));St.e!=St.i.gc();){for(gt=u(dr(St),33),Qe=u(qe(gt,(Sz(),QS)),8),Qe&&(x1(gt,Qe.a,Qe.b),u(qe(gt,SAt),174).Hc((Al(),Jy))&&(G=u(qe(gt,LAt),8),G.a>0&&G.b>0&&wv(gt,G.a,G.b,!0,!0))),j=b.Math.max(j,gt.i+gt.g),H=b.Math.max(H,gt.j+gt.f),C=new nr((!gt.n&&(gt.n=new fe(qo,gt,1,7)),gt.n));C.e!=C.i.gc();)v=u(dr(C),137),Qe=u(qe(v,QS),8),Qe&&x1(v,Qe.a,Qe.b),j=b.Math.max(j,gt.i+v.i+v.g),H=b.Math.max(H,gt.j+v.j+v.f);for(ue=new nr((!gt.c&&(gt.c=new fe(gl,gt,9,9)),gt.c));ue.e!=ue.i.gc();)for(Kt=u(dr(ue),118),Qe=u(qe(Kt,QS),8),Qe&&x1(Kt,Qe.a,Qe.b),_e=gt.i+Kt.i,We=gt.j+Kt.j,j=b.Math.max(j,_e+Kt.g),H=b.Math.max(H,We+Kt.f),k=new nr((!Kt.n&&(Kt.n=new fe(qo,Kt,1,7)),Kt.n));k.e!=k.i.gc();)v=u(dr(k),137),Qe=u(qe(v,QS),8),Qe&&x1(v,Qe.a,Qe.b),j=b.Math.max(j,_e+v.i+v.g),H=b.Math.max(H,We+v.j+v.f);for(o=new ar(lr(K0(gt).a.Kc(),new z));zr(o);)r=u(Mr(o),79),M=$he(r),j=b.Math.max(j,M.a),H=b.Math.max(H,M.b);for(s=new ar(lr(wI(gt).a.Kc(),new z));zr(s);)r=u(Mr(s),79),es(e0(r))!=e&&(M=$he(r),j=b.Math.max(j,M.a),H=b.Math.max(H,M.b))}if(h==(W0(),N7))for(Mt=new nr((!e.a&&(e.a=new fe(rs,e,10,11)),e.a));Mt.e!=Mt.i.gc();)for(gt=u(dr(Mt),33),s=new ar(lr(K0(gt).a.Kc(),new z));zr(s);)r=u(Mr(s),79),d=gyn(r),d.b==0?wo(r,a5,null):wo(r,a5,d);je(Re(qe(e,(Sz(),AAt))))||(Rt=u(qe(e,T4e),116),tt=j+Rt.b+Rt.c,K=H+Rt.d+Rt.a,wv(e,tt,K,!0,!0)),or(n)},F(Ec,"FixedLayoutProvider",1138),D(373,134,{3:1,414:1,373:1,94:1,134:1},Yu,ree),l.Jf=function(e){var n,r,s,o,h,d,v,k,C;if(e)try{for(k=vy(e,";,;"),h=k,d=0,v=h.length;d>16&ys|n^s<<16},l.Kc=function(){return new hzt(this)},l.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+$o(this.b)+")":this.b==null?"pair("+$o(this.a)+",null)":"pair("+$o(this.a)+","+$o(this.b)+")"},F(Ec,"Pair",46),D(983,1,sa,hzt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},l.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw it(new lc)},l.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),it(new Ou)},l.b=!1,l.c=!1,F(Ec,"Pair/1",983),D(448,1,{448:1},zXt),l.Fb=function(e){return Fc(this.a,u(e,448).a)&&Fc(this.c,u(e,448).c)&&Fc(this.d,u(e,448).d)&&Fc(this.b,u(e,448).b)},l.Hb=function(){return Az(lt(ct(Qn,1),De,1,5,[this.a,this.c,this.d,this.b]))},l.Ib=function(){return"("+this.a+Ya+this.c+Ya+this.d+Ya+this.b+")"},F(Ec,"Quadruple",448),D(1126,209,S2,tJ),l.Ze=function(e,n){var r,s,o,h,d;if(vr(n,"Random Layout",1),(!e.a&&(e.a=new fe(rs,e,10,11)),e.a).i==0){or(n);return}h=u(qe(e,(S3t(),F4e)),19),h&&h.a!=0?o=new F$(h.a):o=new Zit,r=pM(ye(qe(e,O4e))),d=pM(ye(qe(e,N4e))),s=u(qe(e,P4e),116),A5n(e,o,r,d,s),or(n)},F(Ec,"RandomLayoutProvider",1126);var H4e;D(553,1,{}),l.qf=function(){return new $e(this.f.i,this.f.j)},l.We=function(e){return dQt(e,(ui(),dl))?qe(this.f,V4e):qe(this.f,e)},l.rf=function(){return new $e(this.f.g,this.f.f)},l.sf=function(){return this.g},l.Xe=function(e){return o2(this.f,e)},l.tf=function(e){ku(this.f,e.a),Eu(this.f,e.b)},l.uf=function(e){tv(this.f,e.a),Jw(this.f,e.b)},l.vf=function(e){this.g=e},l.g=0;var V4e;F(K_,"ElkGraphAdapters/AbstractElkGraphElementAdapter",553),D(554,1,{839:1},wR),l.wf=function(){var e,n;if(!this.b)for(this.b=D$(u$(this.a).i),n=new nr(u$(this.a));n.e!=n.i.gc();)e=u(dr(n),137),le(this.b,new get(e));return this.b},l.b=null,F(K_,"ElkGraphAdapters/ElkEdgeAdapter",554),D(301,553,{},Mm),l.xf=function(){return zse(this)},l.a=null,F(K_,"ElkGraphAdapters/ElkGraphAdapter",301),D(630,553,{181:1},get),F(K_,"ElkGraphAdapters/ElkLabelAdapter",630),D(629,553,{680:1},gnt),l.wf=function(){return M1n(this)},l.Af=function(){var e;return e=u(qe(this.f,(ui(),JO)),142),!e&&(e=new OC),e},l.Cf=function(){return D1n(this)},l.Ef=function(e){var n;n=new Lnt(e),wo(this.f,(ui(),JO),n)},l.Ff=function(e){wo(this.f,(ui(),U2),new kwt(e))},l.yf=function(){return this.d},l.zf=function(){var e,n;if(!this.a)for(this.a=new he,n=new ar(lr(wI(u(this.f,33)).a.Kc(),new z));zr(n);)e=u(Mr(n),79),le(this.a,new wR(e));return this.a},l.Bf=function(){var e,n;if(!this.c)for(this.c=new he,n=new ar(lr(K0(u(this.f,33)).a.Kc(),new z));zr(n);)e=u(Mr(n),79),le(this.c,new wR(e));return this.c},l.Df=function(){return p$(u(this.f,33)).i!=0||je(Re(u(this.f,33).We((ui(),ZO))))},l.Gf=function(){xon(this,(Pm(),H4e))},l.a=null,l.b=null,l.c=null,l.d=null,l.e=null,F(K_,"ElkGraphAdapters/ElkNodeAdapter",629),D(1266,553,{838:1},$zt),l.wf=function(){return j1n(this)},l.zf=function(){var e,n;if(!this.a)for(this.a=Ud(u(this.f,118).xg().i),n=new nr(u(this.f,118).xg());n.e!=n.i.gc();)e=u(dr(n),79),le(this.a,new wR(e));return this.a},l.Bf=function(){var e,n;if(!this.c)for(this.c=Ud(u(this.f,118).yg().i),n=new nr(u(this.f,118).yg());n.e!=n.i.gc();)e=u(dr(n),79),le(this.c,new wR(e));return this.c},l.Hf=function(){return u(u(this.f,118).We((ui(),u5)),61)},l.If=function(){var e,n,r,s,o,h,d,v;for(s=T1(u(this.f,118)),r=new nr(u(this.f,118).yg());r.e!=r.i.gc();)for(e=u(dr(r),79),v=new nr((!e.c&&(e.c=new Cn(br,e,5,8)),e.c));v.e!=v.i.gc();){if(d=u(dr(v),82),ey(Do(d),s))return!0;if(Do(d)==s&&je(Re(qe(e,(ui(),bft)))))return!0}for(n=new nr(u(this.f,118).xg());n.e!=n.i.gc();)for(e=u(dr(n),79),h=new nr((!e.b&&(e.b=new Cn(br,e,4,7)),e.b));h.e!=h.i.gc();)if(o=u(dr(h),82),ey(Do(o),s))return!0;return!1},l.a=null,l.b=null,l.c=null,F(K_,"ElkGraphAdapters/ElkPortAdapter",1266),D(1267,1,Oi,eJ),l.ue=function(e,n){return omn(u(e,118),u(n,118))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(K_,"ElkGraphAdapters/PortComparator",1267);var _b=Ki(ph,"EObject"),j7=Ki(F4,Ade),Gh=Ki(F4,Lde),lP=Ki(F4,Mde),hP=Ki(F4,"ElkShape"),br=Ki(F4,Dde),Ys=Ki(F4,w8t),Ji=Ki(F4,Ide),fP=Ki(ph,Ode),sA=Ki(ph,"EFactory"),G4e,Mft=Ki(ph,Pde),i1=Ki(ph,"EPackage"),na,U4e,W4e,VAt,aU,Y4e,GAt,UAt,WAt,Sb,K4e,X4e,qo=Ki(F4,v8t),rs=Ki(F4,m8t),gl=Ki(F4,y8t);D(90,1,Fde),l.Jg=function(){return this.Kg(),null},l.Kg=function(){return null},l.Lg=function(){return this.Kg(),!1},l.Mg=function(){return!1},l.Ng=function(e){mi(this,e)},F(L6,"BasicNotifierImpl",90),D(97,90,jde),l.nh=function(){return xl(this)},l.Og=function(e,n){return e},l.Pg=function(){throw it(new Or)},l.Qg=function(e){var n;return n=no(u(yn(this.Tg(),this.Vg()),18)),this.eh().ih(this,n.n,n.f,e)},l.Rg=function(e,n){throw it(new Or)},l.Sg=function(e,n,r){return Hl(this,e,n,r)},l.Tg=function(){var e;return this.Pg()&&(e=this.Pg().ck(),e)?e:this.zh()},l.Ug=function(){return eat(this)},l.Vg=function(){throw it(new Or)},l.Wg=function(){var e,n;return n=this.ph().dk(),!n&&this.Pg().ik(n=(YC(),e=jvt(vd(this.Tg())),e==null?Rft:new jM(this,e))),n},l.Xg=function(e,n){return e},l.Yg=function(e){var n;return n=e.Gj(),n?e.aj():Gi(this.Tg(),e)},l.Zg=function(){var e;return e=this.Pg(),e?e.fk():null},l.$g=function(){return this.Pg()?this.Pg().ck():null},l._g=function(e,n,r){return Xz(this,e,n,r)},l.ah=function(e){return j8(this,e)},l.bh=function(e,n){return Urt(this,e,n)},l.dh=function(){var e;return e=this.Pg(),!!e&&e.gk()},l.eh=function(){throw it(new Or)},l.fh=function(){return Hz(this)},l.gh=function(e,n,r,s){return c6(this,e,n,s)},l.hh=function(e,n,r){var s;return s=u(yn(this.Tg(),n),66),s.Nj().Qj(this,this.yh(),n-this.Ah(),e,r)},l.ih=function(e,n,r,s){return m$(this,e,n,s)},l.jh=function(e,n,r){var s;return s=u(yn(this.Tg(),n),66),s.Nj().Rj(this,this.yh(),n-this.Ah(),e,r)},l.kh=function(){return!!this.Pg()&&!!this.Pg().ek()},l.lh=function(e){return fst(this,e)},l.mh=function(e){return MQt(this,e)},l.oh=function(e){return ehe(this,e)},l.ph=function(){throw it(new Or)},l.qh=function(){return this.Pg()?this.Pg().ek():null},l.rh=function(){return Hz(this)},l.sh=function(e,n){Xst(this,e,n)},l.th=function(e){this.ph().hk(e)},l.uh=function(e){this.ph().kk(e)},l.vh=function(e){this.ph().jk(e)},l.wh=function(e,n){var r,s,o,h;return h=this.Zg(),h&&e&&(n=Ba(h.Vk(),this,n),h.Zk(this)),s=this.eh(),s&&(wat(this,this.eh(),this.Vg()).Bb&Ka?(o=s.fh(),o&&(e?!h&&o.Zk(this):o.Yk(this))):(n=(r=this.Vg(),r>=0?this.Qg(n):this.eh().ih(this,-1-r,null,n)),n=this.Sg(null,-1,n))),this.uh(e),n},l.xh=function(e){var n,r,s,o,h,d,v,k;if(r=this.Tg(),h=Gi(r,e),n=this.Ah(),h>=n)return u(e,66).Nj().Uj(this,this.yh(),h-n);if(h<=-1)if(d=C4(($u(),ya),r,e),d){if(to(),u(d,66).Oj()||(d=Kx(To(ya,d))),o=(s=this.Yg(d),u(s>=0?this._g(s,!0,!0):dv(this,d,!0),153)),k=d.Zj(),k>1||k==-1)return u(u(o,215).hl(e,!1),76)}else throw it(new Fn(lb+e.ne()+Wct));else if(e.$j())return s=this.Yg(e),u(s>=0?this._g(s,!1,!0):dv(this,e,!1),76);return v=new XGt(this,e),v},l.yh=function(){return $mt(this)},l.zh=function(){return(Hp(),Ln).S},l.Ah=function(){return Jn(this.zh())},l.Bh=function(e){Gst(this,e)},l.Ib=function(){return mf(this)},F(Mn,"BasicEObjectImpl",97);var Q4e;D(114,97,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1}),l.Ch=function(e){var n;return n=zmt(this),n[e]},l.Dh=function(e,n){var r;r=zmt(this),ts(r,e,n)},l.Eh=function(e){var n;n=zmt(this),ts(n,e,null)},l.Jg=function(){return u(Dn(this,4),126)},l.Kg=function(){throw it(new Or)},l.Lg=function(){return(this.Db&4)!=0},l.Pg=function(){throw it(new Or)},l.Fh=function(e){o6(this,2,e)},l.Rg=function(e,n){this.Db=n<<16|this.Db&255,this.Fh(e)},l.Tg=function(){return vu(this)},l.Vg=function(){return this.Db>>16},l.Wg=function(){var e,n;return YC(),n=jvt(vd((e=u(Dn(this,16),26),e||this.zh()))),n==null?Rft:new jM(this,n)},l.Mg=function(){return(this.Db&1)==0},l.Zg=function(){return u(Dn(this,128),1935)},l.$g=function(){return u(Dn(this,16),26)},l.dh=function(){return(this.Db&32)!=0},l.eh=function(){return u(Dn(this,2),49)},l.kh=function(){return(this.Db&64)!=0},l.ph=function(){throw it(new Or)},l.qh=function(){return u(Dn(this,64),281)},l.th=function(e){o6(this,16,e)},l.uh=function(e){o6(this,128,e)},l.vh=function(e){o6(this,64,e)},l.yh=function(){return su(this)},l.Db=0,F(Mn,"MinimalEObjectImpl",114),D(115,114,{105:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l.Fh=function(e){this.Cb=e},l.eh=function(){return this.Cb},F(Mn,"MinimalEObjectImpl/Container",115),D(1985,115,{105:1,413:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return Z3t(this,e,n,r)},l.jh=function(e,n,r){return $4t(this,e,n,r)},l.lh=function(e){return Qvt(this,e)},l.sh=function(e,n){Byt(this,e,n)},l.zh=function(){return Jc(),X4e},l.Bh=function(e){_yt(this,e)},l.Ve=function(){return cse(this)},l.We=function(e){return qe(this,e)},l.Xe=function(e){return o2(this,e)},l.Ye=function(e,n){return wo(this,e,n)},F(M2,"EMapPropertyHolderImpl",1985),D(567,115,{105:1,469:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},xp),l._g=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return Xz(this,e,n,r)},l.lh=function(e){switch(e){case 0:return this.a!=0;case 1:return this.b!=0}return fst(this,e)},l.sh=function(e,n){switch(e){case 0:iz(this,Xt(ye(n)));return;case 1:sz(this,Xt(ye(n)));return}Xst(this,e,n)},l.zh=function(){return Jc(),U4e},l.Bh=function(e){switch(e){case 0:iz(this,0);return;case 1:sz(this,0);return}Gst(this,e)},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new _h(mf(this)),e.a+=" (x: ",$3(e,this.a),e.a+=", y: ",$3(e,this.b),e.a+=")",e.a)},l.a=0,l.b=0,F(M2,"ElkBendPointImpl",567),D(723,1985,{105:1,413:1,160:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return n3t(this,e,n,r)},l.hh=function(e,n,r){return jst(this,e,n,r)},l.jh=function(e,n,r){return Eit(this,e,n,r)},l.lh=function(e){return vyt(this,e)},l.sh=function(e,n){w4t(this,e,n)},l.zh=function(){return Jc(),Y4e},l.Bh=function(e){Zyt(this,e)},l.zg=function(){return this.k},l.Ag=function(){return u$(this)},l.Ib=function(){return Xit(this)},l.k=null,F(M2,"ElkGraphElementImpl",723),D(724,723,{105:1,413:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return f3t(this,e,n,r)},l.lh=function(e){return m3t(this,e)},l.sh=function(e,n){v4t(this,e,n)},l.zh=function(){return Jc(),K4e},l.Bh=function(e){T3t(this,e)},l.Bg=function(){return this.f},l.Cg=function(){return this.g},l.Dg=function(){return this.i},l.Eg=function(){return this.j},l.Fg=function(e,n){bj(this,e,n)},l.Gg=function(e,n){x1(this,e,n)},l.Hg=function(e){ku(this,e)},l.Ig=function(e){Eu(this,e)},l.Ib=function(){return Vst(this)},l.f=0,l.g=0,l.i=0,l.j=0,F(M2,"ElkShapeImpl",724),D(725,724,{105:1,413:1,82:1,160:1,470:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1}),l._g=function(e,n,r){return U3t(this,e,n,r)},l.hh=function(e,n,r){return h4t(this,e,n,r)},l.jh=function(e,n,r){return f4t(this,e,n,r)},l.lh=function(e){return Fyt(this,e)},l.sh=function(e,n){x5t(this,e,n)},l.zh=function(){return Jc(),W4e},l.Bh=function(e){R3t(this,e)},l.xg=function(){return!this.d&&(this.d=new Cn(Ys,this,8,5)),this.d},l.yg=function(){return!this.e&&(this.e=new Cn(Ys,this,7,4)),this.e},F(M2,"ElkConnectableShapeImpl",725),D(352,723,{105:1,413:1,79:1,160:1,352:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},pw),l.Qg=function(e){return o4t(this,e)},l._g=function(e,n,r){switch(e){case 3:return cD(this);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),this.b;case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),this.c;case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),this.a;case 7:return Nn(),!this.b&&(this.b=new Cn(br,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i<=1));case 8:return Nn(),!!w_(this);case 9:return Nn(),!!fv(this);case 10:return Nn(),!this.b&&(this.b=new Cn(br,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i!=0)}return n3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 3:return this.Cb&&(r=(s=this.Db>>16,s>=0?o4t(this,r):this.Cb.ih(this,-1-s,null,r))),twt(this,u(e,33),r);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),Zc(this.b,e,r);case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),Zc(this.c,e,r);case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),Zc(this.a,e,r)}return jst(this,e,n,r)},l.jh=function(e,n,r){switch(n){case 3:return twt(this,null,r);case 4:return!this.b&&(this.b=new Cn(br,this,4,7)),Ba(this.b,e,r);case 5:return!this.c&&(this.c=new Cn(br,this,5,8)),Ba(this.c,e,r);case 6:return!this.a&&(this.a=new fe(Ji,this,6,6)),Ba(this.a,e,r)}return Eit(this,e,n,r)},l.lh=function(e){switch(e){case 3:return!!cD(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new Cn(br,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i<=1));case 8:return w_(this);case 9:return fv(this);case 10:return!this.b&&(this.b=new Cn(br,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new Cn(br,this,5,8)),this.c.i!=0)}return vyt(this,e)},l.sh=function(e,n){switch(e){case 3:oat(this,u(n,33));return;case 4:!this.b&&(this.b=new Cn(br,this,4,7)),xr(this.b),!this.b&&(this.b=new Cn(br,this,4,7)),is(this.b,u(n,14));return;case 5:!this.c&&(this.c=new Cn(br,this,5,8)),xr(this.c),!this.c&&(this.c=new Cn(br,this,5,8)),is(this.c,u(n,14));return;case 6:!this.a&&(this.a=new fe(Ji,this,6,6)),xr(this.a),!this.a&&(this.a=new fe(Ji,this,6,6)),is(this.a,u(n,14));return}w4t(this,e,n)},l.zh=function(){return Jc(),VAt},l.Bh=function(e){switch(e){case 3:oat(this,null);return;case 4:!this.b&&(this.b=new Cn(br,this,4,7)),xr(this.b);return;case 5:!this.c&&(this.c=new Cn(br,this,5,8)),xr(this.c);return;case 6:!this.a&&(this.a=new fe(Ji,this,6,6)),xr(this.a);return}Zyt(this,e)},l.Ib=function(){return $le(this)},F(M2,"ElkEdgeImpl",352),D(439,1985,{105:1,413:1,202:1,439:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ad),l.Qg=function(e){return r4t(this,e)},l._g=function(e,n,r){switch(e){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new As(Gh,this,5)),this.a;case 6:return SQt(this);case 7:return n?wst(this):this.i;case 8:return n?bst(this):this.f;case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),this.g;case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),this.e;case 11:return this.d}return Z3t(this,e,n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?r4t(this,r):this.Cb.ih(this,-1-o,null,r))),ewt(this,u(e,79),r);case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),Zc(this.g,e,r);case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),Zc(this.e,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(Jc(),aU)),n),66),h.Nj().Qj(this,su(this),n-Jn((Jc(),aU)),e,r)},l.jh=function(e,n,r){switch(n){case 5:return!this.a&&(this.a=new As(Gh,this,5)),Ba(this.a,e,r);case 6:return ewt(this,null,r);case 9:return!this.g&&(this.g=new Cn(Ji,this,9,10)),Ba(this.g,e,r);case 10:return!this.e&&(this.e=new Cn(Ji,this,10,9)),Ba(this.e,e,r)}return $4t(this,e,n,r)},l.lh=function(e){switch(e){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!SQt(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return Qvt(this,e)},l.sh=function(e,n){switch(e){case 1:G8(this,Xt(ye(n)));return;case 2:W8(this,Xt(ye(n)));return;case 3:V8(this,Xt(ye(n)));return;case 4:U8(this,Xt(ye(n)));return;case 5:!this.a&&(this.a=new As(Gh,this,5)),xr(this.a),!this.a&&(this.a=new As(Gh,this,5)),is(this.a,u(n,14));return;case 6:zce(this,u(n,79));return;case 7:lz(this,u(n,82));return;case 8:uz(this,u(n,82));return;case 9:!this.g&&(this.g=new Cn(Ji,this,9,10)),xr(this.g),!this.g&&(this.g=new Cn(Ji,this,9,10)),is(this.g,u(n,14));return;case 10:!this.e&&(this.e=new Cn(Ji,this,10,9)),xr(this.e),!this.e&&(this.e=new Cn(Ji,this,10,9)),is(this.e,u(n,14));return;case 11:uyt(this,Br(n));return}Byt(this,e,n)},l.zh=function(){return Jc(),aU},l.Bh=function(e){switch(e){case 1:G8(this,0);return;case 2:W8(this,0);return;case 3:V8(this,0);return;case 4:U8(this,0);return;case 5:!this.a&&(this.a=new As(Gh,this,5)),xr(this.a);return;case 6:zce(this,null);return;case 7:lz(this,null);return;case 8:uz(this,null);return;case 9:!this.g&&(this.g=new Cn(Ji,this,9,10)),xr(this.g);return;case 10:!this.e&&(this.e=new Cn(Ji,this,10,9)),xr(this.e);return;case 11:uyt(this,null);return}_yt(this,e)},l.Ib=function(){return sce(this)},l.b=0,l.c=0,l.d=null,l.j=0,l.k=0,F(M2,"ElkEdgeSectionImpl",439),D(150,115,{105:1,92:1,90:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),l._g=function(e,n,r){var s;return e==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab):uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r)):(o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r))},l.jh=function(e,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r)):(o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r))},l.lh=function(e){var n;return e==0?!!this.Ab&&this.Ab.i!=0:oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.oh=function(e){return Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.uh=function(e){o6(this,128,e)},l.zh=function(){return dn(),p5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){this.Bb|=1},l.Hh=function(e){return k_(this,e)},l.Bb=0,F(Mn,"EModelElementImpl",150),D(704,150,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},JB),l.Ih=function(e,n){return bhe(this,e,n)},l.Jh=function(e){var n,r,s,o,h;if(this.a!=Rl(e)||e.Bb&256)throw it(new Fn(Kct+e.zb+Cv));for(s=Ao(e);Lc(s.a).i!=0;){if(r=u(AI(s,0,(n=u(At(Lc(s.a),0),87),h=n.c,_t(h,88)?u(h,26):(dn(),Kh))),26),hv(r))return o=Rl(r).Nh().Jh(r),u(o,49).th(e),o;s=Ao(r)}return(e.D!=null?e.D:e.B)=="java.util.Map$Entry"?new hKt(e):new zwt(e)},l.Kh=function(e,n){return vv(this,e,n)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.a}return uh(this,e-Jn((dn(),Db)),yn((s=u(Dn(this,16),26),s||Db),e),n,r)},l.hh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 1:return this.a&&(r=u(this.a,49).ih(this,4,i1,r)),Xyt(this,u(e,235),r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Db)),n),66),o.Nj().Qj(this,su(this),n-Jn((dn(),Db)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 1:return Xyt(this,null,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Db)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Db)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return oh(this,e-Jn((dn(),Db)),yn((n=u(Dn(this,16),26),n||Db),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:zae(this,u(n,235));return}gh(this,e-Jn((dn(),Db)),yn((r=u(Dn(this,16),26),r||Db),e),n)},l.zh=function(){return dn(),Db},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:zae(this,null);return}fh(this,e-Jn((dn(),Db)),yn((n=u(Dn(this,16),26),n||Db),e))};var aA,YAt,Z4e;F(Mn,"EFactoryImpl",704),D(xf,704,{105:1,2014:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1},ax),l.Ih=function(e,n){switch(e.yj()){case 12:return u(n,146).tg();case 13:return $o(n);default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h,d,v,k;switch(e.G==-1&&(e.G=(n=Rl(e),n?Hg(n.Mh(),e):-1)),e.G){case 4:return h=new ZT,h;case 6:return d=new Vpt,d;case 7:return v=new Gpt,v;case 8:return s=new pw,s;case 9:return r=new xp,r;case 10:return o=new ad,o;case 11:return k=new aB,k;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){switch(e.yj()){case 13:case 12:return null;default:throw it(new Fn(QE+e.ne()+Cv))}},F(M2,"ElkGraphFactoryImpl",xf),D(438,150,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1}),l.Wg=function(){var e,n;return n=(e=u(Dn(this,16),26),jvt(vd(e||this.zh()))),n==null?(YC(),YC(),Rft):new IWt(this,n)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.ne()}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:this.Lh(Br(n));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),b5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:this.Lh(null);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.ne=function(){return this.zb},l.Lh=function(e){Qc(this,e)},l.Ib=function(){return J9(this)},l.zb=null,F(Mn,"ENamedElementImpl",438),D(179,438,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},fQt),l.Qg=function(e){return eae(this,e)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),this.rb;case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?u(this.Cb,235):null:AQt(this)}return uh(this,e-Jn((dn(),up)),yn((s=u(Dn(this,16),26),s||up),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 4:return this.sb&&(r=u(this.sb,49).ih(this,1,sA,r)),t3t(this,u(e,471),r);case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),Zc(this.rb,e,r);case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),Zc(this.vb,e,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?eae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,7,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),up)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),up)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 4:return t3t(this,null,r);case 5:return!this.rb&&(this.rb=new Gm(this,s1,this)),Ba(this.rb,e,r);case 6:return!this.vb&&(this.vb=new Rx(i1,this,6,7)),Ba(this.vb,e,r);case 7:return Hl(this,null,7,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),up)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),up)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!AQt(this)}return oh(this,e-Jn((dn(),up)),yn((n=u(Dn(this,16),26),n||up),e))},l.oh=function(e){var n;return n=Lwn(this,e),n||Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:wz(this,Br(n));return;case 3:bz(this,Br(n));return;case 4:Hst(this,u(n,471));return;case 5:!this.rb&&(this.rb=new Gm(this,s1,this)),xr(this.rb),!this.rb&&(this.rb=new Gm(this,s1,this)),is(this.rb,u(n,14));return;case 6:!this.vb&&(this.vb=new Rx(i1,this,6,7)),xr(this.vb),!this.vb&&(this.vb=new Rx(i1,this,6,7)),is(this.vb,u(n,14));return}gh(this,e-Jn((dn(),up)),yn((r=u(Dn(this,16),26),r||up),e),n)},l.vh=function(e){var n,r;if(e&&this.rb)for(r=new nr(this.rb);r.e!=r.i.gc();)n=dr(r),_t(n,351)&&(u(n,351).w=null);o6(this,64,e)},l.zh=function(){return dn(),up},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:wz(this,null);return;case 3:bz(this,null);return;case 4:Hst(this,null);return;case 5:!this.rb&&(this.rb=new Gm(this,s1,this)),xr(this.rb);return;case 6:!this.vb&&(this.vb=new Rx(i1,this,6,7)),xr(this.vb);return}fh(this,e-Jn((dn(),up)),yn((n=u(Dn(this,16),26),n||up),e))},l.Gh=function(){Mst(this)},l.Mh=function(){return!this.rb&&(this.rb=new Gm(this,s1,this)),this.rb},l.Nh=function(){return this.sb},l.Oh=function(){return this.ub},l.Ph=function(){return this.xb},l.Qh=function(){return this.yb},l.Rh=function(e){this.ub=e},l.Ib=function(){var e;return this.Db&64?J9(this):(e=new _h(J9(this)),e.a+=" (nsURI: ",go(e,this.yb),e.a+=", nsPrefix: ",go(e,this.xb),e.a+=")",e.a)},l.xb=null,l.yb=null,F(Mn,"EPackageImpl",179),D(555,179,{105:1,2016:1,555:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1},gce),l.q=!1,l.r=!1;var J4e=!1;F(M2,"ElkGraphPackageImpl",555),D(354,724,{105:1,413:1,160:1,137:1,470:1,354:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},ZT),l.Qg=function(e){return i4t(this,e)},l._g=function(e,n,r){switch(e){case 7:return LQt(this);case 8:return this.a}return f3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 7:return this.Cb&&(r=(s=this.Db>>16,s>=0?i4t(this,r):this.Cb.ih(this,-1-s,null,r))),nvt(this,u(e,160),r)}return jst(this,e,n,r)},l.jh=function(e,n,r){return n==7?nvt(this,null,r):Eit(this,e,n,r)},l.lh=function(e){switch(e){case 7:return!!LQt(this);case 8:return!hn("",this.a)}return m3t(this,e)},l.sh=function(e,n){switch(e){case 7:F5t(this,u(n,160));return;case 8:nyt(this,Br(n));return}v4t(this,e,n)},l.zh=function(){return Jc(),GAt},l.Bh=function(e){switch(e){case 7:F5t(this,null);return;case 8:nyt(this,"");return}T3t(this,e)},l.Ib=function(){return eoe(this)},l.a="",F(M2,"ElkLabelImpl",354),D(239,725,{105:1,413:1,82:1,160:1,33:1,470:1,239:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Vpt),l.Qg=function(e){return c4t(this,e)},l._g=function(e,n,r){switch(e){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),this.c;case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),this.a;case 11:return es(this);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),this.b;case 13:return Nn(),!this.a&&(this.a=new fe(rs,this,10,11)),this.a.i>0}return U3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),Zc(this.c,e,r);case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),Zc(this.a,e,r);case 11:return this.Cb&&(r=(s=this.Db>>16,s>=0?c4t(this,r):this.Cb.ih(this,-1-s,null,r))),lwt(this,u(e,33),r);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),Zc(this.b,e,r)}return h4t(this,e,n,r)},l.jh=function(e,n,r){switch(n){case 9:return!this.c&&(this.c=new fe(gl,this,9,9)),Ba(this.c,e,r);case 10:return!this.a&&(this.a=new fe(rs,this,10,11)),Ba(this.a,e,r);case 11:return lwt(this,null,r);case 12:return!this.b&&(this.b=new fe(Ys,this,12,3)),Ba(this.b,e,r)}return f4t(this,e,n,r)},l.lh=function(e){switch(e){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!es(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new fe(rs,this,10,11)),this.a.i>0}return Fyt(this,e)},l.sh=function(e,n){switch(e){case 9:!this.c&&(this.c=new fe(gl,this,9,9)),xr(this.c),!this.c&&(this.c=new fe(gl,this,9,9)),is(this.c,u(n,14));return;case 10:!this.a&&(this.a=new fe(rs,this,10,11)),xr(this.a),!this.a&&(this.a=new fe(rs,this,10,11)),is(this.a,u(n,14));return;case 11:I5t(this,u(n,33));return;case 12:!this.b&&(this.b=new fe(Ys,this,12,3)),xr(this.b),!this.b&&(this.b=new fe(Ys,this,12,3)),is(this.b,u(n,14));return}x5t(this,e,n)},l.zh=function(){return Jc(),UAt},l.Bh=function(e){switch(e){case 9:!this.c&&(this.c=new fe(gl,this,9,9)),xr(this.c);return;case 10:!this.a&&(this.a=new fe(rs,this,10,11)),xr(this.a);return;case 11:I5t(this,null);return;case 12:!this.b&&(this.b=new fe(Ys,this,12,3)),xr(this.b);return}R3t(this,e)},l.Ib=function(){return X5t(this)},F(M2,"ElkNodeImpl",239),D(186,725,{105:1,413:1,82:1,160:1,118:1,470:1,186:1,94:1,92:1,90:1,56:1,108:1,49:1,97:1,114:1,115:1},Gpt),l.Qg=function(e){return s4t(this,e)},l._g=function(e,n,r){return e==9?T1(this):U3t(this,e,n,r)},l.hh=function(e,n,r){var s;switch(n){case 9:return this.Cb&&(r=(s=this.Db>>16,s>=0?s4t(this,r):this.Cb.ih(this,-1-s,null,r))),nwt(this,u(e,33),r)}return h4t(this,e,n,r)},l.jh=function(e,n,r){return n==9?nwt(this,null,r):f4t(this,e,n,r)},l.lh=function(e){return e==9?!!T1(this):Fyt(this,e)},l.sh=function(e,n){switch(e){case 9:D5t(this,u(n,33));return}x5t(this,e,n)},l.zh=function(){return Jc(),WAt},l.Bh=function(e){switch(e){case 9:D5t(this,null);return}R3t(this,e)},l.Ib=function(){return zue(this)},F(M2,"ElkPortImpl",186);var t5e=Ki(Ra,"BasicEMap/Entry");D(1092,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,114:1,115:1},aB),l.Fb=function(e){return this===e},l.cd=function(){return this.b},l.Hb=function(){return Pw(this)},l.Uh=function(e){ryt(this,u(e,146))},l._g=function(e,n,r){switch(e){case 0:return this.b;case 1:return this.c}return Xz(this,e,n,r)},l.lh=function(e){switch(e){case 0:return!!this.b;case 1:return this.c!=null}return fst(this,e)},l.sh=function(e,n){switch(e){case 0:ryt(this,u(n,146));return;case 1:ayt(this,n);return}Xst(this,e,n)},l.zh=function(){return Jc(),Sb},l.Bh=function(e){switch(e){case 0:ryt(this,null);return;case 1:ayt(this,null);return}Gst(this,e)},l.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e?Hi(e):0),this.a},l.dd=function(){return this.c},l.Th=function(e){this.a=e},l.ed=function(e){var n;return n=this.c,ayt(this,e),n},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new Mp,Gr(Gr(Gr(e,this.b?this.b.tg():_u),Uot),b9(this.c)),e.a)},l.a=-1,l.c=null;var Hv=F(M2,"ElkPropertyToValueMapEntryImpl",1092);D(984,1,{},oB),F(ma,"JsonAdapter",984),D(210,60,Q0,ud),F(ma,"JsonImportException",210),D(857,1,{},nae),F(ma,"JsonImporter",857),D(891,1,{},DGt),F(ma,"JsonImporter/lambda$0$Type",891),D(892,1,{},IGt),F(ma,"JsonImporter/lambda$1$Type",892),D(900,1,{},fzt),F(ma,"JsonImporter/lambda$10$Type",900),D(902,1,{},OGt),F(ma,"JsonImporter/lambda$11$Type",902),D(903,1,{},PGt),F(ma,"JsonImporter/lambda$12$Type",903),D(909,1,{},UXt),F(ma,"JsonImporter/lambda$13$Type",909),D(908,1,{},GXt),F(ma,"JsonImporter/lambda$14$Type",908),D(904,1,{},FGt),F(ma,"JsonImporter/lambda$15$Type",904),D(905,1,{},NGt),F(ma,"JsonImporter/lambda$16$Type",905),D(906,1,{},BGt),F(ma,"JsonImporter/lambda$17$Type",906),D(907,1,{},RGt),F(ma,"JsonImporter/lambda$18$Type",907),D(912,1,{},dzt),F(ma,"JsonImporter/lambda$19$Type",912),D(893,1,{},gzt),F(ma,"JsonImporter/lambda$2$Type",893),D(910,1,{},pzt),F(ma,"JsonImporter/lambda$20$Type",910),D(911,1,{},bzt),F(ma,"JsonImporter/lambda$21$Type",911),D(915,1,{},wzt),F(ma,"JsonImporter/lambda$22$Type",915),D(913,1,{},vzt),F(ma,"JsonImporter/lambda$23$Type",913),D(914,1,{},mzt),F(ma,"JsonImporter/lambda$24$Type",914),D(917,1,{},yzt),F(ma,"JsonImporter/lambda$25$Type",917),D(916,1,{},xzt),F(ma,"JsonImporter/lambda$26$Type",916),D(918,1,Un,jGt),l.td=function(e){ion(this.b,this.a,Br(e))},F(ma,"JsonImporter/lambda$27$Type",918),D(919,1,Un,$Gt),l.td=function(e){son(this.b,this.a,Br(e))},F(ma,"JsonImporter/lambda$28$Type",919),D(920,1,{},zGt),F(ma,"JsonImporter/lambda$29$Type",920),D(896,1,{},kzt),F(ma,"JsonImporter/lambda$3$Type",896),D(921,1,{},qGt),F(ma,"JsonImporter/lambda$30$Type",921),D(922,1,{},Ezt),F(ma,"JsonImporter/lambda$31$Type",922),D(923,1,{},Tzt),F(ma,"JsonImporter/lambda$32$Type",923),D(924,1,{},Czt),F(ma,"JsonImporter/lambda$33$Type",924),D(925,1,{},_zt),F(ma,"JsonImporter/lambda$34$Type",925),D(859,1,{},Szt),F(ma,"JsonImporter/lambda$35$Type",859),D(929,1,{},BYt),F(ma,"JsonImporter/lambda$36$Type",929),D(926,1,Un,Azt),l.td=function(e){can(this.a,u(e,469))},F(ma,"JsonImporter/lambda$37$Type",926),D(927,1,Un,YGt),l.td=function(e){NXe(this.a,this.b,u(e,202))},F(ma,"JsonImporter/lambda$38$Type",927),D(928,1,Un,KGt),l.td=function(e){BXe(this.a,this.b,u(e,202))},F(ma,"JsonImporter/lambda$39$Type",928),D(894,1,{},Lzt),F(ma,"JsonImporter/lambda$4$Type",894),D(930,1,Un,Mzt),l.td=function(e){uan(this.a,u(e,8))},F(ma,"JsonImporter/lambda$40$Type",930),D(895,1,{},Dzt),F(ma,"JsonImporter/lambda$5$Type",895),D(899,1,{},Izt),F(ma,"JsonImporter/lambda$6$Type",899),D(897,1,{},Ozt),F(ma,"JsonImporter/lambda$7$Type",897),D(898,1,{},Pzt),F(ma,"JsonImporter/lambda$8$Type",898),D(901,1,{},Fzt),F(ma,"JsonImporter/lambda$9$Type",901),D(948,1,Un,Nzt),l.td=function(e){Vx(this.a,new Um(Br(e)))},F(ma,"JsonMetaDataConverter/lambda$0$Type",948),D(949,1,Un,Bzt),l.td=function(e){Cnn(this.a,u(e,237))},F(ma,"JsonMetaDataConverter/lambda$1$Type",949),D(950,1,Un,Rzt),l.td=function(e){kin(this.a,u(e,149))},F(ma,"JsonMetaDataConverter/lambda$2$Type",950),D(951,1,Un,jzt),l.td=function(e){_nn(this.a,u(e,175))},F(ma,"JsonMetaDataConverter/lambda$3$Type",951),D(237,22,{3:1,35:1,22:1,237:1},Px);var oU,cU,Dft,uU,lU,hU,Ift,Oft,fU=jr(qI,"GraphFeature",237,Hr,Yon,Xtn),e5e;D(13,1,{35:1,146:1},Vi,Ps,mn,eo),l.wd=function(e){return FQe(this,u(e,146))},l.Fb=function(e){return dQt(this,e)},l.wg=function(){return Ie(this)},l.tg=function(){return this.b},l.Hb=function(){return Vg(this.b)},l.Ib=function(){return this.b},F(qI,"Property",13),D(818,1,Oi,Ept),l.ue=function(e,n){return Jln(this,u(e,94),u(n,94))},l.Fb=function(e){return this===e},l.ve=function(){return new dt(this)},F(qI,"PropertyHolderComparator",818),D(695,1,sa,Tpt),l.Nb=function(e){ba(this,e)},l.Pb=function(){return uon(this)},l.Qb=function(){IHt()},l.Ob=function(){return!!this.a},F(DH,"ElkGraphUtil/AncestorIterator",695);var KAt=Ki(Ra,"EList");D(67,52,{20:1,28:1,52:1,14:1,15:1,67:1,58:1}),l.Vc=function(e,n){n_(this,e,n)},l.Fc=function(e){return Dr(this,e)},l.Wc=function(e,n){return Syt(this,e,n)},l.Gc=function(e){return is(this,e)},l.Zh=function(){return new Bx(this)},l.$h=function(){return new $M(this)},l._h=function(e){return DD(this,e)},l.ai=function(){return!0},l.bi=function(e,n){},l.ci=function(){},l.di=function(e,n){Yrt(this,e,n)},l.ei=function(e,n,r){},l.fi=function(e,n){},l.gi=function(e,n,r){},l.Fb=function(e){return Sue(this,e)},l.Hb=function(){return kyt(this)},l.hi=function(){return!1},l.Kc=function(){return new nr(this)},l.Yc=function(){return new Nx(this)},l.Zc=function(e){var n;if(n=this.gc(),e<0||e>n)throw it(new qm(e,n));return new Jnt(this,e)},l.ji=function(e,n){this.ii(e,this.Xc(n))},l.Mc=function(e){return X$(this,e)},l.li=function(e,n){return n},l._c=function(e,n){return h4(this,e,n)},l.Ib=function(){return g3t(this)},l.ni=function(){return!0},l.oi=function(e,n){return sE(this,n)},F(Ra,"AbstractEList",67),D(63,67,Ld,ox,Qw,gyt),l.Vh=function(e,n){return $st(this,e,n)},l.Wh=function(e){return Lse(this,e)},l.Xh=function(e,n){UD(this,e,n)},l.Yh=function(e){gD(this,e)},l.pi=function(e){return Fmt(this,e)},l.$b=function(){z9(this)},l.Hc=function(e){return yE(this,e)},l.Xb=function(e){return At(this,e)},l.qi=function(e){var n,r,s;++this.j,r=this.g==null?0:this.g.length,e>r&&(s=this.g,n=r+(r/2|0)+4,n=0?(this.$c(n),!0):!1},l.mi=function(e,n){return this.Ui(e,this.oi(e,n))},l.gc=function(){return this.Vi()},l.Pc=function(){return this.Wi()},l.Qc=function(e){return this.Xi(e)},l.Ib=function(){return this.Yi()},F(Ra,"DelegatingEList",1995),D(1996,1995,E0e),l.Vh=function(e,n){return sxt(this,e,n)},l.Wh=function(e){return this.Vh(this.Vi(),e)},l.Xh=function(e,n){fce(this,e,n)},l.Yh=function(e){rce(this,e)},l.ai=function(){return!this.bj()},l.$b=function(){A_(this)},l.Zi=function(e,n,r,s,o){return new pQt(this,e,n,r,s,o)},l.$i=function(e){mi(this.Ai(),e)},l._i=function(){return null},l.aj=function(){return-1},l.Ai=function(){return null},l.bj=function(){return!1},l.cj=function(e,n){return n},l.dj=function(e,n){return n},l.ej=function(){return!1},l.fj=function(){return!this.Ri()},l.ii=function(e,n){var r,s;return this.ej()?(s=this.fj(),r=B4t(this,e,n),this.$i(this.Zi(7,pe(n),r,e,s)),r):B4t(this,e,n)},l.$c=function(e){var n,r,s,o;return this.ej()?(r=null,s=this.fj(),n=this.Zi(4,o=Hj(this,e),null,e,s),this.bj()&&o?(r=this.dj(o,r),r?(r.Ei(n),r.Fi()):this.$i(n)):r?(r.Ei(n),r.Fi()):this.$i(n),o):(o=Hj(this,e),this.bj()&&o&&(r=this.dj(o,null),r&&r.Fi()),o)},l.mi=function(e,n){return yle(this,e,n)},F(L6,"DelegatingNotifyingListImpl",1996),D(143,1,nO),l.Ei=function(e){return T4t(this,e)},l.Fi=function(){rit(this)},l.xi=function(){return this.d},l._i=function(){return null},l.gj=function(){return null},l.yi=function(e){return-1},l.zi=function(){return aue(this)},l.Ai=function(){return null},l.Bi=function(){return $5t(this)},l.Ci=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},l.hj=function(){return!1},l.Di=function(e){var n,r,s,o,h,d,v,k,C,M,j;switch(this.d){case 1:case 2:switch(o=e.xi(),o){case 1:case 2:if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0}case 4:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null))return C=kxt(this),k=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,d=e.Ci(),this.d=6,j=new Qw(2),k<=d?(Dr(j,this.n),Dr(j,e.Bi()),this.g=lt(ct(Cr,1),Xr,25,15,[this.o=k,d+1])):(Dr(j,e.Bi()),Dr(j,this.n),this.g=lt(ct(Cr,1),Xr,25,15,[this.o=d,k])),this.n=j,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.Ai())&&this.yi(null)==e.yi(null)){for(C=kxt(this),d=e.Ci(),M=u(this.g,48),s=Nt(Cr,Xr,25,M.length+1,15,1),n=0;n>>0,n.toString(16))),s.a+=" (eventType: ",this.d){case 1:{s.a+="SET";break}case 2:{s.a+="UNSET";break}case 3:{s.a+="ADD";break}case 5:{s.a+="ADD_MANY";break}case 4:{s.a+="REMOVE";break}case 6:{s.a+="REMOVE_MANY";break}case 7:{s.a+="MOVE";break}case 8:{s.a+="REMOVING_ADAPTER";break}case 9:{s.a+="RESOLVE";break}default:{xet(s,this.d);break}}if(Yue(this)&&(s.a+=", touch: true"),s.a+=", position: ",xet(s,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),s.a+=", notifier: ",l9(s,this.Ai()),s.a+=", feature: ",l9(s,this._i()),s.a+=", oldValue: ",l9(s,$5t(this)),s.a+=", newValue: ",this.d==6&&_t(this.g,48)){for(r=u(this.g,48),s.a+="[",e=0;e10?((!this.b||this.c.j!=this.a)&&(this.b=new E9(this),this.a=this.j),I0(this.b,e)):yE(this,e)},l.ni=function(){return!0},l.a=0,F(Ra,"AbstractEList/1",953),D(295,73,bot,qm),F(Ra,"AbstractEList/BasicIndexOutOfBoundsException",295),D(40,1,sa,nr),l.Nb=function(e){ba(this,e)},l.mj=function(){if(this.i.j!=this.f)throw it(new rh)},l.nj=function(){return dr(this)},l.Ob=function(){return this.e!=this.i.gc()},l.Pb=function(){return this.nj()},l.Qb=function(){f_(this)},l.e=0,l.f=0,l.g=-1,F(Ra,"AbstractEList/EIterator",40),D(278,40,n0,Nx,Jnt),l.Qb=function(){f_(this)},l.Rb=function(e){Die(this,e)},l.oj=function(){var e;try{return e=this.d.Xb(--this.e),this.mj(),this.g=this.e,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.pj=function(e){Ise(this,e)},l.Sb=function(){return this.e!=0},l.Tb=function(){return this.e},l.Ub=function(){return this.oj()},l.Vb=function(){return this.e-1},l.Wb=function(e){this.pj(e)},F(Ra,"AbstractEList/EListIterator",278),D(341,40,sa,Bx),l.nj=function(){return dst(this)},l.Qb=function(){throw it(new Or)},F(Ra,"AbstractEList/NonResolvingEIterator",341),D(385,278,n0,$M,wwt),l.Rb=function(e){throw it(new Or)},l.nj=function(){var e;try{return e=this.c.ki(this.e),this.mj(),this.g=this.e++,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.oj=function(){var e;try{return e=this.c.ki(--this.e),this.mj(),this.g=this.e,e}catch(n){throw n=Wi(n),_t(n,73)?(this.mj(),it(new lc)):it(n)}},l.Qb=function(){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ra,"AbstractEList/NonResolvingEListIterator",385),D(1982,67,T0e),l.Vh=function(e,n){var r,s,o,h,d,v,k,C,M,j,H;if(o=n.gc(),o!=0){for(C=u(Dn(this.a,4),126),M=C==null?0:C.length,H=M+o,s=Fit(this,H),j=M-e,j>0&&Dc(C,e,s,e+o,j),k=n.Kc(),d=0;dr)throw it(new qm(e,r));return new _Xt(this,e)},l.$b=function(){var e,n;++this.j,e=u(Dn(this.a,4),126),n=e==null?0:e.length,bE(this,null),Yrt(this,n,e)},l.Hc=function(e){var n,r,s,o,h;if(n=u(Dn(this.a,4),126),n!=null){if(e!=null){for(s=n,o=0,h=s.length;o=r)throw it(new qm(e,r));return n[e]},l.Xc=function(e){var n,r,s;if(n=u(Dn(this.a,4),126),n!=null){if(e!=null){for(r=0,s=n.length;rr)throw it(new qm(e,r));return new CXt(this,e)},l.ii=function(e,n){var r,s,o;if(r=jie(this),o=r==null?0:r.length,e>=o)throw it(new yo(iut+e+D2+o));if(n>=o)throw it(new yo(sut+n+D2+o));return s=r[n],e!=n&&(e0&&Dc(e,0,n,0,r),n},l.Qc=function(e){var n,r,s;return n=u(Dn(this.a,4),126),s=n==null?0:n.length,s>0&&(e.lengths&&ts(e,s,null),e};var n5e;F(Ra,"ArrayDelegatingEList",1982),D(1038,40,sa,FJt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},l.Qb=function(){f_(this),this.a=u(Dn(this.b.a,4),126)},F(Ra,"ArrayDelegatingEList/EIterator",1038),D(706,278,n0,KKt,CXt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},l.pj=function(e){Ise(this,e),this.a=u(Dn(this.b.a,4),126)},l.Qb=function(){f_(this),this.a=u(Dn(this.b.a,4),126)},F(Ra,"ArrayDelegatingEList/EListIterator",706),D(1039,341,sa,NJt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},F(Ra,"ArrayDelegatingEList/NonResolvingEIterator",1039),D(707,385,n0,XKt,_Xt),l.mj=function(){if(this.b.j!=this.f||Vt(u(Dn(this.b.a,4),126))!==Vt(this.a))throw it(new rh)},F(Ra,"ArrayDelegatingEList/NonResolvingEListIterator",707),D(606,295,bot,nnt),F(Ra,"BasicEList/BasicIndexOutOfBoundsException",606),D(696,63,Ld,n2t),l.Vc=function(e,n){throw it(new Or)},l.Fc=function(e){throw it(new Or)},l.Wc=function(e,n){throw it(new Or)},l.Gc=function(e){throw it(new Or)},l.$b=function(){throw it(new Or)},l.qi=function(e){throw it(new Or)},l.Kc=function(){return this.Zh()},l.Yc=function(){return this.$h()},l.Zc=function(e){return this._h(e)},l.ii=function(e,n){throw it(new Or)},l.ji=function(e,n){throw it(new Or)},l.$c=function(e){throw it(new Or)},l.Mc=function(e){throw it(new Or)},l._c=function(e,n){throw it(new Or)},F(Ra,"BasicEList/UnmodifiableEList",696),D(705,1,{3:1,20:1,14:1,15:1,58:1,589:1}),l.Vc=function(e,n){CQe(this,e,u(n,42))},l.Fc=function(e){return hZe(this,u(e,42))},l.Jc=function(e){va(this,e)},l.Xb=function(e){return u(At(this.c,e),133)},l.ii=function(e,n){return u(this.c.ii(e,n),42)},l.ji=function(e,n){_Qe(this,e,u(n,42))},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return u(this.c.$c(e),42)},l._c=function(e,n){return mnn(this,e,u(n,42))},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.Wc=function(e,n){return this.c.Wc(e,n)},l.Gc=function(e){return this.c.Gc(e)},l.$b=function(){this.c.$b()},l.Hc=function(e){return this.c.Hc(e)},l.Ic=function(e){return ND(this.c,e)},l.qj=function(){var e,n,r;if(this.d==null){for(this.d=Nt(XAt,R8t,63,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)e=u(n.nj(),133),Jz(this,e);this.e=r}},l.Fb=function(e){return xYt(this,e)},l.Hb=function(){return kyt(this.c)},l.Xc=function(e){return this.c.Xc(e)},l.rj=function(){this.c=new zzt(this)},l.dc=function(){return this.f==0},l.Kc=function(){return this.c.Kc()},l.Yc=function(){return this.c.Yc()},l.Zc=function(e){return this.c.Zc(e)},l.sj=function(){return wD(this)},l.tj=function(e,n,r){return new RYt(e,n,r)},l.uj=function(){return new kp},l.Mc=function(e){return tne(this,e)},l.gc=function(){return this.f},l.bd=function(e,n){return new Qd(this.c,e,n)},l.Pc=function(){return this.c.Pc()},l.Qc=function(e){return this.c.Qc(e)},l.Ib=function(){return g3t(this.c)},l.e=0,l.f=0,F(Ra,"BasicEMap",705),D(1033,63,Ld,zzt),l.bi=function(e,n){cKe(this,u(n,133))},l.ei=function(e,n,r){var s;++(s=this,u(n,133),s).a.e},l.fi=function(e,n){uKe(this,u(n,133))},l.gi=function(e,n,r){ZQe(this,u(n,133),u(r,133))},l.di=function(e,n){Vne(this.a)},F(Ra,"BasicEMap/1",1033),D(1034,63,Ld,kp),l.ri=function(e){return Nt(y6n,C0e,612,e,0,1)},F(Ra,"BasicEMap/2",1034),D(1035,N1,zu,qzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return ist(this.a,e)},l.Kc=function(){return this.a.f==0?(y8(),pP.a):new EHt(this.a)},l.Mc=function(e){var n;return n=this.a.f,qz(this.a,e),this.a.f!=n},l.gc=function(){return this.a.f},F(Ra,"BasicEMap/3",1035),D(1036,28,xy,Hzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){return Aue(this.a,e)},l.Kc=function(){return this.a.f==0?(y8(),pP.a):new THt(this.a)},l.gc=function(){return this.a.f},F(Ra,"BasicEMap/4",1036),D(1037,N1,zu,Vzt),l.$b=function(){this.a.c.$b()},l.Hc=function(e){var n,r,s,o,h,d,v,k,C;if(this.a.f>0&&_t(e,42)&&(this.a.qj(),k=u(e,42),v=k.cd(),o=v==null?0:Hi(v),h=rwt(this.a,o),n=this.a.d[h],n)){for(r=u(n.g,367),C=n.i,d=0;d"+this.c},l.a=0;var y6n=F(Ra,"BasicEMap/EntryImpl",612);D(536,1,{},Ik),F(Ra,"BasicEMap/View",536);var pP;D(768,1,{}),l.Fb=function(e){return k5t((wn(),io),e)},l.Hb=function(){return Pyt((wn(),io))},l.Ib=function(){return eb((wn(),io))},F(Ra,"ECollections/BasicEmptyUnmodifiableEList",768),D(1312,1,n0,cB),l.Nb=function(e){ba(this,e)},l.Rb=function(e){throw it(new Or)},l.Ob=function(){return!1},l.Sb=function(){return!1},l.Pb=function(){throw it(new lc)},l.Tb=function(){return 0},l.Ub=function(){throw it(new lc)},l.Vb=function(){return-1},l.Qb=function(){throw it(new Or)},l.Wb=function(e){throw it(new Or)},F(Ra,"ECollections/BasicEmptyUnmodifiableEList/1",1312),D(1310,768,{20:1,14:1,15:1,58:1},Pqt),l.Vc=function(e,n){GHt()},l.Fc=function(e){return UHt()},l.Wc=function(e,n){return WHt()},l.Gc=function(e){return YHt()},l.$b=function(){KHt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){va(this,e)},l.Xb=function(e){return s2t((wn(),e)),null},l.Xc=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.Yc=function(){return this.a},l.Zc=function(e){return this.a},l.ii=function(e,n){return XHt()},l.ji=function(e,n){QHt()},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return ZHt()},l.Mc=function(e){return JHt()},l._c=function(e,n){return tVt()},l.gc=function(){return 0},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.bd=function(e,n){return wn(),new Qd(io,e,n)},l.Pc=function(){return svt((wn(),io))},l.Qc=function(e){return wn(),eI(io,e)},F(Ra,"ECollections/EmptyUnmodifiableEList",1310),D(1311,768,{20:1,14:1,15:1,58:1,589:1},Fqt),l.Vc=function(e,n){GHt()},l.Fc=function(e){return UHt()},l.Wc=function(e,n){return WHt()},l.Gc=function(e){return YHt()},l.$b=function(){KHt()},l.Hc=function(e){return!1},l.Ic=function(e){return!1},l.Jc=function(e){va(this,e)},l.Xb=function(e){return s2t((wn(),e)),null},l.Xc=function(e){return-1},l.dc=function(){return!0},l.Kc=function(){return this.a},l.Yc=function(){return this.a},l.Zc=function(e){return this.a},l.ii=function(e,n){return XHt()},l.ji=function(e,n){QHt()},l.Lc=function(){return new Tn(null,new _n(this,16))},l.$c=function(e){return ZHt()},l.Mc=function(e){return JHt()},l._c=function(e,n){return tVt()},l.gc=function(){return 0},l.ad=function(e){r4(this,e)},l.Nc=function(){return new _n(this,16)},l.Oc=function(){return new Tn(null,new _n(this,16))},l.bd=function(e,n){return wn(),new Qd(io,e,n)},l.Pc=function(){return svt((wn(),io))},l.Qc=function(e){return wn(),eI(io,e)},l.sj=function(){return wn(),wn(),u0},F(Ra,"ECollections/EmptyUnmodifiableEMap",1311);var ZAt=Ki(Ra,"Enumerator"),dU;D(281,1,{281:1},fat),l.Fb=function(e){var n;return this===e?!0:_t(e,281)?(n=u(e,281),this.f==n.f&&$en(this.i,n.i)&&jnt(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&jnt(this.d,n.d)&&jnt(this.g,n.g)&&jnt(this.e,n.e)&&Pfn(this,n)):!1},l.Hb=function(){return this.f},l.Ib=function(){return sle(this)},l.f=0;var r5e=0,i5e=0,s5e=0,a5e=0,JAt=0,tLt=0,eLt=0,nLt=0,rLt=0,o5e,oA=0,cA=0,c5e=0,u5e=0,gU,iLt;F(Ra,"URI",281),D(1091,43,A4,Nqt),l.zc=function(e,n){return u(ko(this,Br(e),u(n,281)),281)},F(Ra,"URI/URICache",1091),D(497,63,Ld,Ok,Gj),l.hi=function(){return!0},F(Ra,"UniqueEList",497),D(581,60,Q0,W$),F(Ra,"WrappedException",581);var Zr=Ki(ph,A0e),t3=Ki(ph,L0e),Mu=Ki(ph,M0e),e3=Ki(ph,D0e),s1=Ki(ph,I0e),Uh=Ki(ph,"EClass"),Nft=Ki(ph,"EDataType"),l5e;D(1183,43,A4,Bqt),l.xc=function(e){return ra(e)?Nc(this,e):ec(Lo(this.f,e))},F(ph,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1183);var pU=Ki(ph,"EEnum"),ag=Ki(ph,O0e),ho=Ki(ph,P0e),Wh=Ki(ph,F0e),Yh,Vv=Ki(ph,N0e),n3=Ki(ph,B0e);D(1029,1,{},nJ),l.Ib=function(){return"NIL"},F(ph,"EStructuralFeature/Internal/DynamicValueHolder/1",1029);var h5e;D(1028,43,A4,Rqt),l.xc=function(e){return ra(e)?Nc(this,e):ec(Lo(this.f,e))},F(ph,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1028);var hu=Ki(ph,R0e),Z6=Ki(ph,"EValidator/PatternMatcher"),sLt,aLt,Ln,ap,r3,Lb,f5e,d5e,g5e,Mb,op,Db,Gv,W1,p5e,b5e,Kh,cp,w5e,up,i3,l5,Qa,v5e,m5e,Uv,bU=Ki($i,"FeatureMap/Entry");D(535,1,{72:1},lj),l.ak=function(){return this.a},l.dd=function(){return this.b},F(Mn,"BasicEObjectImpl/1",535),D(1027,1,hut,XGt),l.Wj=function(e){return Urt(this.a,this.b,e)},l.fj=function(){return MQt(this.a,this.b)},l.Wb=function(e){zvt(this.a,this.b,e)},l.Xj=function(){Nnn(this.a,this.b)},F(Mn,"BasicEObjectImpl/4",1027),D(1983,1,{108:1}),l.bk=function(e){this.e=e==0?y5e:Nt(Qn,De,1,e,5,1)},l.Ch=function(e){return this.e[e]},l.Dh=function(e,n){this.e[e]=n},l.Eh=function(e){this.e[e]=null},l.ck=function(){return this.c},l.dk=function(){throw it(new Or)},l.ek=function(){throw it(new Or)},l.fk=function(){return this.d},l.gk=function(){return this.e!=null},l.hk=function(e){this.c=e},l.ik=function(e){throw it(new Or)},l.jk=function(e){throw it(new Or)},l.kk=function(e){this.d=e};var y5e;F(Mn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",1983),D(185,1983,{108:1},nh),l.dk=function(){return this.a},l.ek=function(){return this.b},l.ik=function(e){this.a=e},l.jk=function(e){this.b=e},F(Mn,"BasicEObjectImpl/EPropertiesHolderImpl",185),D(506,97,jde,Pk),l.Kg=function(){return this.f},l.Pg=function(){return this.k},l.Rg=function(e,n){this.g=e,this.i=n},l.Tg=function(){return this.j&2?this.ph().ck():this.zh()},l.Vg=function(){return this.i},l.Mg=function(){return(this.j&1)!=0},l.eh=function(){return this.g},l.kh=function(){return(this.j&4)!=0},l.ph=function(){return!this.k&&(this.k=new nh),this.k},l.th=function(e){this.ph().hk(e),e?this.j|=2:this.j&=-3},l.vh=function(e){this.ph().jk(e),e?this.j|=4:this.j&=-5},l.zh=function(){return(Hp(),Ln).S},l.i=0,l.j=1,F(Mn,"EObjectImpl",506),D(780,506,{105:1,92:1,90:1,56:1,108:1,49:1,97:1},zwt),l.Ch=function(e){return this.e[e]},l.Dh=function(e,n){this.e[e]=n},l.Eh=function(e){this.e[e]=null},l.Tg=function(){return this.d},l.Yg=function(e){return Gi(this.d,e)},l.$g=function(){return this.d},l.dh=function(){return this.e!=null},l.ph=function(){return!this.k&&(this.k=new uB),this.k},l.th=function(e){this.d=e},l.yh=function(){var e;return this.e==null&&(e=Jn(this.d),this.e=e==0?x5e:Nt(Qn,De,1,e,5,1)),this},l.Ah=function(){return 0};var x5e;F(Mn,"DynamicEObjectImpl",780),D(1376,780,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1},hKt),l.Fb=function(e){return this===e},l.Hb=function(){return Pw(this)},l.th=function(e){this.d=e,this.b=mI(e,"key"),this.c=mI(e,Z_)},l.Sh=function(){var e;return this.a==-1&&(e=iit(this,this.b),this.a=e==null?0:Hi(e)),this.a},l.cd=function(){return iit(this,this.b)},l.dd=function(){return iit(this,this.c)},l.Th=function(e){this.a=e},l.Uh=function(e){zvt(this,this.b,e)},l.ed=function(e){var n;return n=iit(this,this.c),zvt(this,this.c,e),n},l.a=0,F(Mn,"DynamicEObjectImpl/BasicEMapEntry",1376),D(1377,1,{108:1},uB),l.bk=function(e){throw it(new Or)},l.Ch=function(e){throw it(new Or)},l.Dh=function(e,n){throw it(new Or)},l.Eh=function(e){throw it(new Or)},l.ck=function(){throw it(new Or)},l.dk=function(){return this.a},l.ek=function(){return this.b},l.fk=function(){return this.c},l.gk=function(){throw it(new Or)},l.hk=function(e){throw it(new Or)},l.ik=function(e){this.a=e},l.jk=function(e){this.b=e},l.kk=function(e){this.c=e},F(Mn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1377),D(510,150,{105:1,92:1,90:1,590:1,147:1,56:1,108:1,49:1,97:1,510:1,150:1,114:1,115:1},lB),l.Qg=function(e){return a4t(this,e)},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new kl((dn(),Qa),cc,this)),this.b):(!this.b&&(this.b=new kl((dn(),Qa),cc,this)),wD(this.b));case 3:return FQt(this);case 4:return!this.a&&(this.a=new As(_b,this,4)),this.a;case 5:return!this.c&&(this.c=new Y3(_b,this,5)),this.c}return uh(this,e-Jn((dn(),ap)),yn((s=u(Dn(this,16),26),s||ap),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?a4t(this,r):this.Cb.ih(this,-1-o,null,r))),rvt(this,u(e,147),r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),ap)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),ap)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 2:return!this.b&&(this.b=new kl((dn(),Qa),cc,this)),Oj(this.b,e,r);case 3:return rvt(this,null,r);case 4:return!this.a&&(this.a=new As(_b,this,4)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),ap)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),ap)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!FQt(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return oh(this,e-Jn((dn(),ap)),yn((n=u(Dn(this,16),26),n||ap),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Cen(this,Br(n));return;case 2:!this.b&&(this.b=new kl((dn(),Qa),cc,this)),xz(this.b,n);return;case 3:Kce(this,u(n,147));return;case 4:!this.a&&(this.a=new As(_b,this,4)),xr(this.a),!this.a&&(this.a=new As(_b,this,4)),is(this.a,u(n,14));return;case 5:!this.c&&(this.c=new Y3(_b,this,5)),xr(this.c),!this.c&&(this.c=new Y3(_b,this,5)),is(this.c,u(n,14));return}gh(this,e-Jn((dn(),ap)),yn((r=u(Dn(this,16),26),r||ap),e),n)},l.zh=function(){return dn(),ap},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:oyt(this,null);return;case 2:!this.b&&(this.b=new kl((dn(),Qa),cc,this)),this.b.c.$b();return;case 3:Kce(this,null);return;case 4:!this.a&&(this.a=new As(_b,this,4)),xr(this.a);return;case 5:!this.c&&(this.c=new Y3(_b,this,5)),xr(this.c);return}fh(this,e-Jn((dn(),ap)),yn((n=u(Dn(this,16),26),n||ap),e))},l.Ib=function(){return lie(this)},l.d=null,F(Mn,"EAnnotationImpl",510),D(151,705,j8t,_l),l.Xh=function(e,n){oQe(this,e,u(n,42))},l.lk=function(e,n){return eJe(this,u(e,42),n)},l.pi=function(e){return u(u(this.c,69).pi(e),133)},l.Zh=function(){return u(this.c,69).Zh()},l.$h=function(){return u(this.c,69).$h()},l._h=function(e){return u(this.c,69)._h(e)},l.mk=function(e,n){return Oj(this,e,n)},l.Wj=function(e){return u(this.c,76).Wj(e)},l.rj=function(){},l.fj=function(){return u(this.c,76).fj()},l.tj=function(e,n,r){var s;return s=u(Rl(this.b).Nh().Jh(this.b),133),s.Th(e),s.Uh(n),s.ed(r),s},l.uj=function(){return new _pt(this)},l.Wb=function(e){xz(this,e)},l.Xj=function(){u(this.c,76).Xj()},F($i,"EcoreEMap",151),D(158,151,j8t,kl),l.qj=function(){var e,n,r,s,o,h;if(this.d==null){for(h=Nt(XAt,R8t,63,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=u(r.nj(),133),s=n.Sh(),o=(s&wi)%h.length,e=h[o],!e&&(e=h[o]=new _pt(this)),e.Fc(n);this.d=h}},F(Mn,"EAnnotationImpl/1",158),D(284,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,472:1,49:1,97:1,150:1,284:1,114:1,115:1}),l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!this.$j();case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0)}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:this.Lh(Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:this.ok(u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),m5e},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:this.Lh(null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.ok(1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){Dh(this),this.Bb|=1},l.Yj=function(){return Dh(this)},l.Zj=function(){return this.t},l.$j=function(){var e;return e=this.t,e>1||e==-1},l.hi=function(){return(this.Bb&512)!=0},l.nk=function(e,n){return e3t(this,e,n)},l.ok=function(e){ry(this,e)},l.Ib=function(){return f5t(this)},l.s=0,l.t=1,F(Mn,"ETypedElementImpl",284),D(449,284,{105:1,92:1,90:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,449:1,284:1,114:1,115:1,677:1}),l.Qg=function(e){return Use(this,e)},l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!this.$j();case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this)}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?Use(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,17,r)}return h=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),h.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 17:return Hl(this,null,17,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.$j();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this)}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:this.ok(u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),v5e},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.ok(1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.Gh=function(){M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.Gj=function(){return this.f},l.zj=function(){return SE(this)},l.Hj=function(){return Ym(this)},l.Lj=function(){return null},l.pk=function(){return this.k},l.aj=function(){return this.n},l.Mj=function(){return cq(this)},l.Nj=function(){var e,n,r,s,o,h,d,v,k;return this.p||(r=Ym(this),(r.i==null&&vd(r),r.i).length,s=this.Lj(),s&&Jn(Ym(s)),o=Dh(this),d=o.Bj(),e=d?d.i&1?d==pl?Rs:d==Cr?ja:d==a3?i7:d==aa?la:d==Ob?Sv:d==g5?Av:d==Gu?M6:uS:d:null,n=SE(this),v=o.zj(),shn(this),this.Bb&md&&((h=d4t(($u(),ya),r))&&h!=this||(h=Kx(To(ya,this))))?this.p=new ZGt(this,h):this.$j()?this.rk()?s?this.Bb&Hu?e?this.sk()?this.p=new n2(47,e,this,s):this.p=new n2(5,e,this,s):this.sk()?this.p=new s2(46,this,s):this.p=new s2(4,this,s):e?this.sk()?this.p=new n2(49,e,this,s):this.p=new n2(7,e,this,s):this.sk()?this.p=new s2(48,this,s):this.p=new s2(6,this,s):this.Bb&Hu?e?e==P2?this.p=new Ig(50,t5e,this):this.sk()?this.p=new Ig(43,e,this):this.p=new Ig(1,e,this):this.sk()?this.p=new Pg(42,this):this.p=new Pg(0,this):e?e==P2?this.p=new Ig(41,t5e,this):this.sk()?this.p=new Ig(45,e,this):this.p=new Ig(3,e,this):this.sk()?this.p=new Pg(44,this):this.p=new Pg(2,this):_t(o,148)?e==bU?this.p=new Pg(40,this):this.Bb&512?this.Bb&Hu?e?this.p=new Ig(9,e,this):this.p=new Pg(8,this):e?this.p=new Ig(11,e,this):this.p=new Pg(10,this):this.Bb&Hu?e?this.p=new Ig(13,e,this):this.p=new Pg(12,this):e?this.p=new Ig(15,e,this):this.p=new Pg(14,this):s?(k=s.t,k>1||k==-1?this.sk()?this.Bb&Hu?e?this.p=new n2(25,e,this,s):this.p=new s2(24,this,s):e?this.p=new n2(27,e,this,s):this.p=new s2(26,this,s):this.Bb&Hu?e?this.p=new n2(29,e,this,s):this.p=new s2(28,this,s):e?this.p=new n2(31,e,this,s):this.p=new s2(30,this,s):this.sk()?this.Bb&Hu?e?this.p=new n2(33,e,this,s):this.p=new s2(32,this,s):e?this.p=new n2(35,e,this,s):this.p=new s2(34,this,s):this.Bb&Hu?e?this.p=new n2(37,e,this,s):this.p=new s2(36,this,s):e?this.p=new n2(39,e,this,s):this.p=new s2(38,this,s)):this.sk()?this.Bb&Hu?e?this.p=new Ig(17,e,this):this.p=new Pg(16,this):e?this.p=new Ig(19,e,this):this.p=new Pg(18,this):this.Bb&Hu?e?this.p=new Ig(21,e,this):this.p=new Pg(20,this):e?this.p=new Ig(23,e,this):this.p=new Pg(22,this):this.qk()?this.sk()?this.p=new jYt(u(o,26),this,s):this.p=new $vt(u(o,26),this,s):_t(o,148)?e==bU?this.p=new Pg(40,this):this.Bb&Hu?e?this.p=new BKt(n,v,this,(rst(),d==Cr?dLt:d==pl?cLt:d==Ob?gLt:d==a3?fLt:d==aa?hLt:d==g5?pLt:d==Gu?uLt:d==xh?lLt:jft)):this.p=new KXt(u(o,148),n,v,this):e?this.p=new NKt(n,v,this,(rst(),d==Cr?dLt:d==pl?cLt:d==Ob?gLt:d==a3?fLt:d==aa?hLt:d==g5?pLt:d==Gu?uLt:d==xh?lLt:jft)):this.p=new YXt(u(o,148),n,v,this):this.rk()?s?this.Bb&Hu?this.sk()?this.p=new zYt(u(o,26),this,s):this.p=new Dwt(u(o,26),this,s):this.sk()?this.p=new $Yt(u(o,26),this,s):this.p=new Int(u(o,26),this,s):this.Bb&Hu?this.sk()?this.p=new NWt(u(o,26),this):this.p=new G2t(u(o,26),this):this.sk()?this.p=new FWt(u(o,26),this):this.p=new vnt(u(o,26),this):this.sk()?s?this.Bb&Hu?this.p=new qYt(u(o,26),this,s):this.p=new Lwt(u(o,26),this,s):this.Bb&Hu?this.p=new BWt(u(o,26),this):this.p=new U2t(u(o,26),this):s?this.Bb&Hu?this.p=new HYt(u(o,26),this,s):this.p=new Mwt(u(o,26),this,s):this.Bb&Hu?this.p=new RWt(u(o,26),this):this.p=new Uj(u(o,26),this)),this.p},l.Ij=function(){return(this.Bb&xf)!=0},l.qk=function(){return!1},l.rk=function(){return!1},l.Jj=function(){return(this.Bb&md)!=0},l.Oj=function(){return ait(this)},l.sk=function(){return!1},l.Kj=function(){return(this.Bb&Hu)!=0},l.tk=function(e){this.k=e},l.Lh=function(e){Mrt(this,e)},l.Ib=function(){return _q(this)},l.e=!1,l.n=0,F(Mn,"EStructuralFeatureImpl",449),D(322,449,{105:1,92:1,90:1,34:1,147:1,191:1,56:1,170:1,66:1,108:1,472:1,49:1,97:1,322:1,150:1,449:1,284:1,114:1,115:1,677:1},ret),l._g=function(e,n,r){var s,o;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),!!c5t(this);case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this);case 18:return Nn(),!!(this.Bb&dc);case 19:return n?Tit(this):KJt(this)}return uh(this,e-Jn((dn(),r3)),yn((s=u(Dn(this,16),26),s||r3),e),n,r)},l.lh=function(e){var n,r;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return c5t(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this);case 18:return(this.Bb&dc)!=0;case 19:return!!KJt(this)}return oh(this,e-Jn((dn(),r3)),yn((n=u(Dn(this,16),26),n||r3),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:SHt(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return;case 18:Kit(this,je(Re(n)));return}gh(this,e-Jn((dn(),r3)),yn((r=u(Dn(this,16),26),r||r3),e),n)},l.zh=function(){return dn(),r3},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:this.b=0,ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return;case 18:Kit(this,!1);return}fh(this,e-Jn((dn(),r3)),yn((n=u(Dn(this,16),26),n||r3),e))},l.Gh=function(){Tit(this),M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.$j=function(){return c5t(this)},l.nk=function(e,n){return this.b=0,this.a=null,e3t(this,e,n)},l.ok=function(e){SHt(this,e)},l.Ib=function(){var e;return this.Db&64?_q(this):(e=new _h(_q(this)),e.a+=" (iD: ",Lg(e,(this.Bb&dc)!=0),e.a+=")",e.a)},l.b=0,F(Mn,"EAttributeImpl",322),D(351,438,{105:1,92:1,90:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,351:1,150:1,114:1,115:1,676:1}),l.uk=function(e){return e.Tg()==this},l.Qg=function(e){return Lst(this,e)},l.Rg=function(e,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=e},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return hv(this);case 4:return this.zj();case 5:return this.F;case 6:return n?Rl(this):O8(this);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),this.A}return uh(this,e-Jn(this.zh()),yn((s=u(Dn(this,16),26),s||this.zh()),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r)}return h=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),h.Nj().Qj(this,su(this),n-Jn(this.zh()),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||this.zh()),n),66),o.Nj().Rj(this,su(this),n-Jn(this.zh()),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return this.zj()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0}return oh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return}gh(this,e-Jn(this.zh()),yn((r=u(Dn(this,16),26),r||this.zh()),e),n)},l.zh=function(){return dn(),f5e},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return}fh(this,e-Jn(this.zh()),yn((n=u(Dn(this,16),26),n||this.zh()),e))},l.yj=function(){var e;return this.G==-1&&(this.G=(e=Rl(this),e?Hg(e.Mh(),this):-1)),this.G},l.zj=function(){return null},l.Aj=function(){return Rl(this)},l.vk=function(){return this.v},l.Bj=function(){return hv(this)},l.Cj=function(){return this.D!=null?this.D:this.B},l.Dj=function(){return this.F},l.wj=function(e){return xat(this,e)},l.wk=function(e){this.v=e},l.xk=function(e){Cne(this,e)},l.yk=function(e){this.C=e},l.Lh=function(e){_$(this,e)},l.Ib=function(){return Rz(this)},l.C=null,l.D=null,l.G=-1,F(Mn,"EClassifierImpl",351),D(88,351,{105:1,92:1,90:1,26:1,138:1,147:1,191:1,56:1,108:1,49:1,97:1,88:1,351:1,150:1,473:1,114:1,115:1,676:1},eM),l.uk=function(e){return zZe(this,e.Tg())},l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return hv(this);case 4:return null;case 5:return this.F;case 6:return n?Rl(this):O8(this);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),this.A;case 8:return Nn(),!!(this.Bb&256);case 9:return Nn(),!!(this.Bb&512);case 10:return Ao(this);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),this.q;case 12:return T4(this);case 13:return C_(this);case 14:return C_(this),this.r;case 15:return T4(this),this.k;case 16:return Z4t(this);case 17:return _at(this);case 18:return vd(this);case 19:return mq(this);case 20:return T4(this),this.o;case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),this.s;case 22:return Lc(this);case 23:return hat(this)}return uh(this,e-Jn((dn(),Lb)),yn((s=u(Dn(this,16),26),s||Lb),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),Zc(this.q,e,r);case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),Zc(this.s,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),Lb)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),Lb)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r);case 11:return!this.q&&(this.q=new fe(Wh,this,11,10)),Ba(this.q,e,r);case 21:return!this.s&&(this.s=new fe(Mu,this,21,17)),Ba(this.s,e,r);case 22:return Ba(Lc(this),e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Lb)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Lb)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&Lc(this.u.a).i!=0&&!(this.n&&vst(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return T4(this).i!=0;case 13:return C_(this).i!=0;case 14:return C_(this),this.r.i!=0;case 15:return T4(this),this.k.i!=0;case 16:return Z4t(this).i!=0;case 17:return _at(this).i!=0;case 18:return vd(this).i!=0;case 19:return mq(this).i!=0;case 20:return T4(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&vst(this.n);case 23:return hat(this).i!=0}return oh(this,e-Jn((dn(),Lb)),yn((n=u(Dn(this,16),26),n||Lb),e))},l.oh=function(e){var n;return n=this.i==null||this.q&&this.q.i!=0?null:mI(this,e),n||Lxt(this,e)},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return;case 8:r3t(this,je(Re(n)));return;case 9:i3t(this,je(Re(n)));return;case 10:A_(Ao(this)),is(Ao(this),u(n,14));return;case 11:!this.q&&(this.q=new fe(Wh,this,11,10)),xr(this.q),!this.q&&(this.q=new fe(Wh,this,11,10)),is(this.q,u(n,14));return;case 21:!this.s&&(this.s=new fe(Mu,this,21,17)),xr(this.s),!this.s&&(this.s=new fe(Mu,this,21,17)),is(this.s,u(n,14));return;case 22:xr(Lc(this)),is(Lc(this),u(n,14));return}gh(this,e-Jn((dn(),Lb)),yn((r=u(Dn(this,16),26),r||Lb),e),n)},l.zh=function(){return dn(),Lb},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return;case 8:r3t(this,!1);return;case 9:i3t(this,!1);return;case 10:this.u&&A_(this.u);return;case 11:!this.q&&(this.q=new fe(Wh,this,11,10)),xr(this.q);return;case 21:!this.s&&(this.s=new fe(Mu,this,21,17)),xr(this.s);return;case 22:this.n&&xr(this.n);return}fh(this,e-Jn((dn(),Lb)),yn((n=u(Dn(this,16),26),n||Lb),e))},l.Gh=function(){var e,n;if(T4(this),C_(this),Z4t(this),_at(this),vd(this),mq(this),hat(this),z9(ien(sl(this))),this.s)for(e=0,n=this.s.i;e=0;--n)At(this,n);return _3t(this,e)},l.Xj=function(){xr(this)},l.oi=function(e,n){return Yee(this,e,n)},F($i,"EcoreEList",622),D(496,622,zo,ZM),l.ai=function(){return!1},l.aj=function(){return this.c},l.bj=function(){return!1},l.Fk=function(){return!0},l.hi=function(){return!0},l.li=function(e,n){return n},l.ni=function(){return!1},l.c=0,F($i,"EObjectEList",496),D(85,496,zo,As),l.bj=function(){return!0},l.Dk=function(){return!1},l.rk=function(){return!0},F($i,"EObjectContainmentEList",85),D(545,85,zo,kj),l.ci=function(){this.b=!0},l.fj=function(){return this.b},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.b,this.b=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.b=!1},l.b=!1,F($i,"EObjectContainmentEList/Unsettable",545),D(1140,545,zo,PKt),l.ii=function(e,n){var r,s;return r=u(r_(this,e,n),87),xl(this.e)&&n8(this,new mD(this.a,7,(dn(),d5e),pe(n),(s=r.c,_t(s,88)?u(s,26):Kh),e)),r},l.jj=function(e,n){return Uhn(this,u(e,87),n)},l.kj=function(e,n){return Ghn(this,u(e,87),n)},l.lj=function(e,n,r){return Wdn(this,u(e,87),u(n,87),r)},l.Zi=function(e,n,r,s,o){switch(e){case 3:return F9(this,e,n,r,s,this.i>1);case 5:return F9(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new z0(this.e,e,this.c,n,r,s,!0)}},l.ij=function(){return!0},l.fj=function(){return vst(this)},l.Xj=function(){xr(this)},F(Mn,"EClassImpl/1",1140),D(1154,1153,B8t),l.ui=function(e){var n,r,s,o,h,d,v;if(r=e.xi(),r!=8){if(s=Lfn(e),s==0)switch(r){case 1:case 9:{v=e.Bi(),v!=null&&(n=sl(u(v,473)),!n.c&&(n.c=new Tm),X$(n.c,e.Ai())),d=e.zi(),d!=null&&(o=u(d,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26))));break}case 3:{d=e.zi(),d!=null&&(o=u(d,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26))));break}case 5:{if(d=e.zi(),d!=null)for(h=u(d,14).Kc();h.Ob();)o=u(h.Pb(),473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),Dr(n.c,u(e.Ai(),26)));break}case 4:{v=e.Bi(),v!=null&&(o=u(v,473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),X$(n.c,e.Ai())));break}case 6:{if(v=e.Bi(),v!=null)for(h=u(v,14).Kc();h.Ob();)o=u(h.Pb(),473),o.Bb&1||(n=sl(o),!n.c&&(n.c=new Tm),X$(n.c,e.Ai()));break}}this.Hk(s)}},l.Hk=function(e){Oue(this,e)},l.b=63,F(Mn,"ESuperAdapter",1154),D(1155,1154,B8t,Uzt),l.Hk=function(e){gy(this,e)},F(Mn,"EClassImpl/10",1155),D(1144,696,zo),l.Vh=function(e,n){return $st(this,e,n)},l.Wh=function(e){return Lse(this,e)},l.Xh=function(e,n){UD(this,e,n)},l.Yh=function(e){gD(this,e)},l.pi=function(e){return Fmt(this,e)},l.mi=function(e,n){return sit(this,e,n)},l.lk=function(e,n){throw it(new Or)},l.Zh=function(){return new Bx(this)},l.$h=function(){return new $M(this)},l._h=function(e){return DD(this,e)},l.mk=function(e,n){throw it(new Or)},l.Wj=function(e){return this},l.fj=function(){return this.i!=0},l.Wb=function(e){throw it(new Or)},l.Xj=function(){throw it(new Or)},F($i,"EcoreEList/UnmodifiableEList",1144),D(319,1144,zo,V3),l.ni=function(){return!1},F($i,"EcoreEList/UnmodifiableEList/FastCompare",319),D(1147,319,zo,wre),l.Xc=function(e){var n,r,s;if(_t(e,170)&&(n=u(e,170),r=n.aj(),r!=-1)){for(s=this.i;r4)if(this.wj(e)){if(this.rk()){if(s=u(e,49),r=s.Ug(),v=r==this.b&&(this.Dk()?s.Og(s.Vg(),u(yn(vu(this.b),this.aj()).Yj(),26).Bj())==no(u(yn(vu(this.b),this.aj()),18)).n:-1-s.Vg()==this.aj()),this.Ek()&&!v&&!r&&s.Zg()){for(o=0;o1||s==-1)):!1},l.Dk=function(){var e,n,r;return n=yn(vu(this.b),this.aj()),_t(n,99)?(e=u(n,18),r=no(e),!!r):!1},l.Ek=function(){var e,n;return n=yn(vu(this.b),this.aj()),_t(n,99)?(e=u(n,18),(e.Bb&Ka)!=0):!1},l.Xc=function(e){var n,r,s,o;if(s=this.Qi(e),s>=0)return s;if(this.Fk()){for(r=0,o=this.Vi();r=0;--e)AI(this,e,this.Oi(e));return this.Wi()},l.Qc=function(e){var n;if(this.Ek())for(n=this.Vi()-1;n>=0;--n)AI(this,n,this.Oi(n));return this.Xi(e)},l.Xj=function(){A_(this)},l.oi=function(e,n){return Ite(this,e,n)},F($i,"DelegatingEcoreEList",742),D(1150,742,z8t,KWt),l.Hi=function(e,n){pZe(this,e,u(n,26))},l.Ii=function(e){uQe(this,u(e,26))},l.Oi=function(e){var n,r;return n=u(At(Lc(this.a),e),87),r=n.c,_t(r,88)?u(r,26):(dn(),Kh)},l.Ti=function(e){var n,r;return n=u(by(Lc(this.a),e),87),r=n.c,_t(r,88)?u(r,26):(dn(),Kh)},l.Ui=function(e,n){return b1n(this,e,u(n,26))},l.ai=function(){return!1},l.Zi=function(e,n,r,s,o){return null},l.Ji=function(){return new Yzt(this)},l.Ki=function(){xr(Lc(this.a))},l.Li=function(e){return cie(this,e)},l.Mi=function(e){var n,r;for(r=e.Kc();r.Ob();)if(n=r.Pb(),!cie(this,n))return!1;return!0},l.Ni=function(e){var n,r,s;if(_t(e,15)&&(s=u(e,15),s.gc()==Lc(this.a).i)){for(n=s.Kc(),r=new nr(this);n.Ob();)if(Vt(n.Pb())!==Vt(dr(r)))return!1;return!0}return!1},l.Pi=function(){var e,n,r,s,o;for(r=1,n=new nr(Lc(this.a));n.e!=n.i.gc();)e=u(dr(n),87),s=(o=e.c,_t(o,88)?u(o,26):(dn(),Kh)),r=31*r+(s?Pw(s):0);return r},l.Qi=function(e){var n,r,s,o;for(s=0,r=new nr(Lc(this.a));r.e!=r.i.gc();){if(n=u(dr(r),87),Vt(e)===Vt((o=n.c,_t(o,88)?u(o,26):(dn(),Kh))))return s;++s}return-1},l.Ri=function(){return Lc(this.a).i==0},l.Si=function(){return null},l.Vi=function(){return Lc(this.a).i},l.Wi=function(){var e,n,r,s,o,h;for(h=Lc(this.a).i,o=Nt(Qn,De,1,h,5,1),r=0,n=new nr(Lc(this.a));n.e!=n.i.gc();)e=u(dr(n),87),o[r++]=(s=e.c,_t(s,88)?u(s,26):(dn(),Kh));return o},l.Xi=function(e){var n,r,s,o,h,d,v;for(v=Lc(this.a).i,e.lengthv&&ts(e,v,null),s=0,r=new nr(Lc(this.a));r.e!=r.i.gc();)n=u(dr(r),87),h=(d=n.c,_t(d,88)?u(d,26):(dn(),Kh)),ts(e,s++,h);return e},l.Yi=function(){var e,n,r,s,o;for(o=new Ag,o.a+="[",e=Lc(this.a),n=0,s=Lc(this.a).i;n>16,o>=0?Lst(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,6,r);case 9:return!this.a&&(this.a=new fe(ag,this,9,5)),Zc(this.a,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),Mb)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),Mb)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 6:return Hl(this,null,6,r);case 7:return!this.A&&(this.A=new Fu(hu,this,7)),Ba(this.A,e,r);case 9:return!this.a&&(this.a=new fe(ag,this,9,5)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Mb)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Mb)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!hv(this);case 4:return!!Hyt(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!O8(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),Mb)),yn((n=u(Dn(this,16),26),n||Mb),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:_$(this,Br(n));return;case 2:snt(this,Br(n));return;case 5:OE(this,Br(n));return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A),!this.A&&(this.A=new Fu(hu,this,7)),is(this.A,u(n,14));return;case 8:Iz(this,je(Re(n)));return;case 9:!this.a&&(this.a=new fe(ag,this,9,5)),xr(this.a),!this.a&&(this.a=new fe(ag,this,9,5)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),Mb)),yn((r=u(Dn(this,16),26),r||Mb),e),n)},l.zh=function(){return dn(),Mb},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,179)&&(u(this.Cb,179).tb=null),Qc(this,null);return;case 2:aE(this,null),Y8(this,this.D);return;case 5:OE(this,null);return;case 7:!this.A&&(this.A=new Fu(hu,this,7)),xr(this.A);return;case 8:Iz(this,!0);return;case 9:!this.a&&(this.a=new fe(ag,this,9,5)),xr(this.a);return}fh(this,e-Jn((dn(),Mb)),yn((n=u(Dn(this,16),26),n||Mb),e))},l.Gh=function(){var e,n;if(this.a)for(e=0,n=this.a.i;e>16==5?u(this.Cb,671):null}return uh(this,e-Jn((dn(),op)),yn((s=u(Dn(this,16),26),s||op),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?tae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,5,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),op)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),op)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 5:return Hl(this,null,5,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),op)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),op)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&u(this.Cb,671))}return oh(this,e-Jn((dn(),op)),yn((n=u(Dn(this,16),26),n||op),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:hit(this,u(n,19).a);return;case 3:Koe(this,u(n,1940));return;case 4:dit(this,Br(n));return}gh(this,e-Jn((dn(),op)),yn((r=u(Dn(this,16),26),r||op),e),n)},l.zh=function(){return dn(),op},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:hit(this,0);return;case 3:Koe(this,null);return;case 4:dit(this,null);return}fh(this,e-Jn((dn(),op)),yn((n=u(Dn(this,16),26),n||op),e))},l.Ib=function(){var e;return e=this.c,e??this.zb},l.b=null,l.c=null,l.d=0,F(Mn,"EEnumLiteralImpl",573);var x6n=Ki(Mn,"EFactoryImpl/InternalEDateTimeFormat");D(489,1,{2015:1},fM),F(Mn,"EFactoryImpl/1ClientInternalEDateTimeFormat",489),D(241,115,{105:1,92:1,90:1,87:1,56:1,108:1,49:1,97:1,241:1,114:1,115:1},xw),l.Sg=function(e,n,r){var s;return r=Hl(this,e,n,r),this.e&&_t(e,170)&&(s=vq(this,this.e),s!=this.c&&(r=PE(this,s,r))),r},l._g=function(e,n,r){var s;switch(e){case 0:return this.f;case 1:return!this.d&&(this.d=new As(ho,this,1)),this.d;case 2:return n?Lq(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?xst(this):this.a}return uh(this,e-Jn((dn(),Gv)),yn((s=u(Dn(this,16),26),s||Gv),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return Zre(this,null,r);case 1:return!this.d&&(this.d=new As(ho,this,1)),Ba(this.d,e,r);case 3:return Qre(this,null,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Gv)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Gv)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return oh(this,e-Jn((dn(),Gv)),yn((n=u(Dn(this,16),26),n||Gv),e))},l.sh=function(e,n){var r;switch(e){case 0:vae(this,u(n,87));return;case 1:!this.d&&(this.d=new As(ho,this,1)),xr(this.d),!this.d&&(this.d=new As(ho,this,1)),is(this.d,u(n,14));return;case 3:k4t(this,u(n,87));return;case 4:j4t(this,u(n,836));return;case 5:H8(this,u(n,138));return}gh(this,e-Jn((dn(),Gv)),yn((r=u(Dn(this,16),26),r||Gv),e),n)},l.zh=function(){return dn(),Gv},l.Bh=function(e){var n;switch(e){case 0:vae(this,null);return;case 1:!this.d&&(this.d=new As(ho,this,1)),xr(this.d);return;case 3:k4t(this,null);return;case 4:j4t(this,null);return;case 5:H8(this,null);return}fh(this,e-Jn((dn(),Gv)),yn((n=u(Dn(this,16),26),n||Gv),e))},l.Ib=function(){var e;return e=new Ol(mf(this)),e.a+=" (expression: ",Mat(this,e),e.a+=")",e.a};var oLt;F(Mn,"EGenericTypeImpl",241),D(1969,1964,NH),l.Xh=function(e,n){UWt(this,e,n)},l.lk=function(e,n){return UWt(this,this.gc(),e),n},l.pi=function(e){return Zf(this.Gi(),e)},l.Zh=function(){return this.$h()},l.Gi=function(){return new Zzt(this)},l.$h=function(){return this._h(0)},l._h=function(e){return this.Gi().Zc(e)},l.mk=function(e,n){return ay(this,e,!0),n},l.ii=function(e,n){var r,s;return s=Dst(this,n),r=this.Zc(e),r.Rb(s),s},l.ji=function(e,n){var r;ay(this,n,!0),r=this.Zc(e),r.Rb(n)},F($i,"AbstractSequentialInternalEList",1969),D(486,1969,NH,jM),l.pi=function(e){return Zf(this.Gi(),e)},l.Zh=function(){return this.b==null?(Mg(),Mg(),bP):this.Jk()},l.Gi=function(){return new wUt(this.a,this.b)},l.$h=function(){return this.b==null?(Mg(),Mg(),bP):this.Jk()},l._h=function(e){var n,r;if(this.b==null){if(e<0||e>1)throw it(new yo(J_+e+", size=0"));return Mg(),Mg(),bP}for(r=this.Jk(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.Gj()!=j7||n.aj()!=0)&&(!this.Mk()||this.b.mh(n))){if(h=this.b.bh(n,this.Lk()),this.f=(to(),u(n,66).Oj()),this.f||n.$j()){if(this.Lk()?(s=u(h,15),this.k=s):(s=u(h,69),this.k=this.j=s),_t(this.k,54)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j._h(this.k.gc()):this.k.Zc(this.k.gc()),this.p?loe(this,this.p):koe(this))return o=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,72),e.ak(),r=e.dd(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(h!=null)return this.k=null,this.p=null,r=h,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.pi(--this.n):this.k.Xb(--this.n),this.f?(e=u(o,72),e.ak(),r=e.dd(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},l.Pb=function(){return kz(this)},l.Tb=function(){return this.a},l.Ub=function(){var e;if(this.g<-1||this.Sb())return--this.a,this.g=0,e=this.i,this.Sb(),e;throw it(new lc)},l.Vb=function(){return this.a-1},l.Qb=function(){throw it(new Or)},l.Lk=function(){return!1},l.Wb=function(e){throw it(new Or)},l.Mk=function(){return!0},l.a=0,l.d=0,l.f=!1,l.g=0,l.n=0,l.o=0;var bP;F($i,"EContentsEList/FeatureIteratorImpl",279),D(697,279,BH,V2t),l.Lk=function(){return!0},F($i,"EContentsEList/ResolvingFeatureIteratorImpl",697),D(1157,697,BH,PWt),l.Mk=function(){return!1},F(Mn,"ENamedElementImpl/1/1",1157),D(1158,279,BH,OWt),l.Mk=function(){return!1},F(Mn,"ENamedElementImpl/1/2",1158),D(36,143,nO,Qm,Rrt,Js,Jrt,z0,bf,Ymt,cZt,Kmt,uZt,mmt,lZt,Zmt,hZt,ymt,fZt,Xmt,dZt,A9,mD,brt,Qmt,gZt,xmt,pZt),l._i=function(){return Imt(this)},l.gj=function(){var e;return e=Imt(this),e?e.zj():null},l.yi=function(e){return this.b==-1&&this.a&&(this.b=this.c.Xg(this.a.aj(),this.a.Gj())),this.c.Og(this.b,e)},l.Ai=function(){return this.c},l.hj=function(){var e;return e=Imt(this),e?e.Kj():!1},l.b=-1,F(Mn,"ENotificationImpl",36),D(399,284,{105:1,92:1,90:1,147:1,191:1,56:1,59:1,108:1,472:1,49:1,97:1,150:1,399:1,284:1,114:1,115:1},iet),l.Qg=function(e){return rae(this,e)},l._g=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,26):null;case 11:return!this.d&&(this.d=new Fu(hu,this,11)),this.d;case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),this.c;case 13:return!this.a&&(this.a=new GM(this,this)),this.a;case 14:return al(this)}return uh(this,e-Jn((dn(),cp)),yn((s=u(Dn(this,16),26),s||cp),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?rae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,10,r);case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),Zc(this.c,e,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),cp)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),cp)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 10:return Hl(this,null,10,r);case 11:return!this.d&&(this.d=new Fu(hu,this,11)),Ba(this.d,e,r);case 12:return!this.c&&(this.c=new fe(Vv,this,12,10)),Ba(this.c,e,r);case 14:return Ba(al(this),e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),cp)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),cp)),e,r)},l.lh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,26));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&al(this.a.a).i!=0&&!(this.b&&mst(this.b));case 14:return!!this.b&&mst(this.b)}return oh(this,e-Jn((dn(),cp)),yn((n=u(Dn(this,16),26),n||cp),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:ry(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 11:!this.d&&(this.d=new Fu(hu,this,11)),xr(this.d),!this.d&&(this.d=new Fu(hu,this,11)),is(this.d,u(n,14));return;case 12:!this.c&&(this.c=new fe(Vv,this,12,10)),xr(this.c),!this.c&&(this.c=new fe(Vv,this,12,10)),is(this.c,u(n,14));return;case 13:!this.a&&(this.a=new GM(this,this)),A_(this.a),!this.a&&(this.a=new GM(this,this)),is(this.a,u(n,14));return;case 14:xr(al(this)),is(al(this),u(n,14));return}gh(this,e-Jn((dn(),cp)),yn((r=u(Dn(this,16),26),r||cp),e),n)},l.zh=function(){return dn(),cp},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 11:!this.d&&(this.d=new Fu(hu,this,11)),xr(this.d);return;case 12:!this.c&&(this.c=new fe(Vv,this,12,10)),xr(this.c);return;case 13:this.a&&A_(this.a);return;case 14:this.b&&xr(this.b);return}fh(this,e-Jn((dn(),cp)),yn((n=u(Dn(this,16),26),n||cp),e))},l.Gh=function(){var e,n;if(this.c)for(e=0,n=this.c.i;ev&&ts(e,v,null),s=0,r=new nr(al(this.a));r.e!=r.i.gc();)n=u(dr(r),87),h=(d=n.c,d||(dn(),W1)),ts(e,s++,h);return e},l.Yi=function(){var e,n,r,s,o;for(o=new Ag,o.a+="[",e=al(this.a),n=0,s=al(this.a).i;n1);case 5:return F9(this,e,n,r,s,this.i-u(r,15).gc()>0);default:return new z0(this.e,e,this.c,n,r,s,!0)}},l.ij=function(){return!0},l.fj=function(){return mst(this)},l.Xj=function(){xr(this)},F(Mn,"EOperationImpl/2",1341),D(498,1,{1938:1,498:1},QGt),F(Mn,"EPackageImpl/1",498),D(16,85,zo,fe),l.zk=function(){return this.d},l.Ak=function(){return this.b},l.Dk=function(){return!0},l.b=0,F($i,"EObjectContainmentWithInverseEList",16),D(353,16,zo,Rx),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentWithInverseEList/Resolving",353),D(298,353,zo,Gm),l.ci=function(){this.a.tb=null},F(Mn,"EPackageImpl/2",298),D(1228,1,{},hB),F(Mn,"EPackageImpl/3",1228),D(718,43,A4,Upt),l._b=function(e){return ra(e)?wrt(this,e):!!Lo(this.f,e)},F(Mn,"EPackageRegistryImpl",718),D(509,284,{105:1,92:1,90:1,147:1,191:1,56:1,2017:1,108:1,472:1,49:1,97:1,150:1,509:1,284:1,114:1,115:1},set),l.Qg=function(e){return iae(this,e)},l._g=function(e,n,r){var s,o,h;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),h=this.t,h>1||h==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?u(this.Cb,59):null}return uh(this,e-Jn((dn(),i3)),yn((s=u(Dn(this,16),26),s||i3),e),n,r)},l.hh=function(e,n,r){var s,o,h;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Zc(this.Ab,e,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?iae(this,r):this.Cb.ih(this,-1-o,null,r))),Hl(this,e,10,r)}return h=u(yn((s=u(Dn(this,16),26),s||(dn(),i3)),n),66),h.Nj().Qj(this,su(this),n-Jn((dn(),i3)),e,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 9:return nrt(this,r);case 10:return Hl(this,null,10,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),i3)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),i3)),e,r)},l.lh=function(e){var n,r,s;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return!!(this.Db>>16==10&&u(this.Cb,59))}return oh(this,e-Jn((dn(),i3)),yn((n=u(Dn(this,16),26),n||i3),e))},l.zh=function(){return dn(),i3},F(Mn,"EParameterImpl",509),D(99,449,{105:1,92:1,90:1,147:1,191:1,56:1,18:1,170:1,66:1,108:1,472:1,49:1,97:1,150:1,99:1,449:1,284:1,114:1,115:1,677:1},K2t),l._g=function(e,n,r){var s,o,h,d;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Nn(),!!(this.Bb&256);case 3:return Nn(),!!(this.Bb&512);case 4:return pe(this.s);case 5:return pe(this.t);case 6:return Nn(),d=this.t,d>1||d==-1;case 7:return Nn(),o=this.s,o>=1;case 8:return n?Dh(this):this.r;case 9:return this.q;case 10:return Nn(),!!(this.Bb&xf);case 11:return Nn(),!!(this.Bb&Dy);case 12:return Nn(),!!(this.Bb&Ey);case 13:return this.j;case 14:return SE(this);case 15:return Nn(),!!(this.Bb&Hu);case 16:return Nn(),!!(this.Bb&md);case 17:return Ym(this);case 18:return Nn(),!!(this.Bb&dc);case 19:return Nn(),h=no(this),!!(h&&h.Bb&dc);case 20:return Nn(),!!(this.Bb&Ka);case 21:return n?no(this):this.b;case 22:return n?Iyt(this):BJt(this);case 23:return!this.a&&(this.a=new Y3(e3,this,23)),this.a}return uh(this,e-Jn((dn(),l5)),yn((s=u(Dn(this,16),26),s||l5),e),n,r)},l.lh=function(e){var n,r,s,o;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&qw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&qw(this.q).i==0);case 10:return(this.Bb&xf)==0;case 11:return(this.Bb&Dy)!=0;case 12:return(this.Bb&Ey)!=0;case 13:return this.j!=null;case 14:return SE(this)!=null;case 15:return(this.Bb&Hu)!=0;case 16:return(this.Bb&md)!=0;case 17:return!!Ym(this);case 18:return(this.Bb&dc)!=0;case 19:return s=no(this),!!s&&(s.Bb&dc)!=0;case 20:return(this.Bb&Ka)==0;case 21:return!!this.b;case 22:return!!BJt(this);case 23:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),l5)),yn((n=u(Dn(this,16),26),n||l5),e))},l.sh=function(e,n){var r,s;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Mrt(this,Br(n));return;case 2:zg(this,je(Re(n)));return;case 3:qg(this,je(Re(n)));return;case 4:Rg(this,u(n,19).a);return;case 5:ry(this,u(n,19).a);return;case 8:b2(this,u(n,138));return;case 9:s=F1(this,u(n,87),null),s&&s.Fi();return;case 10:lE(this,je(Re(n)));return;case 11:dE(this,je(Re(n)));return;case 12:hE(this,je(Re(n)));return;case 13:r2t(this,Br(n));return;case 15:fE(this,je(Re(n)));return;case 16:gE(this,je(Re(n)));return;case 18:xin(this,je(Re(n)));return;case 20:u3t(this,je(Re(n)));return;case 21:cyt(this,u(n,18));return;case 23:!this.a&&(this.a=new Y3(e3,this,23)),xr(this.a),!this.a&&(this.a=new Y3(e3,this,23)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),l5)),yn((r=u(Dn(this,16),26),r||l5),e),n)},l.zh=function(){return dn(),l5},l.Bh=function(e){var n,r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),4),Qc(this,null);return;case 2:zg(this,!0);return;case 3:qg(this,!0);return;case 4:Rg(this,0);return;case 5:ry(this,1);return;case 8:b2(this,null);return;case 9:r=F1(this,null,null),r&&r.Fi();return;case 10:lE(this,!0);return;case 11:dE(this,!1);return;case 12:hE(this,!1);return;case 13:this.i=null,fz(this,null);return;case 15:fE(this,!1);return;case 16:gE(this,!1);return;case 18:c3t(this,!1),_t(this.Cb,88)&&gy(sl(u(this.Cb,88)),2);return;case 20:u3t(this,!0);return;case 21:cyt(this,null);return;case 23:!this.a&&(this.a=new Y3(e3,this,23)),xr(this.a);return}fh(this,e-Jn((dn(),l5)),yn((n=u(Dn(this,16),26),n||l5),e))},l.Gh=function(){Iyt(this),M8(To(($u(),ya),this)),Dh(this),this.Bb|=1},l.Lj=function(){return no(this)},l.qk=function(){var e;return e=no(this),!!e&&(e.Bb&dc)!=0},l.rk=function(){return(this.Bb&dc)!=0},l.sk=function(){return(this.Bb&Ka)!=0},l.nk=function(e,n){return this.c=null,e3t(this,e,n)},l.Ib=function(){var e;return this.Db&64?_q(this):(e=new _h(_q(this)),e.a+=" (containment: ",Lg(e,(this.Bb&dc)!=0),e.a+=", resolveProxies: ",Lg(e,(this.Bb&Ka)!=0),e.a+=")",e.a)},F(Mn,"EReferenceImpl",99),D(548,115,{105:1,42:1,92:1,90:1,133:1,56:1,108:1,49:1,97:1,548:1,114:1,115:1},iJ),l.Fb=function(e){return this===e},l.cd=function(){return this.b},l.dd=function(){return this.c},l.Hb=function(){return Pw(this)},l.Uh=function(e){_en(this,Br(e))},l.ed=function(e){return gen(this,Br(e))},l._g=function(e,n,r){var s;switch(e){case 0:return this.b;case 1:return this.c}return uh(this,e-Jn((dn(),Qa)),yn((s=u(Dn(this,16),26),s||Qa),e),n,r)},l.lh=function(e){var n;switch(e){case 0:return this.b!=null;case 1:return this.c!=null}return oh(this,e-Jn((dn(),Qa)),yn((n=u(Dn(this,16),26),n||Qa),e))},l.sh=function(e,n){var r;switch(e){case 0:Sen(this,Br(n));return;case 1:syt(this,Br(n));return}gh(this,e-Jn((dn(),Qa)),yn((r=u(Dn(this,16),26),r||Qa),e),n)},l.zh=function(){return dn(),Qa},l.Bh=function(e){var n;switch(e){case 0:iyt(this,null);return;case 1:syt(this,null);return}fh(this,e-Jn((dn(),Qa)),yn((n=u(Dn(this,16),26),n||Qa),e))},l.Sh=function(){var e;return this.a==-1&&(e=this.b,this.a=e==null?0:Vg(e)),this.a},l.Th=function(e){this.a=e},l.Ib=function(){var e;return this.Db&64?mf(this):(e=new _h(mf(this)),e.a+=" (key: ",go(e,this.b),e.a+=", value: ",go(e,this.c),e.a+=")",e.a)},l.a=-1,l.b=null,l.c=null;var cc=F(Mn,"EStringToStringMapEntryImpl",548),E5e=Ki($i,"FeatureMap/Entry/Internal");D(565,1,RH),l.Ok=function(e){return this.Pk(u(e,49))},l.Pk=function(e){return this.Ok(e)},l.Fb=function(e){var n,r;return this===e?!0:_t(e,72)?(n=u(e,72),n.ak()==this.c?(r=this.dd(),r==null?n.dd()==null:yi(r,n.dd())):!1):!1},l.ak=function(){return this.c},l.Hb=function(){var e;return e=this.dd(),Hi(this.c)^(e==null?0:Hi(e))},l.Ib=function(){var e,n;return e=this.c,n=Rl(e.Hj()).Ph(),e.ne(),(n!=null&&n.length!=0?n+":"+e.ne():e.ne())+"="+this.dd()},F(Mn,"EStructuralFeatureImpl/BasicFeatureMapEntry",565),D(776,565,RH,iwt),l.Pk=function(e){return new iwt(this.c,e)},l.dd=function(){return this.a},l.Qk=function(e,n,r){return Hcn(this,e,this.a,n,r)},l.Rk=function(e,n,r){return Vcn(this,e,this.a,n,r)},F(Mn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",776),D(1314,1,{},ZGt),l.Pj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.nl(this.a).Wj(s)},l.Qj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.el(this.a,s,o)},l.Rj=function(e,n,r,s,o){var h;return h=u(j8(e,this.b),215),h.fl(this.a,s,o)},l.Sj=function(e,n,r){var s;return s=u(j8(e,this.b),215),s.nl(this.a).fj()},l.Tj=function(e,n,r,s){var o;o=u(j8(e,this.b),215),o.nl(this.a).Wb(s)},l.Uj=function(e,n,r){return u(j8(e,this.b),215).nl(this.a)},l.Vj=function(e,n,r){var s;s=u(j8(e,this.b),215),s.nl(this.a).Xj()},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1314),D(89,1,{},Ig,n2,Pg,s2),l.Pj=function(e,n,r,s,o){var h;if(h=n.Ch(r),h==null&&n.Dh(r,h=jq(this,e)),!o)switch(this.e){case 50:case 41:return u(h,589).sj();case 40:return u(h,215).kl()}return h},l.Qj=function(e,n,r,s,o){var h,d;return d=n.Ch(r),d==null&&n.Dh(r,d=jq(this,e)),h=u(d,69).lk(s,o),h},l.Rj=function(e,n,r,s,o){var h;return h=n.Ch(r),h!=null&&(o=u(h,69).mk(s,o)),o},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null&&u(s,76).fj()},l.Tj=function(e,n,r,s){var o;o=u(n.Ch(r),76),!o&&n.Dh(r,o=jq(this,e)),o.Wb(s)},l.Uj=function(e,n,r){var s,o;return o=n.Ch(r),o==null&&n.Dh(r,o=jq(this,e)),_t(o,76)?u(o,76):(s=u(n.Ch(r),15),new Qzt(s))},l.Vj=function(e,n,r){var s;s=u(n.Ch(r),76),!s&&n.Dh(r,s=jq(this,e)),s.Xj()},l.b=0,l.e=0,F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateMany",89),D(504,1,{}),l.Qj=function(e,n,r,s,o){throw it(new Or)},l.Rj=function(e,n,r,s,o){throw it(new Or)},l.Uj=function(e,n,r){return new WXt(this,e,n,r)};var p0;F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",504),D(1331,1,hut,WXt),l.Wj=function(e){return this.a.Pj(this.c,this.d,this.b,e,!0)},l.fj=function(){return this.a.Sj(this.c,this.d,this.b)},l.Wb=function(e){this.a.Tj(this.c,this.d,this.b,e)},l.Xj=function(){this.a.Vj(this.c,this.d,this.b)},l.b=0,F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1331),D(769,504,{},$vt),l.Pj=function(e,n,r,s,o){return wat(e,e.eh(),e.Vg())==this.b?this.sk()&&s?eat(e):e.eh():null},l.Qj=function(e,n,r,s,o){var h,d;return e.eh()&&(o=(h=e.Vg(),h>=0?e.Qg(o):e.eh().ih(e,-1-h,null,o))),d=Gi(e.Tg(),this.e),e.Sg(s,d,o)},l.Rj=function(e,n,r,s,o){var h;return h=Gi(e.Tg(),this.e),e.Sg(null,h,o)},l.Sj=function(e,n,r){var s;return s=Gi(e.Tg(),this.e),!!e.eh()&&e.Vg()==s},l.Tj=function(e,n,r,s){var o,h,d,v,k;if(s!=null&&!xat(this.a,s))throw it(new i8(jH+(_t(s,56)?y4t(u(s,56).Tg()):Vmt(ol(s)))+$H+this.a+"'"));if(o=e.eh(),d=Gi(e.Tg(),this.e),Vt(s)!==Vt(o)||e.Vg()!=d&&s!=null){if(vE(e,u(s,56)))throw it(new Fn(Q_+e.Ib()));k=null,o&&(k=(h=e.Vg(),h>=0?e.Qg(k):e.eh().ih(e,-1-h,null,k))),v=u(s,49),v&&(k=v.gh(e,Gi(v.Tg(),this.b),null,k)),k=e.Sg(v,d,k),k&&k.Fi()}else e.Lg()&&e.Mg()&&mi(e,new Js(e,1,d,s,s))},l.Vj=function(e,n,r){var s,o,h,d;s=e.eh(),s?(d=(o=e.Vg(),o>=0?e.Qg(null):e.eh().ih(e,-1-o,null,null)),h=Gi(e.Tg(),this.e),d=e.Sg(null,h,d),d&&d.Fi()):e.Lg()&&e.Mg()&&mi(e,new A9(e,1,this.e,null,null))},l.sk=function(){return!1},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",769),D(1315,769,{},jYt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1315),D(563,504,{}),l.Pj=function(e,n,r,s,o){var h;return h=n.Ch(r),h==null?this.b:Vt(h)===Vt(p0)?null:h},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null&&(Vt(s)===Vt(p0)||!yi(s,this.b))},l.Tj=function(e,n,r,s){var o,h;e.Lg()&&e.Mg()?(o=(h=n.Ch(r),h==null?this.b:Vt(h)===Vt(p0)?null:h),s==null?this.c!=null?(n.Dh(r,null),s=this.b):this.b!=null?n.Dh(r,p0):n.Dh(r,null):(this.Sk(s),n.Dh(r,s)),mi(e,this.d.Tk(e,1,this.e,o,s))):s==null?this.c!=null?n.Dh(r,null):this.b!=null?n.Dh(r,p0):n.Dh(r,null):(this.Sk(s),n.Dh(r,s))},l.Vj=function(e,n,r){var s,o;e.Lg()&&e.Mg()?(s=(o=n.Ch(r),o==null?this.b:Vt(o)===Vt(p0)?null:o),n.Eh(r),mi(e,this.d.Tk(e,1,this.e,s,this.b))):n.Eh(r)},l.Sk=function(e){throw it(new oqt)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",563),D(R4,1,{},fB),l.Tk=function(e,n,r,s,o){return new A9(e,n,r,s,o)},l.Uk=function(e,n,r,s,o,h){return new brt(e,n,r,s,o,h)};var cLt,uLt,lLt,hLt,fLt,dLt,gLt,jft,pLt;F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",R4),D(1332,R4,{},dB),l.Tk=function(e,n,r,s,o){return new xmt(e,n,r,je(Re(s)),je(Re(o)))},l.Uk=function(e,n,r,s,o,h){return new pZt(e,n,r,je(Re(s)),je(Re(o)),h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1332),D(1333,R4,{},gB),l.Tk=function(e,n,r,s,o){return new Ymt(e,n,r,u(s,217).a,u(o,217).a)},l.Uk=function(e,n,r,s,o,h){return new cZt(e,n,r,u(s,217).a,u(o,217).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1333),D(1334,R4,{},Nk),l.Tk=function(e,n,r,s,o){return new Kmt(e,n,r,u(s,172).a,u(o,172).a)},l.Uk=function(e,n,r,s,o,h){return new uZt(e,n,r,u(s,172).a,u(o,172).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1334),D(1335,R4,{},pB),l.Tk=function(e,n,r,s,o){return new mmt(e,n,r,Xt(ye(s)),Xt(ye(o)))},l.Uk=function(e,n,r,s,o,h){return new lZt(e,n,r,Xt(ye(s)),Xt(ye(o)),h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1335),D(1336,R4,{},bB),l.Tk=function(e,n,r,s,o){return new Zmt(e,n,r,u(s,155).a,u(o,155).a)},l.Uk=function(e,n,r,s,o,h){return new hZt(e,n,r,u(s,155).a,u(o,155).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1336),D(1337,R4,{},sJ),l.Tk=function(e,n,r,s,o){return new ymt(e,n,r,u(s,19).a,u(o,19).a)},l.Uk=function(e,n,r,s,o,h){return new fZt(e,n,r,u(s,19).a,u(o,19).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1337),D(1338,R4,{},Bk),l.Tk=function(e,n,r,s,o){return new Xmt(e,n,r,u(s,162).a,u(o,162).a)},l.Uk=function(e,n,r,s,o,h){return new dZt(e,n,r,u(s,162).a,u(o,162).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1338),D(1339,R4,{},Rk),l.Tk=function(e,n,r,s,o){return new Qmt(e,n,r,u(s,184).a,u(o,184).a)},l.Uk=function(e,n,r,s,o,h){return new gZt(e,n,r,u(s,184).a,u(o,184).a,h)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1339),D(1317,563,{},YXt),l.Sk=function(e){if(!this.a.wj(e))throw it(new i8(jH+ol(e)+$H+this.a+"'"))},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1317),D(1318,563,{},NKt),l.Sk=function(e){},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1318),D(770,563,{}),l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null},l.Tj=function(e,n,r,s){var o,h;e.Lg()&&e.Mg()?(o=!0,h=n.Ch(r),h==null?(o=!1,h=this.b):Vt(h)===Vt(p0)&&(h=null),s==null?this.c!=null?(n.Dh(r,null),s=this.b):n.Dh(r,p0):(this.Sk(s),n.Dh(r,s)),mi(e,this.d.Uk(e,1,this.e,h,s,!o))):s==null?this.c!=null?n.Dh(r,null):n.Dh(r,p0):(this.Sk(s),n.Dh(r,s))},l.Vj=function(e,n,r){var s,o;e.Lg()&&e.Mg()?(s=!0,o=n.Ch(r),o==null?(s=!1,o=this.b):Vt(o)===Vt(p0)&&(o=null),n.Eh(r),mi(e,this.d.Uk(e,2,this.e,o,this.b,s))):n.Eh(r)},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",770),D(1319,770,{},KXt),l.Sk=function(e){if(!this.a.wj(e))throw it(new i8(jH+ol(e)+$H+this.a+"'"))},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1319),D(1320,770,{},BKt),l.Sk=function(e){},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1320),D(398,504,{},Uj),l.Pj=function(e,n,r,s,o){var h,d,v,k,C;if(C=n.Ch(r),this.Kj()&&Vt(C)===Vt(p0))return null;if(this.sk()&&s&&C!=null){if(v=u(C,49),v.kh()&&(k=Zp(e,v),v!=k)){if(!xat(this.a,k))throw it(new i8(jH+ol(k)+$H+this.a+"'"));n.Dh(r,C=k),this.rk()&&(h=u(k,49),d=v.ih(e,this.b?Gi(v.Tg(),this.b):-1-Gi(e.Tg(),this.e),null,null),!h.eh()&&(d=h.gh(e,this.b?Gi(h.Tg(),this.b):-1-Gi(e.Tg(),this.e),null,d)),d&&d.Fi()),e.Lg()&&e.Mg()&&mi(e,new A9(e,9,this.e,v,k))}return C}else return C},l.Qj=function(e,n,r,s,o){var h,d;return d=n.Ch(r),Vt(d)===Vt(p0)&&(d=null),n.Dh(r,s),this.bj()?Vt(d)!==Vt(s)&&d!=null&&(h=u(d,49),o=h.ih(e,Gi(h.Tg(),this.b),null,o)):this.rk()&&d!=null&&(o=u(d,49).ih(e,-1-Gi(e.Tg(),this.e),null,o)),e.Lg()&&e.Mg()&&(!o&&(o=new Dp(4)),o.Ei(new A9(e,1,this.e,d,s))),o},l.Rj=function(e,n,r,s,o){var h;return h=n.Ch(r),Vt(h)===Vt(p0)&&(h=null),n.Eh(r),e.Lg()&&e.Mg()&&(!o&&(o=new Dp(4)),this.Kj()?o.Ei(new A9(e,2,this.e,h,null)):o.Ei(new A9(e,1,this.e,h,null))),o},l.Sj=function(e,n,r){var s;return s=n.Ch(r),s!=null},l.Tj=function(e,n,r,s){var o,h,d,v,k;if(s!=null&&!xat(this.a,s))throw it(new i8(jH+(_t(s,56)?y4t(u(s,56).Tg()):Vmt(ol(s)))+$H+this.a+"'"));k=n.Ch(r),v=k!=null,this.Kj()&&Vt(k)===Vt(p0)&&(k=null),d=null,this.bj()?Vt(k)!==Vt(s)&&(k!=null&&(o=u(k,49),d=o.ih(e,Gi(o.Tg(),this.b),null,d)),s!=null&&(o=u(s,49),d=o.gh(e,Gi(o.Tg(),this.b),null,d))):this.rk()&&Vt(k)!==Vt(s)&&(k!=null&&(d=u(k,49).ih(e,-1-Gi(e.Tg(),this.e),null,d)),s!=null&&(d=u(s,49).gh(e,-1-Gi(e.Tg(),this.e),null,d))),s==null&&this.Kj()?n.Dh(r,p0):n.Dh(r,s),e.Lg()&&e.Mg()?(h=new brt(e,1,this.e,k,s,this.Kj()&&!v),d?(d.Ei(h),d.Fi()):mi(e,h)):d&&d.Fi()},l.Vj=function(e,n,r){var s,o,h,d,v;v=n.Ch(r),d=v!=null,this.Kj()&&Vt(v)===Vt(p0)&&(v=null),h=null,v!=null&&(this.bj()?(s=u(v,49),h=s.ih(e,Gi(s.Tg(),this.b),null,h)):this.rk()&&(h=u(v,49).ih(e,-1-Gi(e.Tg(),this.e),null,h))),n.Eh(r),e.Lg()&&e.Mg()?(o=new brt(e,this.Kj()?2:1,this.e,v,null,d),h?(h.Ei(o),h.Fi()):mi(e,o)):h&&h.Fi()},l.bj=function(){return!1},l.rk=function(){return!1},l.sk=function(){return!1},l.Kj=function(){return!1},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",398),D(564,398,{},vnt),l.rk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",564),D(1323,564,{},FWt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1323),D(772,564,{},G2t),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",772),D(1325,772,{},NWt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1325),D(640,564,{},Int),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",640),D(1324,640,{},$Yt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1324),D(773,640,{},Dwt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",773),D(1326,773,{},zYt),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1326),D(641,398,{},U2t),l.sk=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",641),D(1327,641,{},BWt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1327),D(774,641,{},Lwt),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",774),D(1328,774,{},qYt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1328),D(1321,398,{},RWt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1321),D(771,398,{},Mwt),l.bj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",771),D(1322,771,{},HYt),l.Kj=function(){return!0},F(Mn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1322),D(775,565,RH,_vt),l.Pk=function(e){return new _vt(this.a,this.c,e)},l.dd=function(){return this.b},l.Qk=function(e,n,r){return Van(this,e,this.b,r)},l.Rk=function(e,n,r){return Gan(this,e,this.b,r)},F(Mn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",775),D(1329,1,hut,Qzt),l.Wj=function(e){return this.a},l.fj=function(){return _t(this.a,95)?u(this.a,95).fj():!this.a.dc()},l.Wb=function(e){this.a.$b(),this.a.Gc(u(e,15))},l.Xj=function(){_t(this.a,95)?u(this.a,95).Xj():this.a.$b()},F(Mn,"EStructuralFeatureImpl/SettingMany",1329),D(1330,565,RH,rJt),l.Ok=function(e){return new xnt((Ii(),fA),this.b.Ih(this.a,e))},l.dd=function(){return null},l.Qk=function(e,n,r){return r},l.Rk=function(e,n,r){return r},F(Mn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1330),D(642,565,RH,xnt),l.Ok=function(e){return new xnt(this.c,e)},l.dd=function(){return this.a},l.Qk=function(e,n,r){return r},l.Rk=function(e,n,r){return r},F(Mn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",642),D(391,497,Ld,Tm),l.ri=function(e){return Nt(Uh,De,26,e,0,1)},l.ni=function(){return!1},F(Mn,"ESuperAdapter/1",391),D(444,438,{105:1,92:1,90:1,147:1,191:1,56:1,108:1,836:1,49:1,97:1,150:1,444:1,114:1,115:1},HL),l._g=function(e,n,r){var s;switch(e){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new T9(this,ho,this)),this.a}return uh(this,e-Jn((dn(),Uv)),yn((s=u(Dn(this,16),26),s||Uv),e),n,r)},l.jh=function(e,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),Ba(this.Ab,e,r);case 2:return!this.a&&(this.a=new T9(this,ho,this)),Ba(this.a,e,r)}return o=u(yn((s=u(Dn(this,16),26),s||(dn(),Uv)),n),66),o.Nj().Rj(this,su(this),n-Jn((dn(),Uv)),e,r)},l.lh=function(e){var n;switch(e){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return oh(this,e-Jn((dn(),Uv)),yn((n=u(Dn(this,16),26),n||Uv),e))},l.sh=function(e,n){var r;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab),!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),is(this.Ab,u(n,14));return;case 1:Qc(this,Br(n));return;case 2:!this.a&&(this.a=new T9(this,ho,this)),xr(this.a),!this.a&&(this.a=new T9(this,ho,this)),is(this.a,u(n,14));return}gh(this,e-Jn((dn(),Uv)),yn((r=u(Dn(this,16),26),r||Uv),e),n)},l.zh=function(){return dn(),Uv},l.Bh=function(e){var n;switch(e){case 0:!this.Ab&&(this.Ab=new fe(Zr,this,0,3)),xr(this.Ab);return;case 1:Qc(this,null);return;case 2:!this.a&&(this.a=new T9(this,ho,this)),xr(this.a);return}fh(this,e-Jn((dn(),Uv)),yn((n=u(Dn(this,16),26),n||Uv),e))},F(Mn,"ETypeParameterImpl",444),D(445,85,zo,T9),l.cj=function(e,n){return G0n(this,u(e,87),n)},l.dj=function(e,n){return U0n(this,u(e,87),n)},F(Mn,"ETypeParameterImpl/1",445),D(634,43,A4,aet),l.ec=function(){return new mR(this)},F(Mn,"ETypeParameterImpl/2",634),D(556,N1,zu,mR),l.Fc=function(e){return lYt(this,u(e,87))},l.Gc=function(e){var n,r,s;for(s=!1,r=e.Kc();r.Ob();)n=u(r.Pb(),87),ki(this.a,n,"")==null&&(s=!0);return s},l.$b=function(){Xu(this.a)},l.Hc=function(e){return Tl(this.a,e)},l.Kc=function(){var e;return e=new p2(new Cg(this.a).a),new yR(e)},l.Mc=function(e){return XJt(this,e)},l.gc=function(){return HC(this.a)},F(Mn,"ETypeParameterImpl/2/1",556),D(557,1,sa,yR),l.Nb=function(e){ba(this,e)},l.Pb=function(){return u(Zw(this.a).cd(),87)},l.Ob=function(){return this.a.b},l.Qb=function(){Ste(this.a)},F(Mn,"ETypeParameterImpl/2/1/1",557),D(1276,43,A4,zqt),l._b=function(e){return ra(e)?wrt(this,e):!!Lo(this.f,e)},l.xc=function(e){var n,r;return n=ra(e)?Nc(this,e):ec(Lo(this.f,e)),_t(n,837)?(r=u(n,837),n=r._j(),ki(this,u(e,235),n),n):n??(e==null?(Tet(),C5e):null)},F(Mn,"EValidatorRegistryImpl",1276),D(1313,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,1941:1,49:1,97:1,150:1,114:1,115:1},aJ),l.Ih=function(e,n){switch(e.yj()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:$o(n);case 25:return Jon(n);case 27:return bon(n);case 28:return won(n);case 29:return n==null?null:VUt(aA[0],u(n,199));case 41:return n==null?"":Ip(u(n,290));case 42:return $o(n);case 50:return Br(n);default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt;switch(e.G==-1&&(e.G=(H=Rl(e),H?Hg(H.Mh(),e):-1)),e.G){case 0:return r=new ret,r;case 1:return n=new lB,n;case 2:return s=new eM,s;case 4:return o=new xR,o;case 5:return h=new $qt,h;case 6:return d=new lqt,d;case 7:return v=new JB,v;case 10:return C=new Pk,C;case 11:return M=new iet,M;case 12:return j=new fQt,j;case 13:return G=new set,G;case 14:return K=new K2t,K;case 17:return tt=new iJ,tt;case 18:return k=new xw,k;case 19:return gt=new HL,gt;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){switch(e.yj()){case 20:return n==null?null:new gbt(n);case 21:return n==null?null:new Rp(n);case 23:case 22:return n==null?null:ifn(n);case 26:case 24:return n==null?null:AD(ql(n,-128,127)<<24>>24);case 25:return p2n(n);case 27:return z1n(n);case 28:return q1n(n);case 29:return lgn(n);case 32:case 31:return n==null?null:dy(n);case 38:case 37:return n==null?null:new Ppt(n);case 40:case 39:return n==null?null:pe(ql(n,Sa,wi));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:v2(Rq(n));case 49:case 48:return n==null?null:uE(ql(n,zH,32767)<<16>>16);case 50:return n;default:throw it(new Fn(QE+e.ne()+Cv))}},F(Mn,"EcoreFactoryImpl",1313),D(547,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,1939:1,49:1,97:1,150:1,179:1,547:1,114:1,115:1,675:1},LXt),l.gb=!1,l.hb=!1;var bLt,T5e=!1;F(Mn,"EcorePackageImpl",547),D(1184,1,{837:1},oJ),l._j=function(){return gWt(),_5e},F(Mn,"EcorePackageImpl/1",1184),D(1193,1,si,cJ),l.wj=function(e){return _t(e,147)},l.xj=function(e){return Nt(fP,De,147,e,0,1)},F(Mn,"EcorePackageImpl/10",1193),D(1194,1,si,uJ),l.wj=function(e){return _t(e,191)},l.xj=function(e){return Nt(Mft,De,191,e,0,1)},F(Mn,"EcorePackageImpl/11",1194),D(1195,1,si,lJ),l.wj=function(e){return _t(e,56)},l.xj=function(e){return Nt(_b,De,56,e,0,1)},F(Mn,"EcorePackageImpl/12",1195),D(1196,1,si,hJ),l.wj=function(e){return _t(e,399)},l.xj=function(e){return Nt(Wh,$8t,59,e,0,1)},F(Mn,"EcorePackageImpl/13",1196),D(1197,1,si,fJ),l.wj=function(e){return _t(e,235)},l.xj=function(e){return Nt(i1,De,235,e,0,1)},F(Mn,"EcorePackageImpl/14",1197),D(1198,1,si,dJ),l.wj=function(e){return _t(e,509)},l.xj=function(e){return Nt(Vv,De,2017,e,0,1)},F(Mn,"EcorePackageImpl/15",1198),D(1199,1,si,wB),l.wj=function(e){return _t(e,99)},l.xj=function(e){return Nt(n3,B4,18,e,0,1)},F(Mn,"EcorePackageImpl/16",1199),D(1200,1,si,gJ),l.wj=function(e){return _t(e,170)},l.xj=function(e){return Nt(Mu,B4,170,e,0,1)},F(Mn,"EcorePackageImpl/17",1200),D(1201,1,si,pJ),l.wj=function(e){return _t(e,472)},l.xj=function(e){return Nt(t3,De,472,e,0,1)},F(Mn,"EcorePackageImpl/18",1201),D(1202,1,si,bJ),l.wj=function(e){return _t(e,548)},l.xj=function(e){return Nt(cc,C0e,548,e,0,1)},F(Mn,"EcorePackageImpl/19",1202),D(1185,1,si,vB),l.wj=function(e){return _t(e,322)},l.xj=function(e){return Nt(e3,B4,34,e,0,1)},F(Mn,"EcorePackageImpl/2",1185),D(1203,1,si,jk),l.wj=function(e){return _t(e,241)},l.xj=function(e){return Nt(ho,q0e,87,e,0,1)},F(Mn,"EcorePackageImpl/20",1203),D(1204,1,si,eC),l.wj=function(e){return _t(e,444)},l.xj=function(e){return Nt(hu,De,836,e,0,1)},F(Mn,"EcorePackageImpl/21",1204),D(1205,1,si,mB),l.wj=function(e){return Nm(e)},l.xj=function(e){return Nt(Rs,ee,476,e,8,1)},F(Mn,"EcorePackageImpl/22",1205),D(1206,1,si,wJ),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(Mn,"EcorePackageImpl/23",1206),D(1207,1,si,yB),l.wj=function(e){return _t(e,217)},l.xj=function(e){return Nt(M6,ee,217,e,0,1)},F(Mn,"EcorePackageImpl/24",1207),D(1208,1,si,xB),l.wj=function(e){return _t(e,172)},l.xj=function(e){return Nt(uS,ee,172,e,0,1)},F(Mn,"EcorePackageImpl/25",1208),D(1209,1,si,vJ),l.wj=function(e){return _t(e,199)},l.xj=function(e){return Nt(tV,ee,199,e,0,1)},F(Mn,"EcorePackageImpl/26",1209),D(1210,1,si,nC),l.wj=function(e){return!1},l.xj=function(e){return Nt(PLt,De,2110,e,0,1)},F(Mn,"EcorePackageImpl/27",1210),D(1211,1,si,Cm),l.wj=function(e){return Bm(e)},l.xj=function(e){return Nt(la,ee,333,e,7,1)},F(Mn,"EcorePackageImpl/28",1211),D(1212,1,si,kB),l.wj=function(e){return _t(e,58)},l.xj=function(e){return Nt(KAt,Ty,58,e,0,1)},F(Mn,"EcorePackageImpl/29",1212),D(1186,1,si,EB),l.wj=function(e){return _t(e,510)},l.xj=function(e){return Nt(Zr,{3:1,4:1,5:1,1934:1},590,e,0,1)},F(Mn,"EcorePackageImpl/3",1186),D(1213,1,si,mJ),l.wj=function(e){return _t(e,573)},l.xj=function(e){return Nt(ZAt,De,1940,e,0,1)},F(Mn,"EcorePackageImpl/30",1213),D(1214,1,si,yJ),l.wj=function(e){return _t(e,153)},l.xj=function(e){return Nt(xLt,Ty,153,e,0,1)},F(Mn,"EcorePackageImpl/31",1214),D(1215,1,si,rC),l.wj=function(e){return _t(e,72)},l.xj=function(e){return Nt(bU,Q0e,72,e,0,1)},F(Mn,"EcorePackageImpl/32",1215),D(1216,1,si,TB),l.wj=function(e){return _t(e,155)},l.xj=function(e){return Nt(i7,ee,155,e,0,1)},F(Mn,"EcorePackageImpl/33",1216),D(1217,1,si,CB),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(Mn,"EcorePackageImpl/34",1217),D(1218,1,si,uc),l.wj=function(e){return _t(e,290)},l.xj=function(e){return Nt(J8t,De,290,e,0,1)},F(Mn,"EcorePackageImpl/35",1218),D(1219,1,si,xJ),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(Mn,"EcorePackageImpl/36",1219),D(1220,1,si,_B),l.wj=function(e){return _t(e,83)},l.xj=function(e){return Nt(tEt,De,83,e,0,1)},F(Mn,"EcorePackageImpl/37",1220),D(1221,1,si,iC),l.wj=function(e){return _t(e,591)},l.xj=function(e){return Nt(wLt,De,591,e,0,1)},F(Mn,"EcorePackageImpl/38",1221),D(1222,1,si,kJ),l.wj=function(e){return!1},l.xj=function(e){return Nt(FLt,De,2111,e,0,1)},F(Mn,"EcorePackageImpl/39",1222),D(1187,1,si,EJ),l.wj=function(e){return _t(e,88)},l.xj=function(e){return Nt(Uh,De,26,e,0,1)},F(Mn,"EcorePackageImpl/4",1187),D(1223,1,si,sC),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(Mn,"EcorePackageImpl/40",1223),D(1224,1,si,SB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(Mn,"EcorePackageImpl/41",1224),D(1225,1,si,aC),l.wj=function(e){return _t(e,588)},l.xj=function(e){return Nt(QAt,De,588,e,0,1)},F(Mn,"EcorePackageImpl/42",1225),D(1226,1,si,oC),l.wj=function(e){return!1},l.xj=function(e){return Nt(NLt,ee,2112,e,0,1)},F(Mn,"EcorePackageImpl/43",1226),D(1227,1,si,jf),l.wj=function(e){return _t(e,42)},l.xj=function(e){return Nt(P2,Hq,42,e,0,1)},F(Mn,"EcorePackageImpl/44",1227),D(1188,1,si,VL),l.wj=function(e){return _t(e,138)},l.xj=function(e){return Nt(s1,De,138,e,0,1)},F(Mn,"EcorePackageImpl/5",1188),D(1189,1,si,GL),l.wj=function(e){return _t(e,148)},l.xj=function(e){return Nt(Nft,De,148,e,0,1)},F(Mn,"EcorePackageImpl/6",1189),D(1190,1,si,lx),l.wj=function(e){return _t(e,457)},l.xj=function(e){return Nt(pU,De,671,e,0,1)},F(Mn,"EcorePackageImpl/7",1190),D(1191,1,si,TJ),l.wj=function(e){return _t(e,573)},l.xj=function(e){return Nt(ag,De,678,e,0,1)},F(Mn,"EcorePackageImpl/8",1191),D(1192,1,si,CJ),l.wj=function(e){return _t(e,471)},l.xj=function(e){return Nt(sA,De,471,e,0,1)},F(Mn,"EcorePackageImpl/9",1192),D(1025,1982,T0e,sHt),l.bi=function(e,n){Mln(this,u(n,415))},l.fi=function(e,n){moe(this,e,u(n,415))},F(Mn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1025),D(1026,143,nO,yXt),l.Ai=function(){return this.a.a},F(Mn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1026),D(1053,1052,{},NUt),F("org.eclipse.emf.ecore.plugin","EcorePlugin",1053);var wLt=Ki(Z0e,"Resource");D(781,1378,J0e),l.Yk=function(e){},l.Zk=function(e){},l.Vk=function(){return!this.a&&(this.a=new Ztt(this)),this.a},l.Wk=function(e){var n,r,s,o,h;if(s=e.length,s>0)if(Rr(0,e.length),e.charCodeAt(0)==47){for(h=new Xc(4),o=1,n=1;n0&&(e=e.substr(0,r)));return Zpn(this,e)},l.Xk=function(){return this.c},l.Ib=function(){var e;return Ip(this.gm)+"@"+(e=Hi(this)>>>0,e.toString(16))+" uri='"+this.d+"'"},l.b=!1,F(fut,"ResourceImpl",781),D(1379,781,J0e,Jzt),F(fut,"BinaryResourceImpl",1379),D(1169,694,aut),l.si=function(e){return _t(e,56)?Orn(this,u(e,56)):_t(e,591)?new nr(u(e,591).Vk()):Vt(e)===Vt(this.f)?u(e,14).Kc():(y8(),pP.a)},l.Ob=function(){return h5t(this)},l.a=!1,F($i,"EcoreUtil/ContentTreeIterator",1169),D(1380,1169,aut,QKt),l.si=function(e){return Vt(e)===Vt(this.f)?u(e,15).Kc():new PZt(u(e,56))},F(fut,"ResourceImpl/5",1380),D(648,1994,z0e,Ztt),l.Hc=function(e){return this.i<=4?yE(this,e):_t(e,49)&&u(e,49).Zg()==this.a},l.bi=function(e,n){e==this.i-1&&(this.a.b||(this.a.b=!0))},l.di=function(e,n){e==0?this.a.b||(this.a.b=!0):Yrt(this,e,n)},l.fi=function(e,n){},l.gi=function(e,n,r){},l.aj=function(){return 2},l.Ai=function(){return this.a},l.bj=function(){return!0},l.cj=function(e,n){var r;return r=u(e,49),n=r.wh(this.a,n),n},l.dj=function(e,n){var r;return r=u(e,49),r.wh(null,n)},l.ej=function(){return!1},l.hi=function(){return!0},l.ri=function(e){return Nt(_b,De,56,e,0,1)},l.ni=function(){return!1},F(fut,"ResourceImpl/ContentsEList",648),D(957,1964,jE,Zzt),l.Zc=function(e){return this.a._h(e)},l.gc=function(){return this.a.gc()},F($i,"AbstractSequentialInternalEList/1",957);var vLt,mLt,ya,yLt;D(624,1,{},JYt);var wU,vU;F($i,"BasicExtendedMetaData",624),D(1160,1,{},JGt),l.$k=function(){return null},l._k=function(){return this.a==-2&&Tg(this,sgn(this.d,this.b)),this.a},l.al=function(){return null},l.bl=function(){return wn(),wn(),io},l.ne=function(){return this.c==t7&&O3(this,Xie(this.d,this.b)),this.c},l.cl=function(){return 0},l.a=-2,l.c=t7,F($i,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1160),D(1161,1,{},yZt),l.$k=function(){return this.a==(B8(),wU)&&ypt(this,xwn(this.f,this.b)),this.a},l._k=function(){return 0},l.al=function(){return this.c==(B8(),wU)&&Ftt(this,kwn(this.f,this.b)),this.c},l.bl=function(){return!this.d&&Ntt(this,xmn(this.f,this.b)),this.d},l.ne=function(){return this.e==t7&&cR(this,Xie(this.f,this.b)),this.e},l.cl=function(){return this.g==-2&&uR(this,T0n(this.f,this.b)),this.g},l.e=t7,l.g=-2,F($i,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1161),D(1159,1,{},eUt),l.b=!1,l.c=!1,F($i,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1159),D(1162,1,{},mZt),l.c=-2,l.e=t7,l.f=t7,F($i,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1162),D(585,622,zo,Rj),l.aj=function(){return this.c},l.Fk=function(){return!1},l.li=function(e,n){return n},l.c=0,F($i,"EDataTypeEList",585);var xLt=Ki($i,"FeatureMap");D(75,585,{3:1,4:1,20:1,28:1,52:1,14:1,15:1,54:1,67:1,63:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},ss),l.Vc=function(e,n){wwn(this,e,u(n,72))},l.Fc=function(e){return N2n(this,u(e,72))},l.Yh=function(e){knn(this,u(e,72))},l.cj=function(e,n){return nJe(this,u(e,72),n)},l.dj=function(e,n){return vwt(this,u(e,72),n)},l.ii=function(e,n){return jmn(this,e,n)},l.li=function(e,n){return v4n(this,e,u(n,72))},l._c=function(e,n){return ovn(this,e,u(n,72))},l.jj=function(e,n){return rJe(this,u(e,72),n)},l.kj=function(e,n){return TYt(this,u(e,72),n)},l.lj=function(e,n,r){return o0n(this,u(e,72),u(n,72),r)},l.oi=function(e,n){return Rst(this,e,u(n,72))},l.dl=function(e,n){return J5t(this,e,n)},l.Wc=function(e,n){var r,s,o,h,d,v,k,C,M;for(C=new Qw(n.gc()),o=n.Kc();o.Ob();)if(s=u(o.Pb(),72),h=s.ak(),X0(this.e,h))(!h.hi()||!O$(this,h,s.dd())&&!yE(C,s))&&Dr(C,s);else{for(M=ou(this.e.Tg(),h),r=u(this.g,119),d=!0,v=0;v=0;)if(n=e[this.c],this.k.rl(n.ak()))return this.j=this.f?n:n.dd(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},F($i,"BasicFeatureMap/FeatureEIterator",410),D(662,410,n0,rnt),l.Lk=function(){return!0},F($i,"BasicFeatureMap/ResolvingFeatureEIterator",662),D(955,486,NH,UUt),l.Gi=function(){return this},F($i,"EContentsEList/1",955),D(956,486,NH,wUt),l.Lk=function(){return!1},F($i,"EContentsEList/2",956),D(954,279,BH,WUt),l.Nk=function(e){},l.Ob=function(){return!1},l.Sb=function(){return!1},F($i,"EContentsEList/FeatureIteratorImpl/1",954),D(825,585,zo,E2t),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EDataTypeEList/Unsettable",825),D(1849,585,zo,eWt),l.hi=function(){return!0},F($i,"EDataTypeUniqueEList",1849),D(1850,825,zo,nWt),l.hi=function(){return!0},F($i,"EDataTypeUniqueEList/Unsettable",1850),D(139,85,zo,Fu),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentEList/Resolving",139),D(1163,545,zo,tWt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentEList/Unsettable/Resolving",1163),D(748,16,zo,hwt),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectContainmentWithInverseEList/Unsettable",748),D(1173,748,zo,hYt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1173),D(743,496,zo,k2t),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectEList/Unsettable",743),D(328,496,zo,Y3),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectResolvingEList",328),D(1641,743,zo,rWt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectResolvingEList/Unsettable",1641),D(1381,1,{},_J);var C5e;F($i,"EObjectValidator",1381),D(546,496,zo,r$),l.zk=function(){return this.d},l.Ak=function(){return this.b},l.bj=function(){return!0},l.Dk=function(){return!0},l.b=0,F($i,"EObjectWithInverseEList",546),D(1176,546,zo,fYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseEList/ManyInverse",1176),D(625,546,zo,Ent),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EObjectWithInverseEList/Unsettable",625),D(1175,625,zo,dYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseEList/Unsettable/ManyInverse",1175),D(749,546,zo,fwt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectWithInverseResolvingEList",749),D(31,749,zo,Cn),l.Ck=function(){return!0},F($i,"EObjectWithInverseResolvingEList/ManyInverse",31),D(750,625,zo,dwt),l.Ek=function(){return!0},l.li=function(e,n){return g6(this,e,u(n,56))},F($i,"EObjectWithInverseResolvingEList/Unsettable",750),D(1174,750,zo,gYt),l.Ck=function(){return!0},F($i,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1174),D(1164,622,zo),l.ai=function(){return(this.b&1792)==0},l.ci=function(){this.b|=1},l.Bk=function(){return(this.b&4)!=0},l.bj=function(){return(this.b&40)!=0},l.Ck=function(){return(this.b&16)!=0},l.Dk=function(){return(this.b&8)!=0},l.Ek=function(){return(this.b&Dy)!=0},l.rk=function(){return(this.b&32)!=0},l.Fk=function(){return(this.b&xf)!=0},l.wj=function(e){return this.d?KZt(this.d,e):this.ak().Yj().wj(e)},l.fj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},l.hi=function(){return(this.b&128)!=0},l.Xj=function(){var e;xr(this),this.b&2&&(xl(this.e)?(e=(this.b&1)!=0,this.b&=-2,n8(this,new bf(this.e,2,Gi(this.e.Tg(),this.ak()),e,!1))):this.b&=-2)},l.ni=function(){return(this.b&1536)==0},l.b=0,F($i,"EcoreEList/Generic",1164),D(1165,1164,zo,iQt),l.ak=function(){return this.a},F($i,"EcoreEList/Dynamic",1165),D(747,63,Ld,_pt),l.ri=function(e){return MD(this.a.a,e)},F($i,"EcoreEMap/1",747),D(746,85,zo,hvt),l.bi=function(e,n){Jz(this.b,u(n,133))},l.di=function(e,n){Vne(this.b)},l.ei=function(e,n,r){var s;++(s=this.b,u(n,133),s).e},l.fi=function(e,n){Wit(this.b,u(n,133))},l.gi=function(e,n,r){Wit(this.b,u(r,133)),Vt(r)===Vt(n)&&u(r,133).Th(hQe(u(n,133).cd())),Jz(this.b,u(n,133))},F($i,"EcoreEMap/DelegateEObjectContainmentEList",746),D(1171,151,j8t,rne),F($i,"EcoreEMap/Unsettable",1171),D(1172,746,zo,pYt),l.ci=function(){this.a=!0},l.fj=function(){return this.a},l.Xj=function(){var e;xr(this),xl(this.e)?(e=this.a,this.a=!1,mi(this.e,new bf(this.e,2,this.c,e,!1))):this.a=!1},l.a=!1,F($i,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1172),D(1168,228,A4,oXt),l.a=!1,l.b=!1,F($i,"EcoreUtil/Copier",1168),D(745,1,sa,PZt),l.Nb=function(e){ba(this,e)},l.Ob=function(){return Mie(this)},l.Pb=function(){var e;return Mie(this),e=this.b,this.b=null,e},l.Qb=function(){this.a.Qb()},F($i,"EcoreUtil/ProperContentIterator",745),D(1382,1381,{},tR);var _5e;F($i,"EcoreValidator",1382);var S5e;Ki($i,"FeatureMapUtil/Validator"),D(1260,1,{1942:1},SJ),l.rl=function(e){return!0},F($i,"FeatureMapUtil/1",1260),D(757,1,{1942:1},Axt),l.rl=function(e){var n;return this.c==e?!0:(n=Re(tr(this.a,e)),n==null?nmn(this,e)?(qJt(this.a,e,(Nn(),r7)),!0):(qJt(this.a,e,(Nn(),F2)),!1):n==(Nn(),r7))},l.e=!1;var $ft;F($i,"FeatureMapUtil/BasicValidator",757),D(758,43,A4,v2t),F($i,"FeatureMapUtil/BasicValidator/Cache",758),D(501,52,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,69:1,95:1},BM),l.Vc=function(e,n){sue(this.c,this.b,e,n)},l.Fc=function(e){return J5t(this.c,this.b,e)},l.Wc=function(e,n){return w3n(this.c,this.b,e,n)},l.Gc=function(e){return g9(this,e)},l.Xh=function(e,n){Ron(this.c,this.b,e,n)},l.lk=function(e,n){return W5t(this.c,this.b,e,n)},l.pi=function(e){return Iq(this.c,this.b,e,!1)},l.Zh=function(){return AUt(this.c,this.b)},l.$h=function(){return ZXe(this.c,this.b)},l._h=function(e){return Han(this.c,this.b,e)},l.mk=function(e,n){return WWt(this,e,n)},l.$b=function(){Tx(this)},l.Hc=function(e){return O$(this.c,this.b,e)},l.Ic=function(e){return qcn(this.c,this.b,e)},l.Xb=function(e){return Iq(this.c,this.b,e,!0)},l.Wj=function(e){return this},l.Xc=function(e){return tan(this.c,this.b,e)},l.dc=function(){return hj(this)},l.fj=function(){return!XD(this.c,this.b)},l.Kc=function(){return _on(this.c,this.b)},l.Yc=function(){return Son(this.c,this.b)},l.Zc=function(e){return jln(this.c,this.b,e)},l.ii=function(e,n){return Ele(this.c,this.b,e,n)},l.ji=function(e,n){Ban(this.c,this.b,e,n)},l.$c=function(e){return noe(this.c,this.b,e)},l.Mc=function(e){return Emn(this.c,this.b,e)},l._c=function(e,n){return Lle(this.c,this.b,e,n)},l.Wb=function(e){pq(this.c,this.b),g9(this,u(e,15))},l.gc=function(){return Zln(this.c,this.b)},l.Pc=function(){return Qin(this.c,this.b)},l.Qc=function(e){return ean(this.c,this.b,e)},l.Ib=function(){var e,n;for(n=new Ag,n.a+="[",e=AUt(this.c,this.b);Bit(e);)go(n,b9(Qz(e))),Bit(e)&&(n.a+=Ya);return n.a+="]",n.a},l.Xj=function(){pq(this.c,this.b)},F($i,"FeatureMapUtil/FeatureEList",501),D(627,36,nO,jrt),l.yi=function(e){return e_(this,e)},l.Di=function(e){var n,r,s,o,h,d,v;switch(this.d){case 1:case 2:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.g=e.zi(),e.xi()==1&&(this.d=1),!0;break}case 3:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=5,n=new Qw(2),Dr(n,this.g),Dr(n,e.zi()),this.g=n,!0;break}}break}case 5:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return r=u(this.g,14),r.Fc(e.zi()),!0;break}}break}case 4:{switch(o=e.xi(),o){case 3:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=1,this.g=e.zi(),!0;break}case 4:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return this.d=6,v=new Qw(2),Dr(v,this.n),Dr(v,e.Bi()),this.n=v,d=lt(ct(Cr,1),Xr,25,15,[this.o,e.Ci()]),this.g=d,!0;break}}break}case 6:{switch(o=e.xi(),o){case 4:{if(h=e.Ai(),Vt(h)===Vt(this.c)&&e_(this,null)==e.yi(null))return r=u(this.n,14),r.Fc(e.Bi()),d=u(this.g,48),s=Nt(Cr,Xr,25,d.length+1,15,1),Dc(d,0,s,0,d.length),s[d.length]=e.Ci(),this.g=s,!0;break}}break}}return!1},F($i,"FeatureMapUtil/FeatureENotificationImpl",627),D(552,501,{20:1,28:1,52:1,14:1,15:1,58:1,76:1,153:1,215:1,1937:1,69:1,95:1},qj),l.dl=function(e,n){return J5t(this.c,e,n)},l.el=function(e,n,r){return W5t(this.c,e,n,r)},l.fl=function(e,n,r){return bxt(this.c,e,n,r)},l.gl=function(){return this},l.hl=function(e,n){return SI(this.c,e,n)},l.il=function(e){return u(Iq(this.c,this.b,e,!1),72).ak()},l.jl=function(e){return u(Iq(this.c,this.b,e,!1),72).dd()},l.kl=function(){return this.a},l.ll=function(e){return!XD(this.c,e)},l.ml=function(e,n){Oq(this.c,e,n)},l.nl=function(e){return lne(this.c,e)},l.ol=function(e){Pse(this.c,e)},F($i,"FeatureMapUtil/FeatureFeatureMap",552),D(1259,1,hut,nUt),l.Wj=function(e){return Iq(this.b,this.a,-1,e)},l.fj=function(){return!XD(this.b,this.a)},l.Wb=function(e){Oq(this.b,this.a,e)},l.Xj=function(){pq(this.b,this.a)},F($i,"FeatureMapUtil/FeatureValue",1259);var J6,zft,qft,tk,A5e,wP=Ki(GH,"AnyType");D(666,60,Q0,pet),F(GH,"InvalidDatatypeValueException",666);var mU=Ki(GH,ege),vP=Ki(GH,nge),kLt=Ki(GH,rge),L5e,pc,ELt,X2,M5e,D5e,I5e,O5e,P5e,F5e,N5e,B5e,R5e,j5e,$5e,h5,z5e,f5,lA,q5e,Wv,mP,yP,H5e,hA,fA;D(830,506,{105:1,92:1,90:1,56:1,49:1,97:1,843:1},Wpt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ss(this,0)),this.c):(!this.c&&(this.c=new ss(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)):(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).kl();case 2:return r?(!this.b&&(this.b=new ss(this,2)),this.b):(!this.b&&(this.b=new ss(this,2)),this.b.b)}return uh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e),n,r)},l.jh=function(e,n,r){var s;switch(n){case 0:return!this.c&&(this.c=new ss(this,0)),EI(this.c,e,r);case 1:return(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),69)).mk(e,r);case 2:return!this.b&&(this.b=new ss(this,2)),EI(this.b,e,r)}return s=u(yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),n),66),s.Nj().Rj(this,$mt(this),n-Jn(this.zh()),e,r)},l.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).dc();case 2:return!!this.b&&this.b.i!=0}return oh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e))},l.sh=function(e,n){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),nD(this.c,n);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).Wb(n);return;case 2:!this.b&&(this.b=new ss(this,2)),nD(this.b,n);return}gh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e),n)},l.zh=function(){return Ii(),ELt},l.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),xr(this.c);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).$b();return;case 2:!this.b&&(this.b=new ss(this,2)),xr(this.b);return}fh(this,e-Jn(this.zh()),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():this.zh(),e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (mixed: ",l9(e,this.c),e.a+=", anyAttribute: ",l9(e,this.b),e.a+=")",e.a)},F(xs,"AnyTypeImpl",830),D(667,506,{105:1,92:1,90:1,56:1,49:1,97:1,2021:1,667:1},AB),l._g=function(e,n,r){switch(e){case 0:return this.a;case 1:return this.b}return uh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e),n,r)},l.lh=function(e){switch(e){case 0:return this.a!=null;case 1:return this.b!=null}return oh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e))},l.sh=function(e,n){switch(e){case 0:$tt(this,Br(n));return;case 1:kpt(this,Br(n));return}gh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e),n)},l.zh=function(){return Ii(),h5},l.Bh=function(e){switch(e){case 0:this.a=null;return;case 1:this.b=null;return}fh(this,e-Jn((Ii(),h5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():h5,e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (data: ",go(e,this.a),e.a+=", target: ",go(e,this.b),e.a+=")",e.a)},l.a=null,l.b=null,F(xs,"ProcessingInstructionImpl",667),D(668,830,{105:1,92:1,90:1,56:1,49:1,97:1,843:1,2022:1,668:1},Hqt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.c&&(this.c=new ss(this,0)),this.c):(!this.c&&(this.c=new ss(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)):(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).kl();case 2:return r?(!this.b&&(this.b=new ss(this,2)),this.b):(!this.b&&(this.b=new ss(this,2)),this.b.b);case 3:return!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0));case 4:return gwt(this.a,(!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))));case 5:return this.a}return uh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e),n,r)},l.lh=function(e){switch(e){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))!=null;case 4:return gwt(this.a,(!this.c&&(this.c=new ss(this,0)),Br(SI(this.c,(Ii(),lA),!0))))!=null;case 5:return!!this.a}return oh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e))},l.sh=function(e,n){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),nD(this.c,n);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(u(Bc(this.c,(Ii(),X2)),153),215)).Wb(n);return;case 2:!this.b&&(this.b=new ss(this,2)),nD(this.b,n);return;case 3:Jvt(this,Br(n));return;case 4:Jvt(this,pwt(this.a,n));return;case 5:vc(this,u(n,148));return}gh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e),n)},l.zh=function(){return Ii(),f5},l.Bh=function(e){switch(e){case 0:!this.c&&(this.c=new ss(this,0)),xr(this.c);return;case 1:(!this.c&&(this.c=new ss(this,0)),u(Bc(this.c,(Ii(),X2)),153)).$b();return;case 2:!this.b&&(this.b=new ss(this,2)),xr(this.b);return;case 3:!this.c&&(this.c=new ss(this,0)),Oq(this.c,(Ii(),lA),null);return;case 4:Jvt(this,pwt(this.a,null));return;case 5:this.a=null;return}fh(this,e-Jn((Ii(),f5)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():f5,e))},F(xs,"SimpleAnyTypeImpl",668),D(669,506,{105:1,92:1,90:1,56:1,49:1,97:1,2023:1,669:1},qqt),l._g=function(e,n,r){switch(e){case 0:return r?(!this.a&&(this.a=new ss(this,0)),this.a):(!this.a&&(this.a=new ss(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),this.b):(!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),wD(this.b));case 2:return r?(!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),this.c):(!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),wD(this.c));case 3:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),mP));case 4:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),yP));case 5:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),hA));case 6:return!this.a&&(this.a=new ss(this,0)),Bc(this.a,(Ii(),fA))}return uh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e),n,r)},l.jh=function(e,n,r){var s;switch(n){case 0:return!this.a&&(this.a=new ss(this,0)),EI(this.a,e,r);case 1:return!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),Oj(this.b,e,r);case 2:return!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),Oj(this.c,e,r);case 5:return!this.a&&(this.a=new ss(this,0)),WWt(Bc(this.a,(Ii(),hA)),e,r)}return s=u(yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():(Ii(),Wv),n),66),s.Nj().Rj(this,$mt(this),n-Jn((Ii(),Wv)),e,r)},l.lh=function(e){switch(e){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),mP)));case 4:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),yP)));case 5:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),hA)));case 6:return!this.a&&(this.a=new ss(this,0)),!hj(Bc(this.a,(Ii(),fA)))}return oh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e))},l.sh=function(e,n){switch(e){case 0:!this.a&&(this.a=new ss(this,0)),nD(this.a,n);return;case 1:!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),xz(this.b,n);return;case 2:!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),xz(this.c,n);return;case 3:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),mP))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,mP),u(n,14));return;case 4:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),yP))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,yP),u(n,14));return;case 5:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),hA))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,hA),u(n,14));return;case 6:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),fA))),!this.a&&(this.a=new ss(this,0)),g9(Bc(this.a,fA),u(n,14));return}gh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e),n)},l.zh=function(){return Ii(),Wv},l.Bh=function(e){switch(e){case 0:!this.a&&(this.a=new ss(this,0)),xr(this.a);return;case 1:!this.b&&(this.b=new _l((dn(),Qa),cc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new _l((dn(),Qa),cc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),mP)));return;case 4:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),yP)));return;case 5:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),hA)));return;case 6:!this.a&&(this.a=new ss(this,0)),Tx(Bc(this.a,(Ii(),fA)));return}fh(this,e-Jn((Ii(),Wv)),yn(this.j&2?(!this.k&&(this.k=new nh),this.k).ck():Wv,e))},l.Ib=function(){var e;return this.j&4?mf(this):(e=new _h(mf(this)),e.a+=" (mixed: ",l9(e,this.a),e.a+=")",e.a)},F(xs,"XMLTypeDocumentRootImpl",669),D(1919,704,{105:1,92:1,90:1,471:1,147:1,56:1,108:1,49:1,97:1,150:1,114:1,115:1,2024:1},_m),l.Ih=function(e,n){switch(e.yj()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:$o(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Br(n);case 6:return bZe(u(n,190));case 12:case 47:case 49:case 11:return bhe(this,e,n);case 13:return n==null?null:r3n(u(n,240));case 15:case 14:return n==null?null:dnn(Xt(ye(n)));case 17:return mae((Ii(),n));case 18:return mae(n);case 21:case 20:return n==null?null:gnn(u(n,155).a);case 27:return wZe(u(n,190));case 30:return Fse((Ii(),u(n,15)));case 31:return Fse(u(n,15));case 40:return mZe((Ii(),n));case 42:return yae((Ii(),n));case 43:return yae(n);case 59:case 48:return vZe((Ii(),n));default:throw it(new Fn(QE+e.ne()+Cv))}},l.Jh=function(e){var n,r,s,o,h;switch(e.G==-1&&(e.G=(r=Rl(e),r?Hg(r.Mh(),e):-1)),e.G){case 0:return n=new Wpt,n;case 1:return s=new AB,s;case 2:return o=new Hqt,o;case 3:return h=new qqt,h;default:throw it(new Fn(Kct+e.zb+Cv))}},l.Kh=function(e,n){var r,s,o,h,d,v,k,C,M,j,H,G,K,tt,gt,Mt;switch(e.yj()){case 5:case 52:case 4:return n;case 6:return Ofn(n);case 8:case 7:return n==null?null:y0n(n);case 9:return n==null?null:AD(ql((s=$c(n,!0),s.length>0&&(Rr(0,s.length),s.charCodeAt(0)==43)?s.substr(1):s),-128,127)<<24>>24);case 10:return n==null?null:AD(ql((o=$c(n,!0),o.length>0&&(Rr(0,o.length),o.charCodeAt(0)==43)?o.substr(1):o),-128,127)<<24>>24);case 11:return Br(vv(this,(Ii(),I5e),n));case 12:return Br(vv(this,(Ii(),O5e),n));case 13:return n==null?null:new gbt($c(n,!0));case 15:case 14:return z2n(n);case 16:return Br(vv(this,(Ii(),P5e),n));case 17:return zie((Ii(),n));case 18:return zie(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return $c(n,!0);case 21:case 20:return X2n(n);case 22:return Br(vv(this,(Ii(),F5e),n));case 23:return Br(vv(this,(Ii(),N5e),n));case 24:return Br(vv(this,(Ii(),B5e),n));case 25:return Br(vv(this,(Ii(),R5e),n));case 26:return Br(vv(this,(Ii(),j5e),n));case 27:return Afn(n);case 30:return qie((Ii(),n));case 31:return qie(n);case 32:return n==null?null:pe(ql((M=$c(n,!0),M.length>0&&(Rr(0,M.length),M.charCodeAt(0)==43)?M.substr(1):M),Sa,wi));case 33:return n==null?null:new Rp((j=$c(n,!0),j.length>0&&(Rr(0,j.length),j.charCodeAt(0)==43)?j.substr(1):j));case 34:return n==null?null:pe(ql((H=$c(n,!0),H.length>0&&(Rr(0,H.length),H.charCodeAt(0)==43)?H.substr(1):H),Sa,wi));case 36:return n==null?null:v2(Rq((G=$c(n,!0),G.length>0&&(Rr(0,G.length),G.charCodeAt(0)==43)?G.substr(1):G)));case 37:return n==null?null:v2(Rq((K=$c(n,!0),K.length>0&&(Rr(0,K.length),K.charCodeAt(0)==43)?K.substr(1):K)));case 40:return Vhn((Ii(),n));case 42:return Hie((Ii(),n));case 43:return Hie(n);case 44:return n==null?null:new Rp((tt=$c(n,!0),tt.length>0&&(Rr(0,tt.length),tt.charCodeAt(0)==43)?tt.substr(1):tt));case 45:return n==null?null:new Rp((gt=$c(n,!0),gt.length>0&&(Rr(0,gt.length),gt.charCodeAt(0)==43)?gt.substr(1):gt));case 46:return $c(n,!1);case 47:return Br(vv(this,(Ii(),$5e),n));case 59:case 48:return Hhn((Ii(),n));case 49:return Br(vv(this,(Ii(),z5e),n));case 50:return n==null?null:uE(ql((Mt=$c(n,!0),Mt.length>0&&(Rr(0,Mt.length),Mt.charCodeAt(0)==43)?Mt.substr(1):Mt),zH,32767)<<16>>16);case 51:return n==null?null:uE(ql((h=$c(n,!0),h.length>0&&(Rr(0,h.length),h.charCodeAt(0)==43)?h.substr(1):h),zH,32767)<<16>>16);case 53:return Br(vv(this,(Ii(),q5e),n));case 55:return n==null?null:uE(ql((d=$c(n,!0),d.length>0&&(Rr(0,d.length),d.charCodeAt(0)==43)?d.substr(1):d),zH,32767)<<16>>16);case 56:return n==null?null:uE(ql((v=$c(n,!0),v.length>0&&(Rr(0,v.length),v.charCodeAt(0)==43)?v.substr(1):v),zH,32767)<<16>>16);case 57:return n==null?null:v2(Rq((k=$c(n,!0),k.length>0&&(Rr(0,k.length),k.charCodeAt(0)==43)?k.substr(1):k)));case 58:return n==null?null:v2(Rq((C=$c(n,!0),C.length>0&&(Rr(0,C.length),C.charCodeAt(0)==43)?C.substr(1):C)));case 60:return n==null?null:pe(ql((r=$c(n,!0),r.length>0&&(Rr(0,r.length),r.charCodeAt(0)==43)?r.substr(1):r),Sa,wi));case 61:return n==null?null:pe(ql($c(n,!0),Sa,wi));default:throw it(new Fn(QE+e.ne()+Cv))}};var V5e,TLt,G5e,CLt;F(xs,"XMLTypeFactoryImpl",1919),D(586,179,{105:1,92:1,90:1,147:1,191:1,56:1,235:1,108:1,49:1,97:1,150:1,179:1,114:1,115:1,675:1,1945:1,586:1},AXt),l.N=!1,l.O=!1;var U5e=!1;F(xs,"XMLTypePackageImpl",586),D(1852,1,{837:1},hx),l._j=function(){return oxt(),exe},F(xs,"XMLTypePackageImpl/1",1852),D(1861,1,si,d1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/10",1861),D(1862,1,si,LB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/11",1862),D(1863,1,si,MB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/12",1863),D(1864,1,si,DB),l.wj=function(e){return Bm(e)},l.xj=function(e){return Nt(la,ee,333,e,7,1)},F(xs,"XMLTypePackageImpl/13",1864),D(1865,1,si,IB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/14",1865),D(1866,1,si,OB),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/15",1866),D(1867,1,si,PB),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/16",1867),D(1868,1,si,$f),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/17",1868),D(1869,1,si,du),l.wj=function(e){return _t(e,155)},l.xj=function(e){return Nt(i7,ee,155,e,0,1)},F(xs,"XMLTypePackageImpl/18",1869),D(1870,1,si,AJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/19",1870),D(1853,1,si,LJ),l.wj=function(e){return _t(e,843)},l.xj=function(e){return Nt(wP,De,843,e,0,1)},F(xs,"XMLTypePackageImpl/2",1853),D(1871,1,si,MJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/20",1871),D(1872,1,si,gu),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/21",1872),D(1873,1,si,cC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/22",1873),D(1874,1,si,FB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/23",1874),D(1875,1,si,NB),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(xs,"XMLTypePackageImpl/24",1875),D(1876,1,si,fx),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/25",1876),D(1877,1,si,DJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/26",1877),D(1878,1,si,$k),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/27",1878),D(1879,1,si,IJ),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/28",1879),D(1880,1,si,BB),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/29",1880),D(1854,1,si,OJ),l.wj=function(e){return _t(e,667)},l.xj=function(e){return Nt(mU,De,2021,e,0,1)},F(xs,"XMLTypePackageImpl/3",1854),D(1881,1,si,PJ),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(xs,"XMLTypePackageImpl/30",1881),D(1882,1,si,uC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/31",1882),D(1883,1,si,RB),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(xs,"XMLTypePackageImpl/32",1883),D(1884,1,si,UL),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/33",1884),D(1885,1,si,lC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/34",1885),D(1886,1,si,FJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/35",1886),D(1887,1,si,NJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/36",1887),D(1888,1,si,WL),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/37",1888),D(1889,1,si,hC),l.wj=function(e){return _t(e,15)},l.xj=function(e){return Nt(wh,Ty,15,e,0,1)},F(xs,"XMLTypePackageImpl/38",1889),D(1890,1,si,g1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/39",1890),D(1855,1,si,zk),l.wj=function(e){return _t(e,668)},l.xj=function(e){return Nt(vP,De,2022,e,0,1)},F(xs,"XMLTypePackageImpl/4",1855),D(1891,1,si,BJ),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/40",1891),D(1892,1,si,qk),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/41",1892),D(1893,1,si,YL),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/42",1893),D(1894,1,si,Wb),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/43",1894),D(1895,1,si,fC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/44",1895),D(1896,1,si,KL),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(xs,"XMLTypePackageImpl/45",1896),D(1897,1,si,zf),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/46",1897),D(1898,1,si,dC),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/47",1898),D(1899,1,si,p1),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/48",1899),D(ab,1,si,b1),l.wj=function(e){return _t(e,184)},l.xj=function(e){return Nt(Av,ee,184,e,0,1)},F(xs,"XMLTypePackageImpl/49",ab),D(1856,1,si,RJ),l.wj=function(e){return _t(e,669)},l.xj=function(e){return Nt(kLt,De,2023,e,0,1)},F(xs,"XMLTypePackageImpl/5",1856),D(1901,1,si,jJ),l.wj=function(e){return _t(e,162)},l.xj=function(e){return Nt(Sv,ee,162,e,0,1)},F(xs,"XMLTypePackageImpl/50",1901),D(1902,1,si,M3),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/51",1902),D(1903,1,si,Hk),l.wj=function(e){return _t(e,19)},l.xj=function(e){return Nt(ja,ee,19,e,0,1)},F(xs,"XMLTypePackageImpl/52",1903),D(1857,1,si,Vk),l.wj=function(e){return ra(e)},l.xj=function(e){return Nt(Ae,ee,2,e,6,1)},F(xs,"XMLTypePackageImpl/6",1857),D(1858,1,si,gC),l.wj=function(e){return _t(e,190)},l.xj=function(e){return Nt(Gu,ee,190,e,0,2)},F(xs,"XMLTypePackageImpl/7",1858),D(1859,1,si,$J),l.wj=function(e){return Nm(e)},l.xj=function(e){return Nt(Rs,ee,476,e,8,1)},F(xs,"XMLTypePackageImpl/8",1859),D(1860,1,si,dx),l.wj=function(e){return _t(e,217)},l.xj=function(e){return Nt(M6,ee,217,e,0,1)},F(xs,"XMLTypePackageImpl/9",1860);var Y1,lp,dA,yU,wt;D(50,60,Q0,Nr),F(Zg,"RegEx/ParseException",50),D(820,1,{},XL),l.sl=function(e){return er*16)throw it(new Nr(qr((Pr(),g0e))));r=r*16+o}while(!0);if(this.a!=125)throw it(new Nr(qr((Pr(),p0e))));if(r>e7)throw it(new Nr(qr((Pr(),b0e))));e=r}else{if(o=0,this.c!=0||(o=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(r=o,fi(this),this.c!=0||(o=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));r=r*16+o,e=r}break;case 117:if(s=0,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));n=n*16+s,e=n;break;case 118:if(fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,fi(this),this.c!=0||(s=y2(this.a))<0)throw it(new Nr(qr((Pr(),Qg))));if(n=n*16+s,n>e7)throw it(new Nr(qr((Pr(),"parser.descappe.4"))));e=n;break;case 65:case 90:case 122:throw it(new Nr(qr((Pr(),w0e))))}return e},l.ul=function(e){var n,r;switch(e){case 100:r=(this.e&32)==32?ib("Nd",!0):(gi(),xU);break;case 68:r=(this.e&32)==32?ib("Nd",!1):(gi(),DLt);break;case 119:r=(this.e&32)==32?ib("IsWord",!0):(gi(),q7);break;case 87:r=(this.e&32)==32?ib("IsWord",!1):(gi(),OLt);break;case 115:r=(this.e&32)==32?ib("IsSpace",!0):(gi(),ek);break;case 83:r=(this.e&32)==32?ib("IsSpace",!1):(gi(),ILt);break;default:throw it(new Vo((n=e,wge+n.toString(16))))}return r},l.vl=function(e){var n,r,s,o,h,d,v,k,C,M,j,H;for(this.b=1,fi(this),n=null,this.c==0&&this.a==94?(fi(this),e?M=(gi(),gi(),new Nl(5)):(n=(gi(),gi(),new Nl(4)),jc(n,0,e7),M=new Nl(4))):M=(gi(),gi(),new Nl(4)),o=!0;(H=this.c)!=1&&!(H==0&&this.a==93&&!o);){if(o=!1,r=this.a,s=!1,H==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:yy(M,this.ul(r)),s=!0;break;case 105:case 73:case 99:case 67:r=this.Ll(M,r),r<0&&(s=!0);break;case 112:case 80:if(j=u5t(this,r),!j)throw it(new Nr(qr((Pr(),cut))));yy(M,j),s=!0;break;default:r=this.tl()}else if(H==20){if(d=v8(this.i,58,this.d),d<0)throw it(new Nr(qr((Pr(),O8t))));if(v=!0,wa(this.i,this.d)==94&&(++this.d,v=!1),h=Pl(this.i,this.d,d),k=Lte(h,v,(this.e&512)==512),!k)throw it(new Nr(qr((Pr(),u0e))));if(yy(M,k),s=!0,d+1>=this.j||wa(this.i,d+1)!=93)throw it(new Nr(qr((Pr(),O8t))));this.d=d+2}if(fi(this),!s)if(this.c!=0||this.a!=45)jc(M,r,r);else{if(fi(this),(H=this.c)==1)throw it(new Nr(qr((Pr(),PH))));H==0&&this.a==93?(jc(M,r,r),jc(M,45,45)):(C=this.a,H==10&&(C=this.tl()),fi(this),jc(M,r,C))}(this.e&xf)==xf&&this.c==0&&this.a==44&&fi(this)}if(this.c==1)throw it(new Nr(qr((Pr(),PH))));return n&&(L_(n,M),M=n),v4(M),S_(M),this.b=0,fi(this),M},l.wl=function(){var e,n,r,s;for(r=this.vl(!1);(s=this.c)!=7;)if(e=this.a,s==0&&(e==45||e==38)||s==4){if(fi(this),this.c!=9)throw it(new Nr(qr((Pr(),h0e))));if(n=this.vl(!1),s==4)yy(r,n);else if(e==45)L_(r,n);else if(e==38)lhe(r,n);else throw it(new Vo("ASSERT"))}else throw it(new Nr(qr((Pr(),f0e))));return fi(this),r},l.xl=function(){var e,n;return e=this.a-48,n=(gi(),gi(),new krt(12,null,e)),!this.g&&(this.g=new ER),kR(this.g,new Spt(e)),fi(this),n},l.yl=function(){return fi(this),gi(),K5e},l.zl=function(){return fi(this),gi(),Y5e},l.Al=function(){throw it(new Nr(qr((Pr(),bh))))},l.Bl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Cl=function(){return fi(this),Gun()},l.Dl=function(){return fi(this),gi(),Q5e},l.El=function(){return fi(this),gi(),J5e},l.Fl=function(){var e;if(this.d>=this.j||((e=wa(this.i,this.d++))&65504)!=64)throw it(new Nr(qr((Pr(),a0e))));return fi(this),gi(),gi(),new Yd(0,e-64)},l.Gl=function(){return fi(this),Ayn()},l.Hl=function(){return fi(this),gi(),txe},l.Il=function(){var e;return e=(gi(),gi(),new Yd(0,105)),fi(this),e},l.Jl=function(){return fi(this),gi(),Z5e},l.Kl=function(){return fi(this),gi(),X5e},l.Ll=function(e,n){return this.tl()},l.Ml=function(){return fi(this),gi(),LLt},l.Nl=function(){var e,n,r,s,o;if(this.d+1>=this.j)throw it(new Nr(qr((Pr(),r0e))));if(s=-1,n=null,e=wa(this.i,this.d),49<=e&&e<=57){if(s=e-48,!this.g&&(this.g=new ER),kR(this.g,new Spt(s)),++this.d,wa(this.i,this.d)!=41)throw it(new Nr(qr((Pr(),I2))));++this.d}else switch(e==63&&--this.d,fi(this),n=Ixt(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw it(new Nr(qr((Pr(),I2))));break;default:throw it(new Nr(qr((Pr(),i0e))))}if(fi(this),o=cv(this),r=null,o.e==2){if(o.em()!=2)throw it(new Nr(qr((Pr(),s0e))));r=o.am(1),o=o.am(0)}if(this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),gi(),gi(),new oee(s,n,o,r)},l.Ol=function(){return fi(this),gi(),MLt},l.Pl=function(){var e;if(fi(this),e=i$(24,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Ql=function(){var e;if(fi(this),e=i$(20,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Rl=function(){var e;if(fi(this),e=i$(22,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Sl=function(){var e,n,r,s,o;for(e=0,r=0,n=-1;this.d=this.j)throw it(new Nr(qr((Pr(),D8t))));if(n==45){for(++this.d;this.d=this.j)throw it(new Nr(qr((Pr(),D8t))))}if(n==58){if(++this.d,fi(this),s=fXt(cv(this),e,r),this.c!=7)throw it(new Nr(qr((Pr(),I2))));fi(this)}else if(n==41)++this.d,fi(this),s=fXt(cv(this),e,r);else throw it(new Nr(qr((Pr(),n0e))));return s},l.Tl=function(){var e;if(fi(this),e=i$(21,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Ul=function(){var e;if(fi(this),e=i$(23,cv(this)),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Vl=function(){var e,n;if(fi(this),e=this.f++,n=Knt(cv(this),e),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),n},l.Wl=function(){var e;if(fi(this),e=Knt(cv(this),0),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Xl=function(e){return fi(this),this.c==5?(fi(this),Yj(e,(gi(),gi(),new Xm(9,e)))):Yj(e,(gi(),gi(),new Xm(3,e)))},l.Yl=function(e){var n;return fi(this),n=(gi(),gi(),new d9(2)),this.c==5?(fi(this),E2(n,pA),E2(n,e)):(E2(n,e),E2(n,pA)),n},l.Zl=function(e){return fi(this),this.c==5?(fi(this),gi(),gi(),new Xm(9,e)):(gi(),gi(),new Xm(3,e))},l.a=0,l.b=0,l.c=0,l.d=0,l.e=0,l.f=1,l.g=null,l.j=0,F(Zg,"RegEx/RegexParser",820),D(1824,820,{},Vqt),l.sl=function(e){return!1},l.tl=function(){return H5t(this)},l.ul=function(e){return ME(e)},l.vl=function(e){return nfe(this)},l.wl=function(){throw it(new Nr(qr((Pr(),bh))))},l.xl=function(){throw it(new Nr(qr((Pr(),bh))))},l.yl=function(){throw it(new Nr(qr((Pr(),bh))))},l.zl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Al=function(){return fi(this),ME(67)},l.Bl=function(){return fi(this),ME(73)},l.Cl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Dl=function(){throw it(new Nr(qr((Pr(),bh))))},l.El=function(){throw it(new Nr(qr((Pr(),bh))))},l.Fl=function(){return fi(this),ME(99)},l.Gl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Hl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Il=function(){return fi(this),ME(105)},l.Jl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Kl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ll=function(e,n){return yy(e,ME(n)),-1},l.Ml=function(){return fi(this),gi(),gi(),new Yd(0,94)},l.Nl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ol=function(){return fi(this),gi(),gi(),new Yd(0,36)},l.Pl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ql=function(){throw it(new Nr(qr((Pr(),bh))))},l.Rl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Sl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Tl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Ul=function(){throw it(new Nr(qr((Pr(),bh))))},l.Vl=function(){var e;if(fi(this),e=Knt(cv(this),0),this.c!=7)throw it(new Nr(qr((Pr(),I2))));return fi(this),e},l.Wl=function(){throw it(new Nr(qr((Pr(),bh))))},l.Xl=function(e){return fi(this),Yj(e,(gi(),gi(),new Xm(3,e)))},l.Yl=function(e){var n;return fi(this),n=(gi(),gi(),new d9(2)),E2(n,e),E2(n,pA),n},l.Zl=function(e){return fi(this),gi(),gi(),new Xm(3,e)};var d5=null,$7=null;F(Zg,"RegEx/ParserForXMLSchema",1824),D(117,1,n7,yw),l.$l=function(e){throw it(new Vo("Not supported."))},l._l=function(){return-1},l.am=function(e){return null},l.bm=function(){return null},l.cm=function(e){},l.dm=function(e){},l.em=function(){return 0},l.Ib=function(){return this.fm(0)},l.fm=function(e){return this.e==11?".":""},l.e=0;var _Lt,z7,gA,W5e,SLt,s3=null,xU,Hft=null,ALt,pA,Vft=null,LLt,MLt,DLt,ILt,OLt,Y5e,ek,K5e,X5e,Q5e,Z5e,q7,J5e,txe,k6n=F(Zg,"RegEx/Token",117);D(136,117,{3:1,136:1,117:1},Nl),l.fm=function(e){var n,r,s;if(this.e==4)if(this==ALt)r=".";else if(this==xU)r="\\d";else if(this==q7)r="\\w";else if(this==ek)r="\\s";else{for(s=new Ag,s.a+="[",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?go(s,_I(this.b[n])):(go(s,_I(this.b[n])),s.a+="-",go(s,_I(this.b[n+1])));s.a+="]",r=s.a}else if(this==DLt)r="\\D";else if(this==OLt)r="\\W";else if(this==ILt)r="\\S";else{for(s=new Ag,s.a+="[^",n=0;n0&&(s.a+=","),this.b[n]===this.b[n+1]?go(s,_I(this.b[n])):(go(s,_I(this.b[n])),s.a+="-",go(s,_I(this.b[n+1])));s.a+="]",r=s.a}return r},l.a=!1,l.c=!1,F(Zg,"RegEx/RangeToken",136),D(584,1,{584:1},Spt),l.a=0,F(Zg,"RegEx/RegexParser/ReferencePosition",584),D(583,1,{3:1,583:1},eVt),l.Fb=function(e){var n;return e==null||!_t(e,583)?!1:(n=u(e,583),hn(this.b,n.b)&&this.a==n.a)},l.Hb=function(){return Vg(this.b+"/"+B5t(this.a))},l.Ib=function(){return this.c.fm(this.a)},l.a=0,F(Zg,"RegEx/RegularExpression",583),D(223,117,n7,Yd),l._l=function(){return this.a},l.fm=function(e){var n,r,s;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:s="\\"+knt(this.a&ys);break;case 12:s="\\f";break;case 10:s="\\n";break;case 13:s="\\r";break;case 9:s="\\t";break;case 27:s="\\e";break;default:this.a>=Ka?(r=(n=this.a>>>0,"0"+n.toString(16)),s="\\v"+Pl(r,r.length-6,r.length)):s=""+knt(this.a&ys)}break;case 8:this==LLt||this==MLt?s=""+knt(this.a&ys):s="\\"+knt(this.a&ys);break;default:s=null}return s},l.a=0,F(Zg,"RegEx/Token/CharToken",223),D(309,117,n7,Xm),l.am=function(e){return this.a},l.cm=function(e){this.b=e},l.dm=function(e){this.c=e},l.em=function(){return 1},l.fm=function(e){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.fm(e)+"*";else if(this.c==this.b)n=this.a.fm(e)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.fm(e)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.fm(e)+"{"+this.c+",}";else throw it(new Vo("Token#toString(): CLOSURE "+this.c+Ya+this.b));else if(this.c<0&&this.b<0)n=this.a.fm(e)+"*?";else if(this.c==this.b)n=this.a.fm(e)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.fm(e)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.fm(e)+"{"+this.c+",}?";else throw it(new Vo("Token#toString(): NONGREEDYCLOSURE "+this.c+Ya+this.b));return n},l.b=0,l.c=0,F(Zg,"RegEx/Token/ClosureToken",309),D(821,117,n7,mvt),l.am=function(e){return e==0?this.a:this.b},l.em=function(){return 2},l.fm=function(e){var n;return this.b.e==3&&this.b.am(0)==this.a?n=this.a.fm(e)+"+":this.b.e==9&&this.b.am(0)==this.a?n=this.a.fm(e)+"+?":n=this.a.fm(e)+(""+this.b.fm(e)),n},F(Zg,"RegEx/Token/ConcatToken",821),D(1822,117,n7,oee),l.am=function(e){if(e==0)return this.d;if(e==1)return this.b;throw it(new Vo("Internal Error: "+e))},l.em=function(){return this.b?2:1},l.fm=function(e){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},l.c=0,F(Zg,"RegEx/Token/ConditionToken",1822),D(1823,117,n7,oZt),l.am=function(e){return this.b},l.em=function(){return 1},l.fm=function(e){return"(?"+(this.a==0?"":B5t(this.a))+(this.c==0?"":B5t(this.c))+":"+this.b.fm(e)+")"},l.a=0,l.c=0,F(Zg,"RegEx/Token/ModifierToken",1823),D(822,117,n7,Cvt),l.am=function(e){return this.a},l.em=function(){return 1},l.fm=function(e){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.fm(e)+")":n="("+this.a.fm(e)+")";break;case 20:n="(?="+this.a.fm(e)+")";break;case 21:n="(?!"+this.a.fm(e)+")";break;case 22:n="(?<="+this.a.fm(e)+")";break;case 23:n="(?"+this.a.fm(e)+")"}return n},l.b=0,F(Zg,"RegEx/Token/ParenToken",822),D(521,117,{3:1,117:1,521:1},krt),l.bm=function(){return this.b},l.fm=function(e){return this.e==12?"\\"+this.a:Nbn(this.b)},l.a=0,F(Zg,"RegEx/Token/StringToken",521),D(465,117,n7,d9),l.$l=function(e){E2(this,e)},l.am=function(e){return u(zw(this.a,e),117)},l.em=function(){return this.a?this.a.a.c.length:0},l.fm=function(e){var n,r,s,o,h;if(this.e==1){if(this.a.a.c.length==2)n=u(zw(this.a,0),117),r=u(zw(this.a,1),117),r.e==3&&r.am(0)==n?o=n.fm(e)+"+":r.e==9&&r.am(0)==n?o=n.fm(e)+"+?":o=n.fm(e)+(""+r.fm(e));else{for(h=new Ag,s=0;s=this.c.b:this.a<=this.c.b},l.Sb=function(){return this.b>0},l.Tb=function(){return this.b},l.Vb=function(){return this.b-1},l.Qb=function(){throw it(new Sg(Tge))},l.a=0,l.b=0,F(Z8t,"ExclusiveRange/RangeIterator",254);var xh=A8(FH,"C"),Cr=A8(rS,"I"),pl=A8(b6,"Z"),Ob=A8(iS,"J"),Gu=A8(tS,"B"),aa=A8(eS,"D"),a3=A8(nS,"F"),g5=A8(sS,"S"),E6n=Ki("org.eclipse.elk.core.labels","ILabelManager"),PLt=Ki(Ra,"DiagnosticChain"),FLt=Ki(Z0e,"ResourceSet"),NLt=F(Ra,"InvocationTargetException",null),nxe=(AR(),gan),rxe=rxe=r0n;ucn(nKe),Fcn("permProps",[[[YH,KH],[XH,"gecko1_8"]],[[YH,KH],[XH,"ie10"]],[[YH,KH],[XH,"ie8"]],[[YH,KH],[XH,"ie9"]],[[YH,KH],[XH,"safari"]]]),rxe(null,"elk",null)}).call(this)}).call(this,typeof b0<"u"?b0:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(f,p,w){function m(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function b(I,B){if(!I)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return B&&(typeof B=="object"||typeof B=="function")?B:I}function E(I,B){if(typeof B!="function"&&B!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof B);I.prototype=Object.create(B&&B.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),B&&(Object.setPrototypeOf?Object.setPrototypeOf(I,B):I.__proto__=B)}var _=f("./elk-api.js").default,A=function(I){E(B,I);function B(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};m(this,B);var R=Object.assign({},N),z=!1;try{f.resolve("web-worker"),z=!0}catch{}if(N.workerUrl)if(z){var W=f("web-worker");R.workerFactory=function(at){return new W(at)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!R.workerFactory){var et=f("./elk-worker.min.js"),st=et.Worker;R.workerFactory=function(at){return new st(at)}}return b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,R))}return B}(_);Object.defineProperty(p.exports,"__esModule",{value:!0}),p.exports=A,A.default=A},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(f,p,w){p.exports=Worker},{}]},{},[3])(3)})})(Bjt);var oWe=Bjt.exports;const cWe=G7(oWe),Rjt=new cWe;let ow={};const uWe={};let q5={};const lWe=async function(i,a,f,p,w,m,b){const _=f.select(`[id="${a}"]`).insert("g").attr("class","nodes"),A=Object.keys(i);return await Promise.all(A.map(async function(I){const B=i[I];let N="default";B.classes.length>0&&(N=B.classes.join(" ")),N=N+" flowchart-label";const R=im(B.styles);let z=B.text!==void 0?B.text:B.id;const W={width:0,height:0},et=[{id:B.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:B.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:B.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:B.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let st=0,at="",bt={};switch(B.type){case"round":st=5,at="rect";break;case"square":at="rect";break;case"diamond":at="question",bt={portConstraints:"FIXED_SIDE"};break;case"hexagon":at="hexagon";break;case"odd":at="rect_left_inv_arrow";break;case"lean_right":at="lean_right";break;case"lean_left":at="lean_left";break;case"trapezoid":at="trapezoid";break;case"inv_trapezoid":at="inv_trapezoid";break;case"odd_right":at="rect_left_inv_arrow";break;case"circle":at="circle";break;case"ellipse":at="ellipse";break;case"stadium":at="stadium";break;case"subroutine":at="subroutine";break;case"cylinder":at="cylinder";break;case"group":at="rect";break;case"doublecircle":at="doublecircle";break;default:at="rect"}const mt={labelStyle:R.labelStyle,shape:at,labelText:z,labelType:B.labelType,rx:st,ry:st,class:N,style:R.style,id:B.id,link:B.link,linkTarget:B.linkTarget,tooltip:w.db.getTooltip(B.id)||"",domId:w.db.lookUpDomId(B.id),haveCallback:B.haveCallback,width:B.type==="group"?500:void 0,dir:B.dir,type:B.type,props:B.props,padding:Fd().flowchart.padding};let yt,ft;if(mt.type!=="group")ft=await kBt(_,mt,B.dir),yt=ft.node().getBBox();else{p.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:vt,bbox:X}=await Nd(_,mt,void 0,!0);W.width=X.width,W.wrappingWidth=Fd().flowchart.wrappingWidth,W.height=X.height,W.labelNode=vt.node(),mt.labelData=W}const ut={id:B.id,ports:B.type==="diamond"?et:[],layoutOptions:bt,labelText:z,labelData:W,domId:w.db.lookUpDomId(B.id),width:yt==null?void 0:yt.width,height:yt==null?void 0:yt.height,type:B.type,el:ft,parent:m.parentById[B.id]};q5[mt.id]=ut})),b},jjt=(i,a,f)=>{const p={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return p.TD=p.TB,Ut.info("abc88",f,a,i),p[f][a][i]},$jt=(i,a,f)=>{if(Ut.info("getNextPort abc88",{node:i,edgeDirection:a,graphDirection:f}),!ow[i])switch(f){case"TB":case"TD":ow[i]={inPosition:"north",outPosition:"south"};break;case"BT":ow[i]={inPosition:"south",outPosition:"north"};break;case"RL":ow[i]={inPosition:"east",outPosition:"west"};break;case"LR":ow[i]={inPosition:"west",outPosition:"east"};break}const p=a==="in"?ow[i].inPosition:ow[i].outPosition;return a==="in"?ow[i].inPosition=jjt(ow[i].inPosition,a,f):ow[i].outPosition=jjt(ow[i].outPosition,a,f),p},hWe=(i,a)=>{let f=i.start,p=i.end;const w=f,m=p,b=q5[f],E=q5[p];return!b||!E?{source:f,target:p}:(b.type==="diamond"&&(f=`${f}-${$jt(f,"out",a)}`),E.type==="diamond"&&(p=`${p}-${$jt(p,"in",a)}`),{source:f,target:p,sourceId:w,targetId:m})},fWe=function(i,a,f,p){Ut.info("abc78 edges = ",i);const w=p.insert("g").attr("class","edgeLabels");let m={},b=a.db.getDirection(),E,_;if(i.defaultStyle!==void 0){const A=im(i.defaultStyle);E=A.style,_=A.labelStyle}return i.forEach(function(A){const I="L-"+A.start+"-"+A.end;m[I]===void 0?(m[I]=0,Ut.info("abc78 new entry",I,m[I])):(m[I]++,Ut.info("abc78 new entry",I,m[I]));let B=I+"-"+m[I];Ut.info("abc78 new link id to be used is",I,B,m[I]);const N="LS-"+A.start,R="LE-"+A.end,z={style:"",labelStyle:""};switch(z.minlen=A.length||1,A.type==="arrow_open"?z.arrowhead="none":z.arrowhead="normal",z.arrowTypeStart="arrow_open",z.arrowTypeEnd="arrow_open",A.type){case"double_arrow_cross":z.arrowTypeStart="arrow_cross";case"arrow_cross":z.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":z.arrowTypeStart="arrow_point";case"arrow_point":z.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":z.arrowTypeStart="arrow_circle";case"arrow_circle":z.arrowTypeEnd="arrow_circle";break}let W="",et="";switch(A.stroke){case"normal":W="fill:none;",E!==void 0&&(W=E),_!==void 0&&(et=_),z.thickness="normal",z.pattern="solid";break;case"dotted":z.thickness="normal",z.pattern="dotted",z.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":z.thickness="thick",z.pattern="solid",z.style="stroke-width: 3.5px;fill:none;";break}if(A.style!==void 0){const ft=im(A.style);W=ft.style,et=ft.labelStyle}z.style=z.style+=W,z.labelStyle=z.labelStyle+=et,A.interpolate!==void 0?z.curve=ew(A.interpolate,cg):i.defaultInterpolate!==void 0?z.curve=ew(i.defaultInterpolate,cg):z.curve=ew(uWe.curve,cg),A.text===void 0?A.style!==void 0&&(z.arrowheadStyle="fill: #333"):(z.arrowheadStyle="fill: #333",z.labelpos="c"),z.labelType=A.labelType,z.label=A.text.replace(Kr.lineBreakRegex,` +`),A.style===void 0&&(z.style=z.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),z.labelStyle=z.labelStyle.replace("color:","fill:"),z.id=B,z.classes="flowchart-link "+N+" "+R;const st=_Bt(w,z),{source:at,target:bt,sourceId:mt,targetId:yt}=hWe(A,b);Ut.debug("abc78 source and target",at,bt),f.edges.push({id:"e"+A.start+A.end,sources:[at],targets:[bt],sourceId:mt,targetId:yt,labelEl:st,labels:[{width:z.width,height:z.height,orgWidth:z.width,orgHeight:z.height,text:z.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:z})}),f},dWe=function(i,a,f,p,w){let m="";switch(p&&(m=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,m=m.replace(/\(/g,"\\("),m=m.replace(/\)/g,"\\)")),a.arrowTypeStart){case"arrow_cross":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-crossStart)");break;case"arrow_point":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-pointStart)");break;case"arrow_barb":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-barbStart)");break;case"arrow_circle":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-circleStart)");break;case"aggregation":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-aggregationStart)");break;case"extension":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-extensionStart)");break;case"composition":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-compositionStart)");break;case"dependency":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-dependencyStart)");break;case"lollipop":i.attr("marker-start","url("+m+"#"+w+"_"+f+"-lollipopStart)");break}switch(a.arrowTypeEnd){case"arrow_cross":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-crossEnd)");break;case"arrow_point":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-pointEnd)");break;case"arrow_barb":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-barbEnd)");break;case"arrow_circle":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-circleEnd)");break;case"aggregation":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-aggregationEnd)");break;case"extension":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-extensionEnd)");break;case"composition":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-compositionEnd)");break;case"dependency":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-dependencyEnd)");break;case"lollipop":i.attr("marker-end","url("+m+"#"+w+"_"+f+"-lollipopEnd)");break}},gWe=function(i,a){return Ut.info("Extracting classes"),a.db.getClasses()},pWe=function(i){const a={parentById:{},childrenById:{}},f=i.getSubGraphs();return Ut.info("Subgraphs - ",f),f.forEach(function(p){p.nodes.forEach(function(w){a.parentById[w]=p.id,a.childrenById[p.id]===void 0&&(a.childrenById[p.id]=[]),a.childrenById[p.id].push(w)})}),f.forEach(function(p){p.id,a.parentById[p.id]!==void 0&&a.parentById[p.id]}),a},bWe=function(i,a,f){const p=aWe(i,a,f);if(p===void 0||p==="root")return{x:0,y:0};const w=q5[p].offset;return{x:w.posX,y:w.posY}},wWe=function(i,a,f,p,w,m){const b=bWe(a.sourceId,a.targetId,w),E=a.sections[0].startPoint,_=a.sections[0].endPoint,I=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(bt=>[bt.x+b.x,bt.y+b.y]),B=[[E.x+b.x,E.y+b.y],...I,[_.x+b.x,_.y+b.y]],{x:N,y:R}=CBt(a.edgeData),z=E5().x(N).y(R).curve(cg),W=i.insert("path").attr("d",z(B)).attr("class","path "+f.classes).attr("fill","none"),et=i.insert("g").attr("class","edgeLabel"),st=yr(et.node().appendChild(a.labelEl)),at=st.node().firstChild.getBoundingClientRect();st.attr("width",at.width),st.attr("height",at.height),et.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),dWe(W,f,p.type,p.arrowMarkerAbsolute,m)},zjt=(i,a)=>{i.forEach(f=>{f.children||(f.children=[]);const p=a.childrenById[f.id];p&&p.forEach(w=>{f.children.push(q5[w])}),zjt(f.children,a)})},vWe=async function(i,a,f,p){var ut;p.db.clear(),q5={},ow={},p.db.setGen("gen-2"),p.parser.parse(i);const w=yr("body").append("div").attr("style","height:400px").attr("id","cy");let m={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Ut.info("Drawing flowchart using v3 renderer",Rjt),p.db.getDirection()){case"BT":m.layoutOptions["elk.direction"]="UP";break;case"TB":m.layoutOptions["elk.direction"]="DOWN";break;case"LR":m.layoutOptions["elk.direction"]="RIGHT";break;case"RL":m.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:E,flowchart:_}=Fd();let A;E==="sandbox"&&(A=yr("#i"+a));const I=yr(E==="sandbox"?A.nodes()[0].contentDocument.body:"body"),B=E==="sandbox"?A.nodes()[0].contentDocument:document,N=I.select(`[id="${a}"]`);PNt(N,["point","circle","cross"],p.type,a);const z=p.db.getVertices();let W;const et=p.db.getSubGraphs();Ut.info("Subgraphs - ",et);for(let vt=et.length-1;vt>=0;vt--)W=et[vt],p.db.addVertex(W.id,{text:W.title,type:W.labelType},"group",void 0,W.classes,W.dir);const st=N.insert("g").attr("class","subgraphs"),at=pWe(p.db);m=await lWe(z,a,I,B,p,at,m);const bt=N.insert("g").attr("class","edges edgePath"),mt=p.db.getEdges();m=fWe(mt,p,m,N),Object.keys(q5).forEach(vt=>{const X=q5[vt];X.parent||m.children.push(X),at.childrenById[vt]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),zjt(m.children,at),Ut.info("after layout",JSON.stringify(m,null,2));const ft=await Rjt.layout(m);qjt(0,0,ft.children,N,st,p,0),Ut.info("after layout",ft),(ut=ft.edges)==null||ut.map(vt=>{wWe(bt,vt,vt.edgeData,p,at,a)}),fT({},N,_.diagramPadding,_.useMaxWidth),w.remove()},qjt=(i,a,f,p,w,m,b)=>{f.forEach(function(E){if(E)if(q5[E.id].offset={posX:E.x+i,posY:E.y+a,x:i,y:a,depth:b,width:E.width,height:E.height},E.type==="group"){const _=w.insert("g").attr("class","subgraph");_.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",E.x+i).attr("y",E.y+a).attr("width",E.width).attr("height",E.height);const A=_.insert("g").attr("class","label"),I=Fd().flowchart.htmlLabels?E.labelData.width/2:0;A.attr("transform",`translate(${E.labels[0].x+i+E.x+I}, ${E.labels[0].y+a+E.y+3})`),A.node().appendChild(E.labelData.labelNode),Ut.info("Id (UGH)= ",E.type,E.labels)}else Ut.info("Id (UGH)= ",E.id),E.el.attr("transform",`translate(${E.x+i+E.width/2}, ${E.y+a+E.height/2})`)}),f.forEach(function(E){E&&E.type==="group"&&qjt(i+E.x,a+E.y,E.children,p,w,m,b+1)})},mWe={getClasses:gWe,draw:vWe},yWe=i=>{let a="";for(let f=0;f<5;f++)a+=` + .subgraph-lvl-${f} { + fill: ${i[`surface${f}`]}; + stroke: ${i[`surfacePeer${f}`]}; + } + `;return a},xWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:lIe,renderer:mWe,parser:Hdt,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${yWe(i)} +`}},Symbol.toStringTag,{value:"Module"}));var Ygt=function(){var i=function(N,R,z,W){for(z=z||{},W=N.length;W--;z[N[W]]=R);return z},a=[6,8,10,11,12,14,16,17,20,21],f=[1,9],p=[1,10],w=[1,11],m=[1,12],b=[1,13],E=[1,16],_=[1,17],A={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(R,z,W,et,st,at,bt){var mt=at.length-1;switch(st){case 1:return at[mt-1];case 2:this.$=[];break;case 3:at[mt-1].push(at[mt]),this.$=at[mt-1];break;case 4:case 5:this.$=at[mt];break;case 6:case 7:this.$=[];break;case 8:et.getCommonDb().setDiagramTitle(at[mt].substr(6)),this.$=at[mt].substr(6);break;case 9:this.$=at[mt].trim(),et.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=at[mt].trim(),et.getCommonDb().setAccDescription(this.$);break;case 12:et.addSection(at[mt].substr(8)),this.$=at[mt].substr(8);break;case 15:et.addTask(at[mt],0,""),this.$=at[mt];break;case 16:et.addEvent(at[mt].substr(2)),this.$=at[mt];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:p,14:w,16:m,17:b,18:14,19:15,20:E,21:_},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:18,11:f,12:p,14:w,16:m,17:b,18:14,19:15,20:E,21:_},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,19]},{15:[1,20]},i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),i(a,[2,15]),i(a,[2,16]),i(a,[2,4]),i(a,[2,9]),i(a,[2,10])],defaultActions:{},parseError:function(R,z){if(z.recoverable)this.trace(R);else{var W=new Error(R);throw W.hash=z,W}},parse:function(R){var z=this,W=[0],et=[],st=[null],at=[],bt=this.table,mt="",yt=0,ft=0,ut=2,vt=1,X=at.slice.call(arguments,1),pt=Object.create(this.lexer),U={yy:{}};for(var Tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Tt)&&(U.yy[Tt]=this.yy[Tt]);pt.setInput(R,U.yy),U.yy.lexer=pt,U.yy.parser=this,typeof pt.yylloc>"u"&&(pt.yylloc={});var nt=pt.yylloc;at.push(nt);var It=pt.options&&pt.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var me;return me=et.pop()||pt.lex()||vt,typeof me!="number"&&(me instanceof Array&&(et=me,me=et.pop()),me=z.symbols_[me]||me),me}for(var Bt,Et,Z,Ct,xt={},Ht,Le,Ft,gn;;){if(Et=W[W.length-1],this.defaultActions[Et]?Z=this.defaultActions[Et]:((Bt===null||typeof Bt>"u")&&(Bt=Ot()),Z=bt[Et]&&bt[Et][Bt]),typeof Z>"u"||!Z.length||!Z[0]){var Se="";gn=[];for(Ht in bt[Et])this.terminals_[Ht]&&Ht>ut&&gn.push("'"+this.terminals_[Ht]+"'");pt.showPosition?Se="Parse error on line "+(yt+1)+`: +`+pt.showPosition()+` +Expecting `+gn.join(", ")+", got '"+(this.terminals_[Bt]||Bt)+"'":Se="Parse error on line "+(yt+1)+": Unexpected "+(Bt==vt?"end of input":"'"+(this.terminals_[Bt]||Bt)+"'"),this.parseError(Se,{text:pt.match,token:this.terminals_[Bt]||Bt,line:pt.yylineno,loc:nt,expected:gn})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+Bt);switch(Z[0]){case 1:W.push(Bt),st.push(pt.yytext),at.push(pt.yylloc),W.push(Z[1]),Bt=null,ft=pt.yyleng,mt=pt.yytext,yt=pt.yylineno,nt=pt.yylloc;break;case 2:if(Le=this.productions_[Z[1]][1],xt.$=st[st.length-Le],xt._$={first_line:at[at.length-(Le||1)].first_line,last_line:at[at.length-1].last_line,first_column:at[at.length-(Le||1)].first_column,last_column:at[at.length-1].last_column},It&&(xt._$.range=[at[at.length-(Le||1)].range[0],at[at.length-1].range[1]]),Ct=this.performAction.apply(xt,[mt,ft,yt,U.yy,Z[1],st,at].concat(X)),typeof Ct<"u")return Ct;Le&&(W=W.slice(0,-1*Le*2),st=st.slice(0,-1*Le),at=at.slice(0,-1*Le)),W.push(this.productions_[Z[1]][0]),st.push(xt.$),at.push(xt._$),Ft=bt[W[W.length-2]][W[W.length-1]],W.push(Ft);break;case 3:return!0}}return!0}},I=function(){var N={EOF:1,parseError:function(z,W){if(this.yy.parser)this.yy.parser.parseError(z,W);else throw new Error(z)},setInput:function(R,z){return this.yy=z||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var z=R.match(/(?:\r\n?|\n).*/g);return z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var z=R.length,W=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-z),this.offset-=z;var et=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1&&(this.yylineno-=W.length-1);var st=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===et.length?this.yylloc.first_column:0)+et[et.length-W.length].length-W[0].length:this.yylloc.first_column-z},this.options.ranges&&(this.yylloc.range=[st[0],st[0]+this.yyleng-z]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),z=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+z+"^"},test_match:function(R,z){var W,et,st;if(this.options.backtrack_lexer&&(st={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(st.yylloc.range=this.yylloc.range.slice(0))),et=R[0].match(/(?:\r\n?|\n).*/g),et&&(this.yylineno+=et.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:et?et[et.length-1].length-et[et.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],W=this.performAction.call(this,this.yy,this,z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var at in st)this[at]=st[at];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,z,W,et;this._more||(this.yytext="",this.match="");for(var st=this._currentRules(),at=0;atz[0].length)){if(z=W,et=at,this.options.backtrack_lexer){if(R=this.test_match(W,st[at]),R!==!1)return R;if(this._backtrack){z=!1;continue}else return!1}else if(!this.options.flex)break}return z?(R=this.test_match(z,st[et]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var z=this.next();return z||this.lex()},begin:function(z){this.conditionStack.push(z)},popState:function(){var z=this.conditionStack.length-1;return z>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(z){return z=this.conditionStack.length-1-Math.abs(z||0),z>=0?this.conditionStack[z]:"INITIAL"},pushState:function(z){this.begin(z)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(z,W,et,st){switch(et){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return N}();A.lexer=I;function B(){this.yy={}}return B.prototype=A,A.Parser=B,new B}();Ygt.parser=Ygt;const kWe=Ygt;let yL="",Hjt=0;const Kgt=[],eK=[],xL=[],Vjt=()=>_Ot,Gjt=function(){Kgt.length=0,eK.length=0,yL="",xL.length=0,hg()},Ujt=function(i){yL=i,Kgt.push(i)},Wjt=function(){return Kgt},Yjt=function(){let i=Zjt();const a=100;let f=0;for(;!i&&ff.id===Hjt-1).events.push(i)},Qjt=function(i){const a={section:yL,type:yL,description:i,task:i,classes:[]};eK.push(a)},Zjt=function(){const i=function(f){return xL[f].processed};let a=!0;for(const[f,p]of xL.entries())i(f),a=a&&p.processed;return a},EWe=Object.freeze(Object.defineProperty({__proto__:null,addEvent:Xjt,addSection:Ujt,addTask:Kjt,addTaskOrg:Qjt,clear:Gjt,default:{clear:Gjt,getCommonDb:Vjt,addSection:Ujt,getSections:Wjt,getTasks:Yjt,addTask:Kjt,addTaskOrg:Qjt,addEvent:Xjt},getCommonDb:Vjt,getSections:Wjt,getTasks:Yjt},Symbol.toStringTag,{value:"Module"})),TWe=12,nK=function(i,a){const f=i.append("rect");return f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),f.attr("rx",a.rx),f.attr("ry",a.ry),a.class!==void 0&&f.attr("class",a.class),f},CWe=function(i,a){const p=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),w=i.append("g");w.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function m(_){const A=OA().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(_){const A=OA().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);_.append("path").attr("class","mouth").attr("d",A).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function E(_){_.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?m(w):a.score<3?b(w):E(w),p},_We=function(i,a){const f=i.append("circle");return f.attr("cx",a.cx),f.attr("cy",a.cy),f.attr("class","actor-"+a.pos),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("r",a.r),f.class!==void 0&&f.attr("class",f.class),a.title!==void 0&&f.append("title").text(a.title),f},Jjt=function(i,a){const f=a.text.replace(//gi," "),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.attr("class","legend"),p.style("text-anchor",a.anchor),a.class!==void 0&&p.attr("class",a.class);const w=p.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),p},SWe=function(i,a){function f(w,m,b,E,_){return w+","+m+" "+(w+b)+","+m+" "+(w+b)+","+(m+E-_)+" "+(w+b-_*1.2)+","+(m+E)+" "+w+","+(m+E)}const p=i.append("polygon");p.attr("points",f(a.x,a.y,50,20,7)),p.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,Jjt(i,a)},AWe=function(i,a,f){const p=i.append("g"),w=Xgt();w.x=a.x,w.y=a.y,w.fill=a.fill,w.width=f.width,w.height=f.height,w.class="journey-section section-type-"+a.num,w.rx=3,w.ry=3,nK(p,w),e$t(f)(a.text,p,w.x,w.y,w.width,w.height,{class:"journey-section section-type-"+a.num},f,a.colour)};let t$t=-1;const LWe=function(i,a,f){const p=a.x+f.width/2,w=i.append("g");t$t++;const m=300+5*30;w.append("line").attr("id","task"+t$t).attr("x1",p).attr("y1",a.y).attr("x2",p).attr("y2",m).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),CWe(w,{cx:p,cy:300+(5-a.score)*30,score:a.score});const b=Xgt();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=f.width,b.height=f.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,nK(w,b),a.x+14,e$t(f)(a.task,w,b.x,b.y,b.width,b.height,{class:"task"},f,a.colour)},MWe=function(i,a){nK(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,class:"rect"}).lower()},DWe=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},Xgt=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},e$t=function(){function i(w,m,b,E,_,A,I,B){const N=m.append("text").attr("x",b+_/2).attr("y",E+A/2+5).style("font-color",B).style("text-anchor","middle").text(w);p(N,I)}function a(w,m,b,E,_,A,I,B,N){const{taskFontSize:R,taskFontFamily:z}=B,W=w.split(//gi);for(let et=0;et)/).reverse(),w,m=[],b=1.1,E=f.attr("y"),_=parseFloat(f.attr("dy")),A=f.text(null).append("tspan").attr("x",0).attr("y",E).attr("dy",_+"em");for(let I=0;Ia||w==="
    ")&&(m.pop(),A.text(m.join(" ").trim()),w==="
    "?m=[""]:m=[w],A=f.append("tspan").attr("x",0).attr("y",E).attr("dy",b+"em").text(w))})}const OWe=function(i,a,f,p){const w=f%TWe-1,m=i.append("g");a.section=w,m.attr("class",(a.class?a.class+" ":"")+"timeline-node "+("section-"+w));const b=m.append("g"),E=m.append("g"),A=E.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(n$t,a.width).node().getBBox(),I=p.fontSize&&p.fontSize.replace?p.fontSize.replace("px",""):p.fontSize;return a.height=A.height+I*1.1*.5+a.padding,a.height=Math.max(a.height,a.maxHeight),a.width=a.width+2*a.padding,E.attr("transform","translate("+a.width/2+", "+a.padding/2+")"),FWe(b,a,w),a},PWe=function(i,a,f){const p=i.append("g"),m=p.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(n$t,a.width).node().getBBox(),b=f.fontSize&&f.fontSize.replace?f.fontSize.replace("px",""):f.fontSize;return p.remove(),m.height+b*1.1*.5+a.padding},FWe=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+a.type).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},DT={drawRect:nK,drawCircle:_We,drawSection:AWe,drawText:Jjt,drawLabel:SWe,drawTask:LWe,drawBackgroundRect:MWe,getTextObj:DWe,getNoteRect:Xgt,initGraphics:IWe,drawNode:OWe,getVirtualNodeHeight:PWe},NWe=function(i,a,f,p){var X,pt;const w=Oe(),m=w.leftMargin??50;Ut.debug("timeline",p.db);const b=w.securityLevel;let E;b==="sandbox"&&(E=yr("#i"+a));const A=yr(b==="sandbox"?E.nodes()[0].contentDocument.body:"body").select("#"+a);A.append("g");const I=p.db.getTasks(),B=p.db.getCommonDb().getDiagramTitle();Ut.debug("task",I),DT.initGraphics(A);const N=p.db.getSections();Ut.debug("sections",N);let R=0,z=0,W=0,et=0,st=50+m,at=50;et=50;let bt=0,mt=!0;N.forEach(function(U){const Tt={number:bt,descr:U,section:bt,width:150,padding:20,maxHeight:R},nt=DT.getVirtualNodeHeight(A,Tt,w);Ut.debug("sectionHeight before draw",nt),R=Math.max(R,nt+20)});let yt=0,ft=0;Ut.debug("tasks.length",I.length);for(const[U,Tt]of I.entries()){const nt={number:U,descr:Tt,section:Tt.section,width:150,padding:20,maxHeight:z},It=DT.getVirtualNodeHeight(A,nt,w);Ut.debug("taskHeight before draw",It),z=Math.max(z,It+20),yt=Math.max(yt,Tt.events.length);let Ot=0;for(let Bt=0;Bt0?N.forEach(U=>{const Tt=I.filter(Bt=>Bt.section===U),nt={number:bt,descr:U,section:bt,width:200*Math.max(Tt.length,1)-50,padding:20,maxHeight:R};Ut.debug("sectionNode",nt);const It=A.append("g"),Ot=DT.drawNode(It,nt,bt,w);Ut.debug("sectionNode output",Ot),It.attr("transform",`translate(${st}, ${et})`),at+=R+50,Tt.length>0&&r$t(A,Tt,bt,st,at,z,w,yt,ft,R,!1),st+=200*Math.max(Tt.length,1),at=et,bt++}):(mt=!1,r$t(A,I,bt,st,at,z,w,yt,ft,R,!0));const ut=A.node().getBBox();Ut.debug("bounds",ut),B&&A.append("text").text(B).attr("x",ut.width/2-m).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),W=mt?R+z+150:z+100,A.append("g").attr("class","lineWrapper").append("line").attr("x1",m).attr("y1",W).attr("x2",ut.width+3*m).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),fT(void 0,A,((X=w.timeline)==null?void 0:X.padding)??50,((pt=w.timeline)==null?void 0:pt.useMaxWidth)??!1)},r$t=function(i,a,f,p,w,m,b,E,_,A,I){var B;for(const N of a){const R={descr:N.task,section:f,number:f,width:150,padding:20,maxHeight:m};Ut.debug("taskNode",R);const z=i.append("g").attr("class","taskWrapper"),et=DT.drawNode(z,R,f,b).height;if(Ut.debug("taskHeight after draw",et),z.attr("transform",`translate(${p}, ${w})`),m=Math.max(m,et),N.events){const st=i.append("g").attr("class","lineWrapper");let at=m;w+=100,at=at+BWe(i,N.events,f,p,w,b),w-=100,st.append("line").attr("x1",p+190/2).attr("y1",w+m).attr("x2",p+190/2).attr("y2",w+m+(I?m:A)+_+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}p=p+200,I&&!((B=b.timeline)!=null&&B.disableMulticolor)&&f++}w=w-10},BWe=function(i,a,f,p,w,m){let b=0;const E=w;w=w+100;for(const _ of a){const A={descr:_,section:f,number:f,width:150,padding:20,maxHeight:50};Ut.debug("eventNode",A);const I=i.append("g").attr("class","eventWrapper"),N=DT.drawNode(I,A,f,m).height;b=b+N,I.attr("transform",`translate(${p}, ${w})`),w=w+10+N}return w=E,b},RWe={setConf:()=>{},draw:NWe},jWe=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${jWe(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var Qgt=function(){var i=function(mt,yt,ft,ut){for(ft=ft||{},ut=mt.length;ut--;ft[mt[ut]]=yt);return ft},a=[1,4],f=[1,13],p=[1,12],w=[1,15],m=[1,16],b=[1,20],E=[1,19],_=[6,7,8],A=[1,26],I=[1,24],B=[1,25],N=[6,7,11],R=[1,6,13,15,16,19,22],z=[1,33],W=[1,34],et=[1,6,7,11,13,15,16,19,22],st={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(yt,ft,ut,vt,X,pt,U){var Tt=pt.length-1;switch(X){case 6:case 7:return vt;case 8:vt.getLogger().trace("Stop NL ");break;case 9:vt.getLogger().trace("Stop EOF ");break;case 11:vt.getLogger().trace("Stop NL2 ");break;case 12:vt.getLogger().trace("Stop EOF2 ");break;case 15:vt.getLogger().info("Node: ",pt[Tt].id),vt.addNode(pt[Tt-1].length,pt[Tt].id,pt[Tt].descr,pt[Tt].type);break;case 16:vt.getLogger().trace("Icon: ",pt[Tt]),vt.decorateNode({icon:pt[Tt]});break;case 17:case 21:vt.decorateNode({class:pt[Tt]});break;case 18:vt.getLogger().trace("SPACELIST");break;case 19:vt.getLogger().trace("Node: ",pt[Tt].id),vt.addNode(0,pt[Tt].id,pt[Tt].descr,pt[Tt].type);break;case 20:vt.decorateNode({icon:pt[Tt]});break;case 25:vt.getLogger().trace("node found ..",pt[Tt-2]),this.$={id:pt[Tt-1],descr:pt[Tt-1],type:vt.getType(pt[Tt-2],pt[Tt])};break;case 26:this.$={id:pt[Tt],descr:pt[Tt],type:vt.nodeType.DEFAULT};break;case 27:vt.getLogger().trace("node found ..",pt[Tt-3]),this.$={id:pt[Tt-3],descr:pt[Tt-1],type:vt.getType(pt[Tt-2],pt[Tt])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:a},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:a},{6:f,7:[1,10],9:9,12:11,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},i(_,[2,3]),{1:[2,2]},i(_,[2,4]),i(_,[2,5]),{1:[2,6],6:f,12:21,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},{6:f,9:22,12:11,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},{6:A,7:I,10:23,11:B},i(N,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:E}),i(N,[2,18]),i(N,[2,19]),i(N,[2,20]),i(N,[2,21]),i(N,[2,23]),i(N,[2,24]),i(N,[2,26],{19:[1,30]}),{20:[1,31]},{6:A,7:I,10:32,11:B},{1:[2,7],6:f,12:21,13:p,14:14,15:w,16:m,17:17,18:18,19:b,22:E},i(R,[2,14],{7:z,11:W}),i(et,[2,8]),i(et,[2,9]),i(et,[2,10]),i(N,[2,15]),i(N,[2,16]),i(N,[2,17]),{20:[1,35]},{21:[1,36]},i(R,[2,13],{7:z,11:W}),i(et,[2,11]),i(et,[2,12]),{21:[1,37]},i(N,[2,25]),i(N,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(yt,ft){if(ft.recoverable)this.trace(yt);else{var ut=new Error(yt);throw ut.hash=ft,ut}},parse:function(yt){var ft=this,ut=[0],vt=[],X=[null],pt=[],U=this.table,Tt="",nt=0,It=0,Ot=2,Bt=1,Et=pt.slice.call(arguments,1),Z=Object.create(this.lexer),Ct={yy:{}};for(var xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xt)&&(Ct.yy[xt]=this.yy[xt]);Z.setInput(yt,Ct.yy),Ct.yy.lexer=Z,Ct.yy.parser=this,typeof Z.yylloc>"u"&&(Z.yylloc={});var Ht=Z.yylloc;pt.push(Ht);var Le=Z.options&&Z.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var Pe;return Pe=vt.pop()||Z.lex()||Bt,typeof Pe!="number"&&(Pe instanceof Array&&(vt=Pe,Pe=vt.pop()),Pe=ft.symbols_[Pe]||Pe),Pe}for(var gn,Se,me,Ve,Ye={},ce,ke,zt,re;;){if(Se=ut[ut.length-1],this.defaultActions[Se]?me=this.defaultActions[Se]:((gn===null||typeof gn>"u")&&(gn=Ft()),me=U[Se]&&U[Se][gn]),typeof me>"u"||!me.length||!me[0]){var se="";re=[];for(ce in U[Se])this.terminals_[ce]&&ce>Ot&&re.push("'"+this.terminals_[ce]+"'");Z.showPosition?se="Parse error on line "+(nt+1)+`: +`+Z.showPosition()+` +Expecting `+re.join(", ")+", got '"+(this.terminals_[gn]||gn)+"'":se="Parse error on line "+(nt+1)+": Unexpected "+(gn==Bt?"end of input":"'"+(this.terminals_[gn]||gn)+"'"),this.parseError(se,{text:Z.match,token:this.terminals_[gn]||gn,line:Z.yylineno,loc:Ht,expected:re})}if(me[0]instanceof Array&&me.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+gn);switch(me[0]){case 1:ut.push(gn),X.push(Z.yytext),pt.push(Z.yylloc),ut.push(me[1]),gn=null,It=Z.yyleng,Tt=Z.yytext,nt=Z.yylineno,Ht=Z.yylloc;break;case 2:if(ke=this.productions_[me[1]][1],Ye.$=X[X.length-ke],Ye._$={first_line:pt[pt.length-(ke||1)].first_line,last_line:pt[pt.length-1].last_line,first_column:pt[pt.length-(ke||1)].first_column,last_column:pt[pt.length-1].last_column},Le&&(Ye._$.range=[pt[pt.length-(ke||1)].range[0],pt[pt.length-1].range[1]]),Ve=this.performAction.apply(Ye,[Tt,It,nt,Ct.yy,me[1],X,pt].concat(Et)),typeof Ve<"u")return Ve;ke&&(ut=ut.slice(0,-1*ke*2),X=X.slice(0,-1*ke),pt=pt.slice(0,-1*ke)),ut.push(this.productions_[me[1]][0]),X.push(Ye.$),pt.push(Ye._$),zt=U[ut[ut.length-2]][ut[ut.length-1]],ut.push(zt);break;case 3:return!0}}return!0}},at=function(){var mt={EOF:1,parseError:function(ft,ut){if(this.yy.parser)this.yy.parser.parseError(ft,ut);else throw new Error(ft)},setInput:function(yt,ft){return this.yy=ft||this.yy||{},this._input=yt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var yt=this._input[0];this.yytext+=yt,this.yyleng++,this.offset++,this.match+=yt,this.matched+=yt;var ft=yt.match(/(?:\r\n?|\n).*/g);return ft?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),yt},unput:function(yt){var ft=yt.length,ut=yt.split(/(?:\r\n?|\n)/g);this._input=yt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ft),this.offset-=ft;var vt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ut.length-1&&(this.yylineno-=ut.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ut?(ut.length===vt.length?this.yylloc.first_column:0)+vt[vt.length-ut.length].length-ut[0].length:this.yylloc.first_column-ft},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ft]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(yt){this.unput(this.match.slice(yt))},pastInput:function(){var yt=this.matched.substr(0,this.matched.length-this.match.length);return(yt.length>20?"...":"")+yt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var yt=this.match;return yt.length<20&&(yt+=this._input.substr(0,20-yt.length)),(yt.substr(0,20)+(yt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var yt=this.pastInput(),ft=new Array(yt.length+1).join("-");return yt+this.upcomingInput()+` +`+ft+"^"},test_match:function(yt,ft){var ut,vt,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),vt=yt[0].match(/(?:\r\n?|\n).*/g),vt&&(this.yylineno+=vt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:vt?vt[vt.length-1].length-vt[vt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+yt[0].length},this.yytext+=yt[0],this.match+=yt[0],this.matches=yt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(yt[0].length),this.matched+=yt[0],ut=this.performAction.call(this,this.yy,this,ft,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ut)return ut;if(this._backtrack){for(var pt in X)this[pt]=X[pt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var yt,ft,ut,vt;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),pt=0;ptft[0].length)){if(ft=ut,vt=pt,this.options.backtrack_lexer){if(yt=this.test_match(ut,X[pt]),yt!==!1)return yt;if(this._backtrack){ft=!1;continue}else return!1}else if(!this.options.flex)break}return ft?(yt=this.test_match(ft,X[vt]),yt!==!1?yt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ft=this.next();return ft||this.lex()},begin:function(ft){this.conditionStack.push(ft)},popState:function(){var ft=this.conditionStack.length-1;return ft>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ft){return ft=this.conditionStack.length-1-Math.abs(ft||0),ft>=0?this.conditionStack[ft]:"INITIAL"},pushState:function(ft){this.begin(ft)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ft,ut,vt,X){switch(vt){case 0:return ft.getLogger().trace("Found comment",ut.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:ft.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ft.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ft.getLogger().trace("end icon"),this.popState();break;case 10:return ft.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ft.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ft.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ft.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:ft.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ft.getLogger().trace("description:",ut.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ft.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ft.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ft.getLogger().trace("node end ...",ut.yytext),"NODE_DEND";case 30:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ft.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ft.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ft.getLogger().trace("node end (("),"NODE_DEND";case 35:return ft.getLogger().trace("Long description:",ut.yytext),20;case 36:return ft.getLogger().trace("Long description:",ut.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return mt}();st.lexer=at;function bt(){this.yy={}}return bt.prototype=st,st.Parser=bt,new bt}();Qgt.parser=Qgt;const zWe=Qgt,rN=i=>Q1(i,Oe());let cw=[],i$t=0,Zgt={};const qWe=()=>{cw=[],i$t=0,Zgt={}},HWe=function(i){for(let a=cw.length-1;a>=0;a--)if(cw[a].levelcw.length>0?cw[0]:null,GWe=(i,a,f,p)=>{Ut.info("addNode",i,a,f,p);const w=Oe(),m={id:i$t++,nodeId:rN(a),level:i,descr:rN(f),type:p,children:[],width:Oe().mindmap.maxNodeWidth};switch(m.type){case Uu.ROUNDED_RECT:m.padding=2*w.mindmap.padding;break;case Uu.RECT:m.padding=2*w.mindmap.padding;break;case Uu.HEXAGON:m.padding=2*w.mindmap.padding;break;default:m.padding=w.mindmap.padding}const b=HWe(i);if(b)b.children.push(m),cw.push(m);else if(cw.length===0)cw.push(m);else{let E=new Error('There can be only one root. No parent could be found for ("'+m.descr+'")');throw E.hash={text:"branch "+name,token:"branch "+name,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+name+'"']},E}},Uu={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},UWe=(i,a)=>{switch(Ut.debug("In get type",i,a),i){case"[":return Uu.RECT;case"(":return a===")"?Uu.ROUNDED_RECT:Uu.CLOUD;case"((":return Uu.CIRCLE;case")":return Uu.CLOUD;case"))":return Uu.BANG;case"{{":return Uu.HEXAGON;default:return Uu.DEFAULT}},s$t=(i,a)=>{Zgt[i]=a},WWe=i=>{const a=cw[cw.length-1];i&&i.icon&&(a.icon=rN(i.icon)),i&&i.class&&(a.class=rN(i.class))},IT=i=>{switch(i){case Uu.DEFAULT:return"no-border";case Uu.RECT:return"rect";case Uu.ROUNDED_RECT:return"rounded-rect";case Uu.CIRCLE:return"circle";case Uu.CLOUD:return"cloud";case Uu.BANG:return"bang";case Uu.HEXAGON:return"hexgon";default:return"no-border"}};let a$t;const YWe=i=>{a$t=i},KWe=()=>Ut,XWe=i=>cw[i],Jgt=i=>Zgt[i],QWe=Object.freeze(Object.defineProperty({__proto__:null,addNode:GWe,clear:qWe,decorateNode:WWe,getElementById:Jgt,getLogger:KWe,getMindmap:VWe,getNodeById:XWe,getType:UWe,nodeType:Uu,get parseError(){return a$t},sanitizeText:rN,setElementForId:s$t,setErrorHandler:YWe,type2Str:IT},Symbol.toStringTag,{value:"Module"})),o$t=12,ZWe=function(i,a,f){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+f).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},JWe=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("height",a.height).attr("width",a.width)},tYe=function(i,a){const f=a.width,p=a.height,w=.15*f,m=.25*f,b=.35*f,E=.2*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 0 a${w},${w} 0 0,1 ${f*.25},${-1*f*.1} + a${b},${b} 1 0,1 ${f*.4},${-1*f*.1} + a${m},${m} 1 0,1 ${f*.35},${1*f*.2} + + a${w},${w} 1 0,1 ${f*.15},${1*p*.35} + a${E},${E} 1 0,1 ${-1*f*.15},${1*p*.65} + + a${m},${w} 1 0,1 ${-1*f*.25},${f*.15} + a${b},${b} 1 0,1 ${-1*f*.5},0 + a${w},${w} 1 0,1 ${-1*f*.25},${-1*f*.15} + + a${w},${w} 1 0,1 ${-1*f*.1},${-1*p*.35} + a${E},${E} 1 0,1 ${f*.1},${-1*p*.65} + + H0 V0 Z`)},eYe=function(i,a){const f=a.width,p=a.height,w=.15*f;i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("d",`M0 0 a${w},${w} 1 0,0 ${f*.25},${-1*p*.1} + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},0 + a${w},${w} 1 0,0 ${f*.25},${1*p*.1} + + a${w},${w} 1 0,0 ${f*.15},${1*p*.33} + a${w*.8},${w*.8} 1 0,0 0,${1*p*.34} + a${w},${w} 1 0,0 ${-1*f*.15},${1*p*.33} + + a${w},${w} 1 0,0 ${-1*f*.25},${p*.15} + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},0 + a${w},${w} 1 0,0 ${-1*f*.25},${-1*p*.15} + + a${w},${w} 1 0,0 ${-1*f*.1},${-1*p*.33} + a${w*.8},${w*.8} 1 0,0 0,${-1*p*.34} + a${w},${w} 1 0,0 ${f*.1},${-1*p*.33} + + H0 V0 Z`)},nYe=function(i,a){i.append("circle").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("r",a.width/2)};function rYe(i,a,f,p,w){return i.insert("polygon",":first-child").attr("points",p.map(function(m){return m.x+","+m.y}).join(" ")).attr("transform","translate("+(w.width-a)/2+", "+f+")")}const iYe=function(i,a){const f=a.height,w=f/4,m=a.width-a.padding+2*w,b=[{x:w,y:0},{x:m-w,y:0},{x:m,y:-f/2},{x:m-w,y:-f},{x:w,y:-f},{x:0,y:-f/2}];rYe(i,m,f,b,a)},sYe=function(i,a){i.append("rect").attr("id","node-"+a.id).attr("class","node-bkg node-"+IT(a.type)).attr("height",a.height).attr("rx",a.padding).attr("ry",a.padding).attr("width",a.width)},c$t={drawNode:function(i,a,f,p){const w=p.htmlLabels,m=f%(o$t-1),b=i.append("g");a.section=m;let E="section-"+m;m<0&&(E+=" section-root"),b.attr("class",(a.class?a.class+" ":"")+"mindmap-node "+E);const _=b.append("g"),A=b.append("g"),I=a.descr.replace(/()/g,` +`);EY(A,I,{useHtmlLabels:w,width:a.width,classes:"mindmap-node-label"}),w||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const B=A.node().getBBox(),N=p.fontSize.replace?p.fontSize.replace("px",""):p.fontSize;if(a.height=B.height+N*1.1*.5+a.padding,a.width=B.width+2*a.padding,a.icon)if(a.type===Uu.CIRCLE)a.height+=50,a.width+=50,b.append("foreignObject").attr("height","50px").attr("width",a.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+m+" "+a.icon),A.attr("transform","translate("+a.width/2+", "+(a.height/2-1.5*a.padding)+")");else{a.width+=50;const R=a.height;a.height=Math.max(R,60);const z=Math.abs(a.height-R);b.append("foreignObject").attr("width","60px").attr("height",a.height).attr("style","text-align: center;margin-top:"+z/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+m+" "+a.icon),A.attr("transform","translate("+(25+a.width/2)+", "+(z/2+a.padding/2)+")")}else if(w){const R=(a.width-B.width)/2,z=(a.height-B.height)/2;A.attr("transform","translate("+R+", "+z+")")}else{const R=a.width/2,z=a.padding/2;A.attr("transform","translate("+R+", "+z+")")}switch(a.type){case Uu.DEFAULT:ZWe(_,a,m);break;case Uu.ROUNDED_RECT:sYe(_,a);break;case Uu.RECT:JWe(_,a);break;case Uu.CIRCLE:_.attr("transform","translate("+a.width/2+", "+ +a.height/2+")"),nYe(_,a);break;case Uu.CLOUD:tYe(_,a);break;case Uu.BANG:eYe(_,a);break;case Uu.HEXAGON:iYe(_,a);break}return s$t(a.id,b),a.height},positionNode:function(i){const a=Jgt(i.id),f=i.x||0,p=i.y||0;a.attr("transform","translate("+f+","+p+")")},drawEdge:function(a,f,p,w,m){const b=m%(o$t-1),E=p.x+p.width/2,_=p.y+p.height/2,A=f.x+f.width/2,I=f.y+f.height/2,B=A>E?E+Math.abs(E-A)/2:E-Math.abs(E-A)/2,N=I>_?_+Math.abs(_-I)/2:_-Math.abs(_-I)/2,R=A>E?Math.abs(E-B)/2+E:-Math.abs(E-B)/2+E,z=I>_?Math.abs(_-N)/2+_:-Math.abs(_-N)/2+_;a.append("path").attr("d",p.direction==="TB"||p.direction==="BT"?`M${E},${_} Q${E},${z} ${B},${N} T${A},${I}`:`M${E},${_} Q${R},${_} ${B},${N} T${A},${I}`).attr("class","edge section-edge-"+b+" edge-depth-"+w)}};var u$t={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){function f(y){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},f(y)}function p(y,g){if(!(y instanceof g))throw new TypeError("Cannot call a class as a function")}function w(y,g){for(var x=0;xy.length)&&(g=y.length);for(var x=0,T=new Array(g);x"u"?null:window,z=R?R.navigator:null;R&&R.document;var W=f(""),et=f({}),st=f(function(){}),at=typeof HTMLElement>"u"?"undefined":f(HTMLElement),bt=function(g){return g&&g.instanceString&&yt(g.instanceString)?g.instanceString():null},mt=function(g){return g!=null&&f(g)==W},yt=function(g){return g!=null&&f(g)===st},ft=function(g){return!Tt(g)&&(Array.isArray?Array.isArray(g):g!=null&&g instanceof Array)},ut=function(g){return g!=null&&f(g)===et&&!ft(g)&&g.constructor===Object},vt=function(g){return g!=null&&f(g)===et},X=function(g){return g!=null&&f(g)===f(1)&&!isNaN(g)},pt=function(g){return X(g)&&Math.floor(g)===g},U=function(g){if(at!=="undefined")return g!=null&&g instanceof HTMLElement},Tt=function(g){return nt(g)||It(g)},nt=function(g){return bt(g)==="collection"&&g._private.single},It=function(g){return bt(g)==="collection"&&!g._private.single},Ot=function(g){return bt(g)==="core"},Bt=function(g){return bt(g)==="stylesheet"},Et=function(g){return bt(g)==="event"},Z=function(g){return g==null?!0:!!(g===""||g.match(/^\s+$/))},Ct=function(g){return typeof HTMLElement>"u"?!1:g instanceof HTMLElement},xt=function(g){return ut(g)&&X(g.x1)&&X(g.x2)&&X(g.y1)&&X(g.y2)},Ht=function(g){return vt(g)&&yt(g.then)},Le=function(){return z&&z.userAgent.match(/msie|trident|edge/i)},Ft=function(g,x){x||(x=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],P=0;Px?1:0},Me=function(g,x){return-1*te(g,x)},de=Object.assign!=null?Object.assign.bind(Object):function(y){for(var g=arguments,x=1;x1&&(Lt-=1),Lt<1/6?ht+(dt-ht)*6*Lt:Lt<1/2?dt:Lt<2/3?ht+(dt-ht)*(2/3-Lt)*6:ht}var Y=new RegExp("^"+zt+"$").exec(g);if(Y){if(T=parseInt(Y[1]),T<0?T=(360- -1*T%360)%360:T>360&&(T=T%360),T/=360,L=parseFloat(Y[2]),L<0||L>100||(L=L/100,O=parseFloat(Y[3]),O<0||O>100)||(O=O/100,P=Y[4],P!==void 0&&(P=parseFloat(P),P<0||P>1)))return;if(L===0)$=q=S=Math.round(O*255);else{var rt=O<.5?O*(1+L):O+L-O*L,ot=2*O-rt;$=Math.round(255*V(ot,rt,T+1/3)),q=Math.round(255*V(ot,rt,T)),S=Math.round(255*V(ot,rt,T-1/3))}x=[$,q,S,P]}return x},Ks=function(g){var x,T=new RegExp("^"+ce+"$").exec(g);if(T){x=[];for(var L=[],O=1;O<=3;O++){var P=T[O];if(P[P.length-1]==="%"&&(L[O]=!0),P=parseFloat(P),L[O]&&(P=P/100*255),P<0||P>255)return;x.push(Math.floor(P))}var $=L[1]||L[2]||L[3],q=L[1]&&L[2]&&L[3];if($&&!q)return;var S=T[4];if(S!==void 0){if(S=parseFloat(S),S<0||S>1)return;x.push(S)}}return x},ws=function(g){return Xi[g.toLowerCase()]},fo=function(g){return(ft(g)?g:null)||ws(g)||on(g)||Ks(g)||ni(g)},Xi={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Er=function(g){for(var x=g.map,T=g.keys,L=T.length,O=0;O=g||qt<0||Y&&ne>=O}function kt(){var Yt=Po();if(Lt(Yt))return Dt(Yt);$=setTimeout(kt,dt(Yt))}function Dt(Yt){return $=void 0,rt&&T?ot(Yt):(T=L=void 0,P)}function Pt(){$!==void 0&&clearTimeout($),S=0,T=q=L=$=void 0}function $t(){return $===void 0?P:Dt(Po())}function Zt(){var Yt=Po(),qt=Lt(Yt);if(T=arguments,L=this,q=Yt,qt){if($===void 0)return ht(q);if(Y)return clearTimeout($),$=setTimeout(kt,g),ot(q)}return $===void 0&&($=setTimeout(kt,g)),P}return Zt.cancel=Pt,Zt.flush=$t,Zt}var Yc=xi,Ce=R?R.performance:null,vp=Ce&&Ce.now?function(){return Ce.now()}:function(){return Date.now()},Be=function(){if(R){if(R.requestAnimationFrame)return function(y){R.requestAnimationFrame(y)};if(R.mozRequestAnimationFrame)return function(y){R.mozRequestAnimationFrame(y)};if(R.webkitRequestAnimationFrame)return function(y){R.webkitRequestAnimationFrame(y)};if(R.msRequestAnimationFrame)return function(y){R.msRequestAnimationFrame(y)}}return function(y){y&&setTimeout(function(){y(vp())},1e3/60)}}(),Bf=function(g){return Be(g)},yg=vp,bm=9261,Ek=65599,E3=5381,Il=function(g){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bm,T=x,L;L=g.next(),!L.done;)T=T*Ek+L.value|0;return T},L0=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bm;return x*Ek+g|0},hw=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:E3;return(x<<5)+x+g|0},H5=function(g,x){return g*2097152+x},Hb=function(g){return g[0]*2097152+g[1]},V5=function(g,x){return[L0(g[0],x[0]),hw(g[1],x[1])]},f1=function(g,x){var T={value:0,done:!1},L=0,O=g.length,P={next:function(){return L=0&&!(g[L]===x&&(g.splice(L,1),T));L--);},TL=function(g){g.splice(0,g.length)},aN=function(g,x){for(var T=0;T"u"?"undefined":f(Set))!==fK?Set:dK,FT=function(g,x){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(g===void 0||x===void 0||!Ot(g)){vl("An element must have a core reference and parameters set");return}var L=x.group;if(L==null&&(x.data&&x.data.source!=null&&x.data.target!=null?L="edges":L="nodes"),L!=="nodes"&&L!=="edges"){vl("An element must be of type `nodes` or `edges`; you specified `"+L+"`");return}this.length=1,this[0]=this;var O=this._private={cy:g,single:!0,data:x.data||{},position:x.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:L,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!x.selected,selectable:x.selectable===void 0?!0:!!x.selectable,locked:!!x.locked,grabbed:!1,grabbable:x.grabbable===void 0?!0:!!x.grabbable,pannable:x.pannable===void 0?L==="edges":!!x.pannable,active:!1,classes:new Y5,animation:{current:[],queue:[]},rscratch:{},scratch:x.scratch||{},edges:[],children:[],parent:x.parent&&x.parent.isNode()?x.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),x.renderedPosition){var P=x.renderedPosition,$=g.pan(),q=g.zoom();O.position={x:(P.x-$.x)/q,y:(P.y-$.y)/q}}var S=[];ft(x.classes)?S=x.classes:mt(x.classes)&&(S=x.classes.split(/\s+/));for(var V=0,Y=S.length;VDt?1:0},V=function(kt,Dt,Pt,$t,Zt){var Yt;if(Pt==null&&(Pt=0),Zt==null&&(Zt=T),Pt<0)throw new Error("lo must be non-negative");for($t==null&&($t=kt.length);Pt<$t;)Yt=L((Pt+$t)/2),Zt(Dt,kt[Yt])<0?$t=Yt:Pt=Yt+1;return[].splice.apply(kt,[Pt,Pt-Pt].concat(Dt)),Dt},$=function(kt,Dt,Pt){return Pt==null&&(Pt=T),kt.push(Dt),dt(kt,0,kt.length-1,Pt)},P=function(kt,Dt){var Pt,$t;return Dt==null&&(Dt=T),Pt=kt.pop(),kt.length?($t=kt[0],kt[0]=Pt,Lt(kt,0,Dt)):$t=Pt,$t},S=function(kt,Dt,Pt){var $t;return Pt==null&&(Pt=T),$t=kt[0],kt[0]=Dt,Lt(kt,0,Pt),$t},q=function(kt,Dt,Pt){var $t;return Pt==null&&(Pt=T),kt.length&&Pt(kt[0],Dt)<0&&($t=[kt[0],Dt],Dt=$t[0],kt[0]=$t[1],Lt(kt,0,Pt)),Dt},O=function(kt,Dt){var Pt,$t,Zt,Yt,qt,ne;for(Dt==null&&(Dt=T),Yt=(function(){ne=[];for(var Gt=0,ge=L(kt.length/2);0<=ge?Gtge;0<=ge?Gt++:Gt--)ne.push(Gt);return ne}).apply(this).reverse(),qt=[],$t=0,Zt=Yt.length;$tbe;0<=be?++ne:--ne)ie.push(P(kt,Pt));return ie},dt=function(kt,Dt,Pt,$t){var Zt,Yt,qt;for($t==null&&($t=T),Zt=kt[Pt];Pt>Dt;){if(qt=Pt-1>>1,Yt=kt[qt],$t(Zt,Yt)<0){kt[Pt]=Yt,Pt=qt;continue}break}return kt[Pt]=Zt},Lt=function(kt,Dt,Pt){var $t,Zt,Yt,qt,ne;for(Pt==null&&(Pt=T),Zt=kt.length,ne=Dt,Yt=kt[Dt],$t=2*Dt+1;$t0;){var Yt=Dt.pop(),qt=Lt(Yt),ne=Yt.id();if(rt[ne]=qt,qt!==1/0)for(var Gt=Yt.neighborhood().intersect(ht),ge=0;ge0)for(En.unshift(Ge);Y[Yn];){var Sn=Y[Yn];En.unshift(Sn.edge),En.unshift(Sn.node),In=Sn.node,Yn=In.id()}return $.spawn(En)}}}},wK={kruskal:function(g){g=g||function(Pt){return 1};for(var x=this.byGroup(),T=x.nodes,L=x.edges,O=T.length,P=new Array(O),$=T,q=function($t){for(var Zt=0;Zt0;){if(Zt(),qt++,$t===V){for(var ne=[],Gt=O,ge=V,be=kt[ge];ne.unshift(Gt),be!=null&&ne.unshift(be),Gt=Lt[ge],Gt!=null;)ge=Gt.id(),be=kt[ge];return{found:!0,distance:Y[$t],path:this.spawn(ne),steps:qt}}ot[$t]=!0;for(var ie=Pt._private.edges,Fe=0;Febe&&(ht[ge]=be,Dt[ge]=Gt,Pt[ge]=Zt),!O){var ie=Gt*V+ne;!O&&ht[ie]>be&&(ht[ie]=be,Dt[ie]=ne,Pt[ie]=Zt)}}}for(var Fe=0;Fe1&&arguments[1]!==void 0?arguments[1]:P,Va=Pt(Si),Qs=[],qs=Va;;){if(qs==null)return x.spawn();var Tr=Dt(qs),Qt=Tr.edge,jn=Tr.pred;if(Qs.unshift(qs[0]),qs.same(Ui)&&Qs.length>0)break;Qt!=null&&Qs.unshift(Qt),qs=jn}return q.spawn(Qs)},Yt=0;Yt=0;V--){var Y=S[V],rt=Y[1],ot=Y[2];(x[rt]===$&&x[ot]===q||x[rt]===q&&x[ot]===$)&&S.splice(V,1)}for(var ht=0;htL;){var O=Math.floor(Math.random()*x.length);x=CK(O,g,x),T--}return x},_K={kargerStein:function(){var g=this,x=this.byGroup(),T=x.nodes,L=x.edges;L.unmergeBy(function(En){return En.isLoop()});var O=T.length,P=L.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),q=Math.floor(O/TK);if(O<2){vl("At least 2 nodes are required for Karger-Stein algorithm");return}for(var S=[],V=0;V1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=-1/0,O=x;O1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=0,O=0,P=x;P1&&arguments[1]!==void 0?arguments[1]:0,T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g.length,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,P=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;L?g=g.slice(x,T):(T0&&g.splice(0,x));for(var $=0,q=g.length-1;q>=0;q--){var S=g[q];P?isFinite(S)||(g[q]=-1/0,$++):g.splice(q,1)}O&&g.sort(function(rt,ot){return rt-ot});var V=g.length,Y=Math.floor(V/2);return V%2!==0?g[Y+1+$]:(g[Y-1+$]+g[Y+$])/2},IK=function(g){return Math.PI*g/180},BT=function(g,x){return Math.atan2(x,g)-Math.PI/2},_L=Math.log2||function(y){return Math.log(y)/Math.log(2)},uN=function(g){return g>0?1:g<0?-1:0},C3=function(g,x){return Math.sqrt(_3(g,x))},_3=function(g,x){var T=x.x-g.x,L=x.y-g.y;return T*T+L*L},OK=function(g){for(var x=g.length,T=0,L=0;L=g.x1&&g.y2>=g.y1)return{x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2,w:g.x2-g.x1,h:g.y2-g.y1};if(g.w!=null&&g.h!=null&&g.w>=0&&g.h>=0)return{x1:g.x1,y1:g.y1,x2:g.x1+g.w,y2:g.y1+g.h,w:g.w,h:g.h}}},FK=function(g){return{x1:g.x1,x2:g.x2,w:g.w,y1:g.y1,y2:g.y2,h:g.h}},NK=function(g){g.x1=1/0,g.y1=1/0,g.x2=-1/0,g.y2=-1/0,g.w=0,g.h=0},BK=function(g,x){g.x1=Math.min(g.x1,x.x1),g.x2=Math.max(g.x2,x.x2),g.w=g.x2-g.x1,g.y1=Math.min(g.y1,x.y1),g.y2=Math.max(g.y2,x.y2),g.h=g.y2-g.y1},RK=function(g,x,T){g.x1=Math.min(g.x1,x),g.x2=Math.max(g.x2,x),g.w=g.x2-g.x1,g.y1=Math.min(g.y1,T),g.y2=Math.max(g.y2,T),g.h=g.y2-g.y1},RT=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return g.x1-=x,g.x2+=x,g.y1-=x,g.y2+=x,g.w=g.x2-g.x1,g.h=g.y2-g.y1,g},SL=function(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],T,L,O,P;if(x.length===1)T=L=O=P=x[0];else if(x.length===2)T=O=x[0],P=L=x[1];else if(x.length===4){var $=E(x,4);T=$[0],L=$[1],O=$[2],P=$[3]}return g.x1-=P,g.x2+=L,g.y1-=T,g.y2+=O,g.w=g.x2-g.x1,g.h=g.y2-g.y1,g},lN=function(g,x){g.x1=x.x1,g.y1=x.y1,g.x2=x.x2,g.y2=x.y2,g.w=g.x2-g.x1,g.h=g.y2-g.y1},AL=function(g,x){return!(g.x1>x.x2||x.x1>g.x2||g.x2x.y2||x.y1>g.y2)},Q5=function(g,x,T){return g.x1<=x&&x<=g.x2&&g.y1<=T&&T<=g.y2},jK=function(g,x){return Q5(g,x.x,x.y)},hN=function(g,x){return Q5(g,x.x1,x.y1)&&Q5(g,x.x2,x.y2)},fN=function(g,x,T,L,O,P,$){var q=Lk(O,P),S=O/2,V=P/2,Y;{var rt=T-S+q-$,ot=L-V-$,ht=T+S-q+$,dt=ot;if(Y=ym(g,x,T,L,rt,ot,ht,dt,!1),Y.length>0)return Y}{var Lt=T+S+$,kt=L-V+q-$,Dt=Lt,Pt=L+V-q+$;if(Y=ym(g,x,T,L,Lt,kt,Dt,Pt,!1),Y.length>0)return Y}{var $t=T-S+q-$,Zt=L+V+$,Yt=T+S-q+$,qt=Zt;if(Y=ym(g,x,T,L,$t,Zt,Yt,qt,!1),Y.length>0)return Y}{var ne=T-S-$,Gt=L-V+q-$,ge=ne,be=L+V-q+$;if(Y=ym(g,x,T,L,ne,Gt,ge,be,!1),Y.length>0)return Y}var ie;{var Fe=T-S+q,we=L-V+q;if(ie=Sk(g,x,T,L,Fe,we,q+$),ie.length>0&&ie[0]<=Fe&&ie[1]<=we)return[ie[0],ie[1]]}{var bn=T+S-q,ze=L-V+q;if(ie=Sk(g,x,T,L,bn,ze,q+$),ie.length>0&&ie[0]>=bn&&ie[1]<=ze)return[ie[0],ie[1]]}{var Ge=T+S-q,En=L+V-q;if(ie=Sk(g,x,T,L,Ge,En,q+$),ie.length>0&&ie[0]>=Ge&&ie[1]>=En)return[ie[0],ie[1]]}{var In=T-S+q,Yn=L+V-q;if(ie=Sk(g,x,T,L,In,Yn,q+$),ie.length>0&&ie[0]<=In&&ie[1]>=Yn)return[ie[0],ie[1]]}return[]},$K=function(g,x,T,L,O,P,$){var q=$,S=Math.min(T,O),V=Math.max(T,O),Y=Math.min(L,P),rt=Math.max(L,P);return S-q<=g&&g<=V+q&&Y-q<=x&&x<=rt+q},zK=function(g,x,T,L,O,P,$,q,S){var V={x1:Math.min(T,$,O)-S,x2:Math.max(T,$,O)+S,y1:Math.min(L,q,P)-S,y2:Math.max(L,q,P)+S};return!(gV.x2||xV.y2)},qK=function(g,x,T,L){T-=L;var O=x*x-4*g*T;if(O<0)return[];var P=Math.sqrt(O),$=2*g,q=(-x+P)/$,S=(-x-P)/$;return[q,S]},HK=function(g,x,T,L,O){var P=1e-5;g===0&&(g=P),x/=g,T/=g,L/=g;var $,q,S,V,Y,rt,ot,ht;if(q=(3*T-x*x)/9,S=-(27*L)+x*(9*T-2*(x*x)),S/=54,$=q*q*q+S*S,O[1]=0,ot=x/3,$>0){Y=S+Math.sqrt($),Y=Y<0?-Math.pow(-Y,1/3):Math.pow(Y,1/3),rt=S-Math.sqrt($),rt=rt<0?-Math.pow(-rt,1/3):Math.pow(rt,1/3),O[0]=-ot+Y+rt,ot+=(Y+rt)/2,O[4]=O[2]=-ot,ot=Math.sqrt(3)*(-rt+Y)/2,O[3]=ot,O[5]=-ot;return}if(O[5]=O[3]=0,$===0){ht=S<0?-Math.pow(-S,1/3):Math.pow(S,1/3),O[0]=-ot+2*ht,O[4]=O[2]=-(ht+ot);return}q=-q,V=q*q*q,V=Math.acos(S/Math.sqrt(V)),ht=2*Math.sqrt(q),O[0]=-ot+ht*Math.cos(V/3),O[2]=-ot+ht*Math.cos((V+2*Math.PI)/3),O[4]=-ot+ht*Math.cos((V+4*Math.PI)/3)},VK=function(g,x,T,L,O,P,$,q){var S=1*T*T-4*T*O+2*T*$+4*O*O-4*O*$+$*$+L*L-4*L*P+2*L*q+4*P*P-4*P*q+q*q,V=1*9*T*O-3*T*T-3*T*$-6*O*O+3*O*$+9*L*P-3*L*L-3*L*q-6*P*P+3*P*q,Y=1*3*T*T-6*T*O+T*$-T*g+2*O*O+2*O*g-$*g+3*L*L-6*L*P+L*q-L*x+2*P*P+2*P*x-q*x,rt=1*T*O-T*T+T*g-O*g+L*P-L*L+L*x-P*x,ot=[];HK(S,V,Y,rt,ot);for(var ht=1e-7,dt=[],Lt=0;Lt<6;Lt+=2)Math.abs(ot[Lt+1])=0&&ot[Lt]<=1&&dt.push(ot[Lt]);dt.push(1),dt.push(0);for(var kt=-1,Dt,Pt,$t,Zt=0;Zt=0?$tS?(g-O)*(g-O)+(x-P)*(x-P):V-rt},qd=function(g,x,T){for(var L,O,P,$,q,S=0,V=0;V=g&&g>=P||L<=g&&g<=P)q=(g-L)/(P-L)*($-O)+O,q>x&&S++;else continue;return S%2!==0},dw=function(g,x,T,L,O,P,$,q,S){var V=new Array(T.length),Y;q[0]!=null?(Y=Math.atan(q[1]/q[0]),q[0]<0?Y=Y+Math.PI/2:Y=-Y-Math.PI/2):Y=q;for(var rt=Math.cos(-Y),ot=Math.sin(-Y),ht=0;ht0){var Lt=gN(V,-S);dt=dN(Lt)}else dt=V;return qd(g,x,dt)},UK=function(g,x,T,L,O,P,$){for(var q=new Array(T.length),S=P/2,V=$/2,Y=DL(P,$),rt=Y*Y,ot=0;ot=0&&Lt<=1&&Dt.push(Lt),kt>=0&&kt<=1&&Dt.push(kt),Dt.length===0)return[];var Pt=Dt[0]*q[0]+g,$t=Dt[0]*q[1]+x;if(Dt.length>1){if(Dt[0]==Dt[1])return[Pt,$t];var Zt=Dt[1]*q[0]+g,Yt=Dt[1]*q[1]+x;return[Pt,$t,Zt,Yt]}else return[Pt,$t]},LL=function(g,x,T){return x<=g&&g<=T||T<=g&&g<=x?g:g<=x&&x<=T||T<=x&&x<=g?x:T},ym=function(g,x,T,L,O,P,$,q,S){var V=g-O,Y=T-g,rt=$-O,ot=x-P,ht=L-x,dt=q-P,Lt=rt*ot-dt*V,kt=Y*ot-ht*V,Dt=dt*Y-rt*ht;if(Dt!==0){var Pt=Lt/Dt,$t=kt/Dt,Zt=.001,Yt=0-Zt,qt=1+Zt;return Yt<=Pt&&Pt<=qt&&Yt<=$t&&$t<=qt?[g+Pt*Y,x+Pt*ht]:S?[g+Pt*Y,x+Pt*ht]:[]}else return Lt===0||kt===0?LL(g,T,$)===$?[$,q]:LL(g,T,O)===O?[O,P]:LL(O,$,T)===T?[T,L]:[]:[]},Ak=function(g,x,T,L,O,P,$,q){var S=[],V,Y=new Array(T.length),rt=!0;P==null&&(rt=!1);var ot;if(rt){for(var ht=0;ht0){var dt=gN(Y,-q);ot=dN(dt)}else ot=Y}else ot=T;for(var Lt,kt,Dt,Pt,$t=0;$t2){for(var ze=[S[0],S[1]],Ge=Math.pow(ze[0]-g,2)+Math.pow(ze[1]-x,2),En=1;EnV&&(V=$t)},get:function(Pt){return S[Pt]}},rt=0;rt<$.length;rt++){var ot=$[rt],ht=ot.id();T?q[ht]=ot.outgoers().nodes():q[ht]=ot.openNeighborhood().nodes(),Y.set(ht,0)}for(var dt=function(Pt){for(var $t=$[Pt].id(),Zt=[],Yt={},qt={},ne={},Gt=new Ck(function(ur,er){return ne[ur]-ne[er]}),ge=0;ge<$.length;ge++){var be=$[ge].id();Yt[be]=[],qt[be]=0,ne[be]=1/0}for(qt[$t]=1,ne[$t]=0,Gt.push($t);!Gt.empty();){var ie=Gt.pop();if(Zt.push(ie),O)for(var Fe=0;Fe0?ze=bn.edgesTo(we)[0]:ze=we.edgesTo(bn)[0];var Ge=L(ze);we=we.id(),ne[we]>ne[ie]+Ge&&(ne[we]=ne[ie]+Ge,Gt.nodes.indexOf(we)<0?Gt.push(we):Gt.updateItem(we),qt[we]=0,Yt[we]=[]),ne[we]==ne[ie]+Ge&&(qt[we]=qt[we]+qt[ie],Yt[we].push(ie))}else for(var En=0;En0;){for(var Wn=Zt.pop(),rr=0;rr0&&$.push(T[q]);$.length!==0&&O.push(L.collection($))}return O},oX=function(g,x){for(var T=0;T5&&arguments[5]!==void 0?arguments[5]:lX,$=L,q,S,V=0;V=2?Mk(g,x,T,0,TN,hX):Mk(g,x,T,0,EN)},squaredEuclidean:function(g,x,T){return Mk(g,x,T,0,TN)},manhattan:function(g,x,T){return Mk(g,x,T,0,EN)},max:function(g,x,T){return Mk(g,x,T,-1/0,fX)}};tx["squared-euclidean"]=tx.squaredEuclidean,tx.squaredeuclidean=tx.squaredEuclidean;function $T(y,g,x,T,L,O){var P;return yt(y)?P=y:P=tx[y]||tx.euclidean,g===0&&yt(y)?P(L,O):P(g,x,T,L,O)}var dX=Rf({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),PL=function(g){return dX(g)},zT=function(g,x,T,L,O){var P=O!=="kMedoids",$=P?function(Y){return T[Y]}:function(Y){return L[Y](T)},q=function(rt){return L[rt](x)},S=T,V=x;return $T(g,L.length,$,q,S,V)},FL=function(g,x,T){for(var L=T.length,O=new Array(L),P=new Array(L),$=new Array(x),q=null,S=0;ST)return!1}return!0},bX=function(g,x,T){for(var L=0;L$&&($=x[S][V],q=V);O[q].push(g[S])}for(var Y=0;Y=O.threshold||O.mode==="dendrogram"&&g.length===1)return!1;var ht=x[P],dt=x[L[P]],Lt;O.mode==="dendrogram"?Lt={left:ht,right:dt,key:ht.key}:Lt={value:ht.value.concat(dt.value),key:ht.key},g[ht.index]=Lt,g.splice(dt.index,1),x[ht.key]=Lt;for(var kt=0;ktT[dt.key][Dt.key]&&(q=T[dt.key][Dt.key])):O.linkage==="max"?(q=T[ht.key][Dt.key],T[ht.key][Dt.key]0&&L.push(O);return L},IN=function(g,x,T){for(var L=[],O=0;O$&&(P=S,$=x[O*g+S])}P>0&&L.push(P)}for(var V=0;VS&&(q=V,S=Y)}T[O]=P[q]}return L=IN(g,x,T),L},ON=function(g){for(var x=this.cy(),T=this.nodes(),L=MX(g),O={},P=0;P=be?(ie=be,be=we,Fe=bn):we>ie&&(ie=we);for(var ze=0;ze<$;ze++)Y[ge*$+ze]=(1-L.damping)*(S[ge*$+ze]-be)+L.damping*Pt[ze];Y[ge*$+Fe]=(1-L.damping)*(S[ge*$+Fe]-ie)+L.damping*Pt[Fe]}for(var Ge=0;Ge<$;Ge++){for(var En=0,In=0;In<$;In++)Pt[In]=rt[In*$+Ge],$t[In]=Math.max(0,Y[In*$+Ge]),En+=$t[In];En-=$t[Ge],$t[Ge]=Y[Ge*$+Ge],En+=$t[Ge];for(var Yn=0;Yn<$;Yn++)rt[Yn*$+Ge]=(1-L.damping)*Math.min(0,En-$t[Yn])+L.damping*Pt[Yn];rt[Ge*$+Ge]=(1-L.damping)*(En-$t[Ge])+L.damping*Pt[Ge]}for(var Sn=0,Wn=0;Wn<$;Wn++){var rr=rt[Wn*$+Wn]+Y[Wn*$+Wn]>0?1:0;qt[Gt%L.minIterations*$+Wn]=rr,Sn+=rr}if(Sn>0&&(Gt>=L.minIterations-1||Gt==L.maxIterations-1)){for(var wr=0,ur=0;ur<$;ur++){Zt[ur]=0;for(var er=0;er1||Yt>1)&&($=!0),Y[Pt]=[],Dt.outgoers().forEach(function(ne){ne.isEdge()&&Y[Pt].push(ne.id())})}else rt[Pt]=[void 0,Dt.target().id()]}):P.forEach(function(Dt){var Pt=Dt.id();if(Dt.isNode()){var $t=Dt.degree(!0);$t%2&&(q?S?$=!0:S=Pt:q=Pt),Y[Pt]=[],Dt.connectedEdges().forEach(function(Zt){return Y[Pt].push(Zt.id())})}else rt[Pt]=[Dt.source().id(),Dt.target().id()]});var ot={found:!1,trail:void 0};if($)return ot;if(S&&q)if(O){if(V&&S!=V)return ot;V=S}else{if(V&&S!=V&&q!=V)return ot;V||(V=S)}else V||(V=P[0].id());var ht=function(Pt){for(var $t=Pt,Zt=[Pt],Yt,qt,ne;Y[$t].length;)Yt=Y[$t].shift(),qt=rt[Yt][0],ne=rt[Yt][1],$t!=ne?(Y[ne]=Y[ne].filter(function(Gt){return Gt!=Yt}),$t=ne):!O&&$t!=qt&&(Y[qt]=Y[qt].filter(function(Gt){return Gt!=Yt}),$t=qt),Zt.unshift(Yt),Zt.unshift($t);return Zt},dt=[],Lt=[];for(Lt=ht(V);Lt.length!=1;)Y[Lt[0]].length==0?(dt.unshift(P.getElementById(Lt.shift())),dt.unshift(P.getElementById(Lt.shift()))):Lt=ht(Lt.shift()).concat(Lt);dt.unshift(P.getElementById(Lt.shift()));for(var kt in Y)if(Y[kt].length)return ot;return ot.found=!0,ot.trail=this.spawn(dt,!0),ot}},HT=function(){var g=this,x={},T=0,L=0,O=[],P=[],$={},q=function(rt,ot){for(var ht=P.length-1,dt=[],Lt=g.spawn();P[ht].x!=rt||P[ht].y!=ot;)dt.push(P.pop().edge),ht--;dt.push(P.pop().edge),dt.forEach(function(kt){var Dt=kt.connectedNodes().intersection(g);Lt.merge(kt),Dt.forEach(function(Pt){var $t=Pt.id(),Zt=Pt.connectedEdges().intersection(g);Lt.merge(Pt),x[$t].cutVertex?Lt.merge(Zt.filter(function(Yt){return Yt.isLoop()})):Lt.merge(Zt)})}),O.push(Lt)},S=function Y(rt,ot,ht){rt===ht&&(L+=1),x[ot]={id:T,low:T++,cutVertex:!1};var dt=g.getElementById(ot).connectedEdges().intersection(g);if(dt.size()===0)O.push(g.spawn(g.getElementById(ot)));else{var Lt,kt,Dt,Pt;dt.forEach(function($t){Lt=$t.source().id(),kt=$t.target().id(),Dt=Lt===ot?kt:Lt,Dt!==ht&&(Pt=$t.id(),$[Pt]||($[Pt]=!0,P.push({x:ot,y:Dt,edge:$t})),Dt in x?x[ot].low=Math.min(x[ot].low,x[Dt].id):(Y(rt,Dt,ot),x[ot].low=Math.min(x[ot].low,x[Dt].low),x[ot].id<=x[Dt].low&&(x[ot].cutVertex=!0,q(ot,Dt))))})}};g.forEach(function(Y){if(Y.isNode()){var rt=Y.id();rt in x||(L=0,S(rt,rt),x[rt].cutVertex=L>1)}});var V=Object.keys(x).filter(function(Y){return x[Y].cutVertex}).map(function(Y){return g.getElementById(Y)});return{cut:g.spawn(V),components:O}},RX={hopcroftTarjanBiconnected:HT,htbc:HT,htb:HT,hopcroftTarjanBiconnectedComponents:HT},VT=function(){var g=this,x={},T=0,L=[],O=[],P=g.spawn(g),$=function q(S){O.push(S),x[S]={index:T,low:T++,explored:!1};var V=g.getElementById(S).connectedEdges().intersection(g);if(V.forEach(function(dt){var Lt=dt.target().id();Lt!==S&&(Lt in x||q(Lt),x[Lt].explored||(x[S].low=Math.min(x[S].low,x[Lt].low)))}),x[S].index===x[S].low){for(var Y=g.spawn();;){var rt=O.pop();if(Y.merge(g.getElementById(rt)),x[rt].low=x[S].index,x[rt].explored=!0,rt===S)break}var ot=Y.edgesWith(Y),ht=Y.merge(ot);L.push(ht),P=P.difference(ht)}};return g.forEach(function(q){if(q.isNode()){var S=q.id();S in x||$(S)}}),{cut:P,components:L}},jX={tarjanStronglyConnected:VT,tsc:VT,tscc:VT,tarjanStronglyConnectedComponents:VT},PN={};[Tk,bK,wK,mK,xK,EK,_K,QK,Z5,J5,OL,uX,kX,AX,FX,BX,RX,jX].forEach(function(y){de(PN,y)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var FN=0,NN=1,BN=2,gw=function y(g){if(!(this instanceof y))return new y(g);this.id="Thenable/1.0.7",this.state=FN,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof g=="function"&&g.call(this,this.fulfill.bind(this),this.reject.bind(this))};gw.prototype={fulfill:function(g){return RN(this,NN,"fulfillValue",g)},reject:function(g){return RN(this,BN,"rejectReason",g)},then:function(g,x){var T=this,L=new gw;return T.onFulfilled.push(zN(g,L,"fulfill")),T.onRejected.push(zN(x,L,"reject")),jN(T),L.proxy}};var RN=function(g,x,T,L){return g.state===FN&&(g.state=x,g[T]=L,jN(g)),g},jN=function(g){g.state===NN?$N(g,"onFulfilled",g.fulfillValue):g.state===BN&&$N(g,"onRejected",g.rejectReason)},$N=function(g,x,T){if(g[x].length!==0){var L=g[x];g[x]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var x=this,T=x.length!==void 0,L=T?x:[x],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var P=0;P-1}var $Q=jQ;function zQ(y,g){var x=this.__data__,T=WT(x,y);return T<0?(++this.size,x.push([y,g])):x[T][1]=g,this}var qQ=zQ;function rx(y){var g=-1,x=y==null?0:y.length;for(this.clear();++g-1&&y%1==0&&y0&&this.spawn(L).updateStyle().emit("class"),x},addClass:function(g){return this.toggleClass(g,!0)},hasClass:function(g){var x=this[0];return x!=null&&x._private.classes.has(g)},toggleClass:function(g,x){ft(g)||(g=g.match(/\S+/g)||[]);for(var T=this,L=x===void 0,O=[],P=0,$=T.length;P<$;P++)for(var q=T[P],S=q._private.classes,V=!1,Y=0;Y0&&this.spawn(O).updateStyle().emit("class"),T},removeClass:function(g){return this.toggleClass(g,!1)},flashClass:function(g,x){var T=this;if(x==null)x=250;else if(x===0)return T;return T.addClass(g),setTimeout(function(){T.removeClass(g)},x),T}};QT.className=QT.classNames=QT.classes;var tc={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ye,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tc.variable="(?:[\\w-.]|(?:\\\\"+tc.metaChar+"))+",tc.className="(?:[\\w-]|(?:\\\\"+tc.metaChar+"))+",tc.value=tc.string+"|"+tc.number,tc.id=tc.variable,function(){var y,g,x;for(y=tc.comparatorOp.split("|"),x=0;x=0)&&g!=="="&&(tc.comparatorOp+="|\\!"+g)}();var Kc=function(){return{checks:[]}},zi={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},zL=[{selector:":selected",matches:function(g){return g.selected()}},{selector:":unselected",matches:function(g){return!g.selected()}},{selector:":selectable",matches:function(g){return g.selectable()}},{selector:":unselectable",matches:function(g){return!g.selectable()}},{selector:":locked",matches:function(g){return g.locked()}},{selector:":unlocked",matches:function(g){return!g.locked()}},{selector:":visible",matches:function(g){return g.visible()}},{selector:":hidden",matches:function(g){return!g.visible()}},{selector:":transparent",matches:function(g){return g.transparent()}},{selector:":grabbed",matches:function(g){return g.grabbed()}},{selector:":free",matches:function(g){return!g.grabbed()}},{selector:":removed",matches:function(g){return g.removed()}},{selector:":inside",matches:function(g){return!g.removed()}},{selector:":grabbable",matches:function(g){return g.grabbable()}},{selector:":ungrabbable",matches:function(g){return!g.grabbable()}},{selector:":animated",matches:function(g){return g.animated()}},{selector:":unanimated",matches:function(g){return!g.animated()}},{selector:":parent",matches:function(g){return g.isParent()}},{selector:":childless",matches:function(g){return g.isChildless()}},{selector:":child",matches:function(g){return g.isChild()}},{selector:":orphan",matches:function(g){return g.isOrphan()}},{selector:":nonorphan",matches:function(g){return g.isChild()}},{selector:":compound",matches:function(g){return g.isNode()?g.isParent():g.source().isParent()||g.target().isParent()}},{selector:":loop",matches:function(g){return g.isLoop()}},{selector:":simple",matches:function(g){return g.isSimple()}},{selector:":active",matches:function(g){return g.active()}},{selector:":inactive",matches:function(g){return!g.active()}},{selector:":backgrounding",matches:function(g){return g.backgrounding()}},{selector:":nonbackgrounding",matches:function(g){return!g.backgrounding()}}].sort(function(y,g){return Me(y.selector,g.selector)}),qZ=function(){for(var y={},g,x=0;x0&&V.edgeCount>0)return Sc("The selector `"+g+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(V.edgeCount>1)return Sc("The selector `"+g+"` is invalid because it uses multiple edge selectors"),!1;V.edgeCount===1&&Sc("The selector `"+g+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},YZ=function(){if(this.toStringCache!=null)return this.toStringCache;for(var g=function(V){return V??""},x=function(V){return mt(V)?'"'+V+'"':g(V)},T=function(V){return" "+V+" "},L=function(V,Y){var rt=V.type,ot=V.value;switch(rt){case zi.GROUP:{var ht=g(ot);return ht.substring(0,ht.length-1)}case zi.DATA_COMPARE:{var dt=V.field,Lt=V.operator;return"["+dt+T(g(Lt))+x(ot)+"]"}case zi.DATA_BOOL:{var kt=V.operator,Dt=V.field;return"["+g(kt)+Dt+"]"}case zi.DATA_EXIST:{var Pt=V.field;return"["+Pt+"]"}case zi.META_COMPARE:{var $t=V.operator,Zt=V.field;return"[["+Zt+T(g($t))+x(ot)+"]]"}case zi.STATE:return ot;case zi.ID:return"#"+ot;case zi.CLASS:return"."+ot;case zi.PARENT:case zi.CHILD:return O(V.parent,Y)+T(">")+O(V.child,Y);case zi.ANCESTOR:case zi.DESCENDANT:return O(V.ancestor,Y)+" "+O(V.descendant,Y);case zi.COMPOUND_SPLIT:{var Yt=O(V.left,Y),qt=O(V.subject,Y),ne=O(V.right,Y);return Yt+(Yt.length>0?" ":"")+qt+ne}case zi.TRUE:return""}},O=function(V,Y){return V.checks.reduce(function(rt,ot,ht){return rt+(Y===V&&ht===0?"$":"")+L(ot,Y)},"")},P="",$=0;$1&&$=0&&(x=x.replace("!",""),Y=!0),x.indexOf("@")>=0&&(x=x.replace("@",""),V=!0),(O||$||V)&&(q=!O&&!P?"":""+g,S=""+T),V&&(g=q=q.toLowerCase(),T=S=S.toLowerCase()),x){case"*=":L=q.indexOf(S)>=0;break;case"$=":L=q.indexOf(S,q.length-S.length)>=0;break;case"^=":L=q.indexOf(S)===0;break;case"=":L=g===T;break;case">":rt=!0,L=g>T;break;case">=":rt=!0,L=g>=T;break;case"<":rt=!0,L=g0;){var V=L.shift();g(V),O.add(V.id()),$&&T(L,O,V)}return y}function Ik(y,g,x){if(x.isParent())for(var T=x._private.children,L=0;L1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,Ik)};function aB(y,g,x){if(x.isChild()){var T=x._private.parent;g.has(T.id())||y.push(T)}}ax.forEachUp=function(y){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,aB)};function nJ(y,g,x){aB(y,g,x),Ik(y,g,x)}ax.forEachUpAndDown=function(y){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return ZT(this,y,g,nJ)},ax.ancestors=ax.parents;var Ok,oB;Ok=oB={data:Ac.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Ac.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Ac.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ac.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Ac.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Ac.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var g=this[0];if(g)return g._private.data.id}},Ok.attr=Ok.data,Ok.removeAttr=Ok.removeData;var rJ=oB,JT={};function ox(y){return function(g){var x=this;if(g===void 0&&(g=!0),x.length!==0)if(x.isNode()&&!x.removed()){for(var T=0,L=x[0],O=L._private.edges,P=0;Pg}),minIndegree:cx("indegree",function(y,g){return yg}),minOutdegree:cx("outdegree",function(y,g){return yg})}),de(JT,{totalDegree:function(g){for(var x=0,T=this.nodes(),L=0;L0,rt=Y;Y&&(V=V[0]);var ot=rt?V.position():{x:0,y:0};x!==void 0?S.position(g,x+ot[g]):O!==void 0&&S.position({x:O.x+ot.x,y:O.y+ot.y})}else{var ht=T.position(),dt=$?T.parent():null,Lt=dt&&dt.length>0,kt=Lt;Lt&&(dt=dt[0]);var Dt=kt?dt.position():{x:0,y:0};return O={x:ht.x-Dt.x,y:ht.y-Dt.y},g===void 0?O:O[g]}else if(!P)return;return this}},kp.modelPosition=kp.point=kp.position,kp.modelPositions=kp.points=kp.positions,kp.renderedPoint=kp.renderedPosition,kp.relativePoint=kp.relativePosition;var lB=cB,ux,Ub;ux=Ub={},Ub.renderedBoundingBox=function(y){var g=this.boundingBox(y),x=this.cy(),T=x.zoom(),L=x.pan(),O=g.x1*T+L.x,P=g.x2*T+L.x,$=g.y1*T+L.y,q=g.y2*T+L.y;return{x1:O,x2:P,y1:$,y2:q,w:P-O,h:q-$}},Ub.dirtyCompoundBoundsCache=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,g=this.cy();return!g.styleEnabled()||!g.hasCompoundNodes()?this:(this.forEachUp(function(x){if(x.isParent()){var T=x._private;T.compoundBoundsClean=!1,T.bbCache=null,y||x.emitAndNotify("bounds")}}),this)},Ub.updateCompoundBounds=function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,g=this.cy();if(!g.styleEnabled()||!g.hasCompoundNodes())return this;if(!y&&g.batching())return this;function x(P){if(!P.isParent())return;var $=P._private,q=P.children(),S=P.pstyle("compound-sizing-wrt-labels").value==="include",V={width:{val:P.pstyle("min-width").pfValue,left:P.pstyle("min-width-bias-left"),right:P.pstyle("min-width-bias-right")},height:{val:P.pstyle("min-height").pfValue,top:P.pstyle("min-height-bias-top"),bottom:P.pstyle("min-height-bias-bottom")}},Y=q.boundingBox({includeLabels:S,includeOverlays:!1,useCache:!1}),rt=$.position;(Y.w===0||Y.h===0)&&(Y={w:P.pstyle("width").pfValue,h:P.pstyle("height").pfValue},Y.x1=rt.x-Y.w/2,Y.x2=rt.x+Y.w/2,Y.y1=rt.y-Y.h/2,Y.y2=rt.y+Y.h/2);function ot(Gt,ge,be){var ie=0,Fe=0,we=ge+be;return Gt>0&&we>0&&(ie=ge/we*Gt,Fe=be/we*Gt),{biasDiff:ie,biasComplementDiff:Fe}}function ht(Gt,ge,be,ie){if(be.units==="%")switch(ie){case"width":return Gt>0?be.pfValue*Gt:0;case"height":return ge>0?be.pfValue*ge:0;case"average":return Gt>0&&ge>0?be.pfValue*(Gt+ge)/2:0;case"min":return Gt>0&&ge>0?Gt>ge?be.pfValue*ge:be.pfValue*Gt:0;case"max":return Gt>0&&ge>0?Gt>ge?be.pfValue*Gt:be.pfValue*ge:0;default:return 0}else return be.units==="px"?be.pfValue:0}var dt=V.width.left.value;V.width.left.units==="px"&&V.width.val>0&&(dt=dt*100/V.width.val);var Lt=V.width.right.value;V.width.right.units==="px"&&V.width.val>0&&(Lt=Lt*100/V.width.val);var kt=V.height.top.value;V.height.top.units==="px"&&V.height.val>0&&(kt=kt*100/V.height.val);var Dt=V.height.bottom.value;V.height.bottom.units==="px"&&V.height.val>0&&(Dt=Dt*100/V.height.val);var Pt=ot(V.width.val-Y.w,dt,Lt),$t=Pt.biasDiff,Zt=Pt.biasComplementDiff,Yt=ot(V.height.val-Y.h,kt,Dt),qt=Yt.biasDiff,ne=Yt.biasComplementDiff;$.autoPadding=ht(Y.w,Y.h,P.pstyle("padding"),P.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Y.w,V.width.val),rt.x=(-$t+Y.x1+Y.x2+Zt)/2,$.autoHeight=Math.max(Y.h,V.height.val),rt.y=(-qt+Y.y1+Y.y2+ne)/2}for(var T=0;Tg.x2?L:g.x2,g.y1=Tg.y2?O:g.y2,g.w=g.x2-g.x1,g.h=g.y2-g.y1)},L3=function(g,x){return x==null?g:Ep(g,x.x1,x.y1,x.x2,x.y2)},Fk=function(g,x,T){return yp(g,x,T)},tC=function(g,x,T){if(!x.cy().headless()){var L=x._private,O=L.rstyle,P=O.arrowWidth/2,$=x.pstyle(T+"-arrow-shape").value,q,S;if($!=="none"){T==="source"?(q=O.srcX,S=O.srcY):T==="target"?(q=O.tgtX,S=O.tgtY):(q=O.midX,S=O.midY);var V=L.arrowBounds=L.arrowBounds||{},Y=V[T]=V[T]||{};Y.x1=q-P,Y.y1=S-P,Y.x2=q+P,Y.y2=S+P,Y.w=Y.x2-Y.x1,Y.h=Y.y2-Y.y1,RT(Y,1),Ep(g,Y.x1,Y.y1,Y.x2,Y.y2)}}},hB=function(g,x,T){if(!x.cy().headless()){var L;T?L=T+"-":L="";var O=x._private,P=O.rstyle,$=x.pstyle(L+"label").strValue;if($){var q=x.pstyle("text-halign"),S=x.pstyle("text-valign"),V=Fk(P,"labelWidth",T),Y=Fk(P,"labelHeight",T),rt=Fk(P,"labelX",T),ot=Fk(P,"labelY",T),ht=x.pstyle(L+"text-margin-x").pfValue,dt=x.pstyle(L+"text-margin-y").pfValue,Lt=x.isEdge(),kt=x.pstyle(L+"text-rotation"),Dt=x.pstyle("text-outline-width").pfValue,Pt=x.pstyle("text-border-width").pfValue,$t=Pt/2,Zt=x.pstyle("text-background-padding").pfValue,Yt=2,qt=Y,ne=V,Gt=ne/2,ge=qt/2,be,ie,Fe,we;if(Lt)be=rt-Gt,ie=rt+Gt,Fe=ot-ge,we=ot+ge;else{switch(q.value){case"left":be=rt-ne,ie=rt;break;case"center":be=rt-Gt,ie=rt+Gt;break;case"right":be=rt,ie=rt+ne;break}switch(S.value){case"top":Fe=ot-qt,we=ot;break;case"center":Fe=ot-ge,we=ot+ge;break;case"bottom":Fe=ot,we=ot+qt;break}}be+=ht-Math.max(Dt,$t)-Zt-Yt,ie+=ht+Math.max(Dt,$t)+Zt+Yt,Fe+=dt-Math.max(Dt,$t)-Zt-Yt,we+=dt+Math.max(Dt,$t)+Zt+Yt;var bn=T||"main",ze=O.labelBounds,Ge=ze[bn]=ze[bn]||{};Ge.x1=be,Ge.y1=Fe,Ge.x2=ie,Ge.y2=we,Ge.w=ie-be,Ge.h=we-Fe;var En=Lt&&kt.strValue==="autorotate",In=kt.pfValue!=null&&kt.pfValue!==0;if(En||In){var Yn=En?Fk(O.rstyle,"labelAngle",T):kt.pfValue,Sn=Math.cos(Yn),Wn=Math.sin(Yn),rr=(be+ie)/2,wr=(Fe+we)/2;if(!Lt){switch(q.value){case"left":rr=ie;break;case"right":rr=be;break}switch(S.value){case"top":wr=we;break;case"bottom":wr=Fe;break}}var ur=function(Ea,Ci){return Ea=Ea-rr,Ci=Ci-wr,{x:Ea*Sn-Ci*Wn+rr,y:Ea*Wn+Ci*Sn+wr}},er=ur(be,Fe),vn=ur(be,we),gr=ur(ie,Fe),fr=ur(ie,we);be=Math.min(er.x,vn.x,gr.x,fr.x),ie=Math.max(er.x,vn.x,gr.x,fr.x),Fe=Math.min(er.y,vn.y,gr.y,fr.y),we=Math.max(er.y,vn.y,gr.y,fr.y)}var Jr=bn+"Rot",vi=ze[Jr]=ze[Jr]||{};vi.x1=be,vi.y1=Fe,vi.x2=ie,vi.y2=we,vi.w=ie-be,vi.h=we-Fe,Ep(g,be,Fe,ie,we),Ep(O.labelBounds.all,be,Fe,ie,we)}return g}},iJ=function(g,x){var T=g._private.cy,L=T.styleEnabled(),O=T.headless(),P=zd(),$=g._private,q=g.isNode(),S=g.isEdge(),V,Y,rt,ot,ht,dt,Lt=$.rstyle,kt=q&&L?g.pstyle("bounds-expansion").pfValue:[0],Dt=function(gs){return gs.pstyle("display").value!=="none"},Pt=!L||Dt(g)&&(!S||Dt(g.source())&&Dt(g.target()));if(Pt){var $t=0,Zt=0;L&&x.includeOverlays&&($t=g.pstyle("overlay-opacity").value,$t!==0&&(Zt=g.pstyle("overlay-padding").value));var Yt=0,qt=0;L&&x.includeUnderlays&&(Yt=g.pstyle("underlay-opacity").value,Yt!==0&&(qt=g.pstyle("underlay-padding").value));var ne=Math.max(Zt,qt),Gt=0,ge=0;if(L&&(Gt=g.pstyle("width").pfValue,ge=Gt/2),q&&x.includeNodes){var be=g.position();ht=be.x,dt=be.y;var ie=g.outerWidth(),Fe=ie/2,we=g.outerHeight(),bn=we/2;V=ht-Fe,Y=ht+Fe,rt=dt-bn,ot=dt+bn,Ep(P,V,rt,Y,ot)}else if(S&&x.includeEdges)if(L&&!O){var ze=g.pstyle("curve-style").strValue;if(V=Math.min(Lt.srcX,Lt.midX,Lt.tgtX),Y=Math.max(Lt.srcX,Lt.midX,Lt.tgtX),rt=Math.min(Lt.srcY,Lt.midY,Lt.tgtY),ot=Math.max(Lt.srcY,Lt.midY,Lt.tgtY),V-=ge,Y+=ge,rt-=ge,ot+=ge,Ep(P,V,rt,Y,ot),ze==="haystack"){var Ge=Lt.haystackPts;if(Ge&&Ge.length===2){if(V=Ge[0].x,rt=Ge[0].y,Y=Ge[1].x,ot=Ge[1].y,V>Y){var En=V;V=Y,Y=En}if(rt>ot){var In=rt;rt=ot,ot=In}Ep(P,V-ge,rt-ge,Y+ge,ot+ge)}}else if(ze==="bezier"||ze==="unbundled-bezier"||ze==="segments"||ze==="taxi"){var Yn;switch(ze){case"bezier":case"unbundled-bezier":Yn=Lt.bezierPts;break;case"segments":case"taxi":Yn=Lt.linePts;break}if(Yn!=null)for(var Sn=0;SnY){var vn=V;V=Y,Y=vn}if(rt>ot){var gr=rt;rt=ot,ot=gr}V-=ge,Y+=ge,rt-=ge,ot+=ge,Ep(P,V,rt,Y,ot)}if(L&&x.includeEdges&&S&&(tC(P,g,"mid-source"),tC(P,g,"mid-target"),tC(P,g,"source"),tC(P,g,"target")),L){var fr=g.pstyle("ghost").value==="yes";if(fr){var Jr=g.pstyle("ghost-offset-x").pfValue,vi=g.pstyle("ghost-offset-y").pfValue;Ep(P,P.x1+Jr,P.y1+vi,P.x2+Jr,P.y2+vi)}}var Xs=$.bodyBounds=$.bodyBounds||{};lN(Xs,P),SL(Xs,kt),RT(Xs,1),L&&(V=P.x1,Y=P.x2,rt=P.y1,ot=P.y2,Ep(P,V-ne,rt-ne,Y+ne,ot+ne));var Ea=$.overlayBounds=$.overlayBounds||{};lN(Ea,P),SL(Ea,kt),RT(Ea,1);var Ci=$.labelBounds=$.labelBounds||{};Ci.all!=null?NK(Ci.all):Ci.all=zd(),L&&x.includeLabels&&(x.includeMainLabels&&hB(P,g,null),S&&(x.includeSourceLabels&&hB(P,g,"source"),x.includeTargetLabels&&hB(P,g,"target")))}return P.x1=M0(P.x1),P.y1=M0(P.y1),P.x2=M0(P.x2),P.y2=M0(P.y2),P.w=M0(P.x2-P.x1),P.h=M0(P.y2-P.y1),P.w>0&&P.h>0&&Pt&&(SL(P,kt),RT(P,1)),P},fB=function(g){var x=0,T=function(P){return(P?1:0)<0&&arguments[0]!==void 0?arguments[0]:vJ,g=arguments.length>1?arguments[1]:void 0,x=0;x=0;$--)P($);return this},Cm.removeAllListeners=function(){return this.removeListener("*")},Cm.emit=Cm.trigger=function(y,g,x){var T=this.listeners,L=T.length;return this.emitting++,ft(g)||(g=[g]),mJ(this,function(O,P){x!=null&&(T=[{event:P.event,type:P.type,namespace:P.namespace,callback:x}],L=T.length);for(var $=function(V){var Y=T[V];if(Y.type===P.type&&(!Y.namespace||Y.namespace===P.namespace||Y.namespace===wJ)&&O.eventMatches(O.context,Y,P)){var rt=[P];g!=null&&aN(rt,g),O.beforeEmit(O.context,Y,P),Y.conf&&Y.conf.one&&(O.listeners=O.listeners.filter(function(dt){return dt!==Y}));var ot=O.callbackContext(O.context,Y,P),ht=Y.callback.apply(ot,rt);O.afterEmit(O.context,Y,P),ht===!1&&(P.stopPropagation(),P.preventDefault())}},q=0;q1&&!P){var $=this.length-1,q=this[$],S=q._private.data.id;this[$]=void 0,this[g]=q,O.set(S,{ele:q,index:g})}return this.length--,this},unmergeOne:function(g){g=g[0];var x=this._private,T=g._private.data.id,L=x.map,O=L.get(T);if(!O)return this;var P=O.index;return this.unmergeAt(P),this},unmerge:function(g){var x=this._private.cy;if(!g)return this;if(g&&mt(g)){var T=g;g=x.mutableElements().filter(T)}for(var L=0;L=0;x--){var T=this[x];g(T)&&this.unmergeAt(x)}return this},map:function(g,x){for(var T=[],L=this,O=0;OT&&(T=q,L=$)}return{value:T,ele:L}},min:function(g,x){for(var T=1/0,L,O=this,P=0;P=0&&O"u"?"undefined":f(Symbol))!=g&&f(Symbol.iterator)!=g;x&&(iC[Symbol.iterator]=function(){var T=this,L={value:void 0,done:!1},O=0,P=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,T=this[0],L=T.cy();if(L.styleEnabled()&&T){this.cleanStyle();var O=T._private.style[g];return O??(x?L.style().getDefaultProperty(g):null)}},numericStyle:function(g){var x=this[0];if(x.cy().styleEnabled()&&x){var T=x.pstyle(g);return T.pfValue!==void 0?T.pfValue:T.value}},numericStyleUnits:function(g){var x=this[0];if(x.cy().styleEnabled()&&x)return x.pstyle(g).units},renderedStyle:function(g){var x=this.cy();if(!x.styleEnabled())return this;var T=this[0];if(T)return x.style().getRenderedStyle(T,g)},style:function(g,x){var T=this.cy();if(!T.styleEnabled())return this;var L=!1,O=T.style();if(ut(g)){var P=g;O.applyBypass(this,P,L),this.emitAndNotify("style")}else if(mt(g))if(x===void 0){var $=this[0];return $?O.getStylePropertyValue($,g):void 0}else O.applyBypass(this,g,x,L),this.emitAndNotify("style");else if(g===void 0){var q=this[0];return q?O.getRawStyle(q):void 0}return this},removeStyle:function(g){var x=this.cy();if(!x.styleEnabled())return this;var T=!1,L=x.style(),O=this;if(g===void 0)for(var P=0;P0&&g.push(V[0]),g.push($[0])}return this.spawn(g,!0).filter(y)},"neighborhood"),closedNeighborhood:function(g){return this.neighborhood().add(this).filter(g)},openNeighborhood:function(g){return this.neighborhood(g)}}),d1.neighbourhood=d1.neighborhood,d1.closedNeighbourhood=d1.closedNeighborhood,d1.openNeighbourhood=d1.openNeighborhood,de(d1,{source:ad(function(g){var x=this[0],T;return x&&(T=x._private.source||x.cy().collection()),T&&g?T.filter(g):T},"source"),target:ad(function(g){var x=this[0],T;return x&&(T=x._private.target||x.cy().collection()),T&&g?T.filter(g):T},"target"),sources:IB({attr:"source"}),targets:IB({attr:"target"})});function IB(y){return function(x){for(var T=[],L=0;L0);return P},component:function(){var g=this[0];return g.cy().mutableElements().components(g)[0]}}),d1.componentsOf=d1.components;var $f=function(g,x){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(g===void 0){vl("A collection must have a reference to the core");return}var O=new Gb,P=!1;if(!x)x=[];else if(x.length>0&&ut(x[0])&&!nt(x[0])){P=!0;for(var $=[],q=new Y5,S=0,V=x.length;S0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,T=x.cy(),L=T._private,O=[],P=[],$,q=0,S=x.length;q0){for(var In=$.length===x.length?x:new $f(T,$),Yn=0;Yn0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,x=this,T=[],L={},O=x._private.cy;function P(we){for(var bn=we._private.edges,ze=0;ze0&&(y?be.emitAndNotify("remove"):g&&be.emit("remove"));for(var ie=0;ie0?ie=we:be=we;while(Math.abs(Fe)>P&&++bn<$);return we}function Zt(ge){for(var be=0,ie=1,Fe=q-1;ie!==Fe&&rt[ie]<=ge;++ie)be+=S;--ie;var we=(ge-rt[ie])/(rt[ie+1]-rt[ie]),bn=be+we*S,ze=kt(bn,y,x);return ze>=O?Dt(ge,bn):ze===0?bn:$t(ge,be,be+S)}var Yt=!1;function qt(){Yt=!0,(y!==g||x!==T)&&Pt()}var ne=function(be){return Yt||qt(),y===g&&x===T?be:be===0?0:be===1?1:Lt(Zt(be),g,T)};ne.getControlPoints=function(){return[{x:y,y:g},{x,y:T}]};var Gt="generateBezier("+[y,g,x,T]+")";return ne.toString=function(){return Gt},ne}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var MJ=function(){function y(T){return-T.tension*T.x-T.friction*T.v}function g(T,L,O){var P={x:T.x+O.dx*L,v:T.v+O.dv*L,tension:T.tension,friction:T.friction};return{dx:P.v,dv:y(P)}}function x(T,L){var O={dx:T.v,dv:y(T)},P=g(T,L*.5,O),$=g(T,L*.5,P),q=g(T,L,$),S=1/6*(O.dx+2*(P.dx+$.dx)+q.dx),V=1/6*(O.dv+2*(P.dv+$.dv)+q.dv);return T.x=T.x+S*L,T.v=T.v+V*L,T}return function T(L,O,P){var $={x:-1,v:0,tension:null,friction:null},q=[0],S=0,V=1/1e4,Y=16/1e3,rt,ot,ht;for(L=parseFloat(L)||500,O=parseFloat(O)||20,P=P||null,$.tension=L,$.friction=O,rt=P!==null,rt?(S=T(L,O),ot=S/P*Y):ot=Y;ht=x(ht||$,ot),q.push(1+ht.x),S+=16,Math.abs(ht.x)>V&&Math.abs(ht.v)>V;);return rt?function(dt){return q[dt*(q.length-1)|0]}:S}}(),gu=function(g,x,T,L){var O=LJ(g,x,T,L);return function(P,$,q){return P+($-P)*O(q)}},cC={linear:function(g,x,T){return g+(x-g)*T},ease:gu(.25,.1,.25,1),"ease-in":gu(.42,0,1,1),"ease-out":gu(0,0,.58,1),"ease-in-out":gu(.42,0,.58,1),"ease-in-sine":gu(.47,0,.745,.715),"ease-out-sine":gu(.39,.575,.565,1),"ease-in-out-sine":gu(.445,.05,.55,.95),"ease-in-quad":gu(.55,.085,.68,.53),"ease-out-quad":gu(.25,.46,.45,.94),"ease-in-out-quad":gu(.455,.03,.515,.955),"ease-in-cubic":gu(.55,.055,.675,.19),"ease-out-cubic":gu(.215,.61,.355,1),"ease-in-out-cubic":gu(.645,.045,.355,1),"ease-in-quart":gu(.895,.03,.685,.22),"ease-out-quart":gu(.165,.84,.44,1),"ease-in-out-quart":gu(.77,0,.175,1),"ease-in-quint":gu(.755,.05,.855,.06),"ease-out-quint":gu(.23,1,.32,1),"ease-in-out-quint":gu(.86,0,.07,1),"ease-in-expo":gu(.95,.05,.795,.035),"ease-out-expo":gu(.19,1,.22,1),"ease-in-out-expo":gu(1,0,0,1),"ease-in-circ":gu(.6,.04,.98,.335),"ease-out-circ":gu(.075,.82,.165,1),"ease-in-out-circ":gu(.785,.135,.15,.86),spring:function(g,x,T){if(T===0)return cC.linear;var L=MJ(g,x,T);return function(O,P,$){return O+(P-O)*L($)}},"cubic-bezier":gu};function FB(y,g,x,T,L){if(T===1||g===x)return x;var O=L(g,x,T);return y==null||((y.roundValue||y.color)&&(O=Math.round(O)),y.min!==void 0&&(O=Math.max(O,y.min)),y.max!==void 0&&(O=Math.min(O,y.max))),O}function NB(y,g){return y.pfValue!=null||y.value!=null?y.pfValue!=null&&(g==null||g.type.units!=="%")?y.pfValue:y.value:y}function fx(y,g,x,T,L){var O=L!=null?L.type:null;x<0?x=0:x>1&&(x=1);var P=NB(y,L),$=NB(g,L);if(X(P)&&X($))return FB(O,P,$,x,T);if(ft(P)&&ft($)){for(var q=[],S=0;S<$.length;S++){var V=P[S],Y=$[S];if(V!=null&&Y!=null){var rt=FB(O,V,Y,x,T);q.push(rt)}else q.push(Y)}return q}}function DJ(y,g,x,T){var L=!T,O=y._private,P=g._private,$=P.easing,q=P.startTime,S=T?y:y.cy(),V=S.style();if(!P.easingImpl)if($==null)P.easingImpl=cC.linear;else{var Y;if(mt($)){var rt=V.parse("transition-timing-function",$);Y=rt.value}else Y=$;var ot,ht;mt(Y)?(ot=Y,ht=[]):(ot=Y[1],ht=Y.slice(2).map(function(In){return+In})),ht.length>0?(ot==="spring"&&ht.push(P.duration),P.easingImpl=cC[ot].apply(null,ht)):P.easingImpl=cC[ot]}var dt=P.easingImpl,Lt;if(P.duration===0?Lt=1:Lt=(x-q)/P.duration,P.applying&&(Lt=P.progress),Lt<0?Lt=0:Lt>1&&(Lt=1),P.delay==null){var kt=P.startPosition,Dt=P.position;if(Dt&&L&&!y.locked()){var Pt={};$k(kt.x,Dt.x)&&(Pt.x=fx(kt.x,Dt.x,Lt,dt)),$k(kt.y,Dt.y)&&(Pt.y=fx(kt.y,Dt.y,Lt,dt)),y.position(Pt)}var $t=P.startPan,Zt=P.pan,Yt=O.pan,qt=Zt!=null&&T;qt&&($k($t.x,Zt.x)&&(Yt.x=fx($t.x,Zt.x,Lt,dt)),$k($t.y,Zt.y)&&(Yt.y=fx($t.y,Zt.y,Lt,dt)),y.emit("pan"));var ne=P.startZoom,Gt=P.zoom,ge=Gt!=null&&T;ge&&($k(ne,Gt)&&(O.zoom=_k(O.minZoom,fx(ne,Gt,Lt,dt),O.maxZoom)),y.emit("zoom")),(qt||ge)&&y.emit("viewport");var be=P.style;if(be&&be.length>0&&L){for(var ie=0;ie=0;qt--){var ne=Yt[qt];ne()}Yt.splice(0,Yt.length)},Dt=ot.length-1;Dt>=0;Dt--){var Pt=ot[Dt],$t=Pt._private;if($t.stopped){ot.splice(Dt,1),$t.hooked=!1,$t.playing=!1,$t.started=!1,kt($t.frames);continue}!$t.playing&&!$t.applying||($t.playing&&$t.applying&&($t.applying=!1),$t.started||IJ(V,Pt,y),DJ(V,Pt,y,Y),$t.applying&&($t.applying=!1),kt($t.frames),$t.step!=null&&$t.step(y),Pt.completed()&&(ot.splice(Dt,1),$t.hooked=!1,$t.playing=!1,$t.started=!1,kt($t.completes)),dt=!0)}return!Y&&ot.length===0&&ht.length===0&&T.push(V),dt}for(var O=!1,P=0;P0?g.notify("draw",x):g.notify("draw")),x.unmerge(T),g.emit("step")}var OJ={animate:Ac.animate(),animation:Ac.animation(),animated:Ac.animated(),clearQueue:Ac.clearQueue(),delay:Ac.delay(),delayAnimation:Ac.delayAnimation(),stop:Ac.stop(),addToAnimationPool:function(g){var x=this;x.styleEnabled()&&x._private.aniEles.merge(g)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var g=this;if(g._private.animationsRunning=!0,!g.styleEnabled())return;function x(){g._private.animationsRunning&&Bf(function(O){BB(O,g),x()})}var T=g.renderer();T&&T.beforeRender?T.beforeRender(function(O,P){BB(P,g)},T.beforeRenderPriorities.animations):x()}},PJ={qualifierCompare:function(g,x){return g==null||x==null?g==null&&x==null:g.sameText(x)},eventMatches:function(g,x,T){var L=x.qualifier;return L!=null?g!==T.target&&nt(T.target)&&L.matches(T.target):!0},addEventFields:function(g,x){x.cy=g,x.target=g},callbackContext:function(g,x,T){return x.qualifier!=null?T.target:g}},uC=function(g){return mt(g)?new Em(g):g},RB={createEmitter:function(){var g=this._private;return g.emitter||(g.emitter=new nC(PJ,this)),this},emitter:function(){return this._private.emitter},on:function(g,x,T){return this.emitter().on(g,uC(x),T),this},removeListener:function(g,x,T){return this.emitter().removeListener(g,uC(x),T),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(g,x,T){return this.emitter().one(g,uC(x),T),this},once:function(g,x,T){return this.emitter().one(g,uC(x),T),this},emit:function(g,x){return this.emitter().emit(g,x),this},emitAndNotify:function(g,x){return this.emit(g),this.notify(g,x),this}};Ac.eventAliasesOn(RB);var UL={png:function(g){var x=this._private.renderer;return g=g||{},x.png(g)},jpg:function(g){var x=this._private.renderer;return g=g||{},g.bg=g.bg||"#fff",x.jpg(g)}};UL.jpeg=UL.jpg;var lC={layout:function(g){var x=this;if(g==null){vl("Layout options must be specified to make a layout");return}if(g.name==null){vl("A `name` must be specified to make a layout");return}var T=g.name,L=x.extension("layout",T);if(L==null){vl("No such layout `"+T+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;mt(g.eles)?O=x.$(g.eles):O=g.eles!=null?g.eles:x.$();var P=new L(de({},g,{cy:x,eles:O}));return P}};lC.createLayout=lC.makeLayout=lC.layout;var FJ={notify:function(g,x){var T=this._private;if(this.batching()){T.batchNotifications=T.batchNotifications||{};var L=T.batchNotifications[g]=T.batchNotifications[g]||this.collection();x!=null&&L.merge(x);return}if(T.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(g,x)}},notifications:function(g){var x=this._private;return g===void 0?x.notificationsEnabled:(x.notificationsEnabled=!!g,this)},noNotifications:function(g){this.notifications(!1),g(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var g=this._private;return g.batchCount==null&&(g.batchCount=0),g.batchCount===0&&(g.batchStyleEles=this.collection(),g.batchNotifications={}),g.batchCount++,this},endBatch:function(){var g=this._private;if(g.batchCount===0)return this;if(g.batchCount--,g.batchCount===0){g.batchStyleEles.updateStyle();var x=this.renderer();Object.keys(g.batchNotifications).forEach(function(T){var L=g.batchNotifications[T];L.empty()?x.notify(T):x.notify(T,L)})}return this},batch:function(g){return this.startBatch(),g(),this.endBatch(),this},batchData:function(g){var x=this;return this.batch(function(){for(var T=Object.keys(g),L=0;L0;)x.removeChild(x.childNodes[0]);g._private.renderer=null,g.mutableElements().forEach(function(T){var L=T._private;L.rscratch={},L.rstyle={},L.animation.current=[],L.animation.queue=[]})},onRender:function(g){return this.on("render",g)},offRender:function(g){return this.off("render",g)}};WL.invalidateDimensions=WL.resize;var hC={collection:function(g,x){return mt(g)?this.$(g):Tt(g)?g.collection():ft(g)?(x||(x={}),new $f(this,g,x.unique,x.removed)):new $f(this)},nodes:function(g){var x=this.$(function(T){return T.isNode()});return g?x.filter(g):x},edges:function(g){var x=this.$(function(T){return T.isEdge()});return g?x.filter(g):x},$:function(g){var x=this._private.elements;return g?x.filter(g):x.spawnSelf()},mutableElements:function(){return this._private.elements}};hC.elements=hC.filter=hC.$;var g1={},zk="t",BJ="f";g1.apply=function(y){for(var g=this,x=g._private,T=x.cy,L=T.collection(),O=0;O0;if(rt||Y&&ot){var ht=void 0;rt&&ot||rt?ht=S.properties:ot&&(ht=S.mappedProperties);for(var dt=0;dt1&&($t=1),$.color){var Yt=T.valueMin[0],qt=T.valueMax[0],ne=T.valueMin[1],Gt=T.valueMax[1],ge=T.valueMin[2],be=T.valueMax[2],ie=T.valueMin[3]==null?1:T.valueMin[3],Fe=T.valueMax[3]==null?1:T.valueMax[3],we=[Math.round(Yt+(qt-Yt)*$t),Math.round(ne+(Gt-ne)*$t),Math.round(ge+(be-ge)*$t),Math.round(ie+(Fe-ie)*$t)];O={bypass:T.bypass,name:T.name,value:we,strValue:"rgb("+we[0]+", "+we[1]+", "+we[2]+")"}}else if($.number){var bn=T.valueMin+(T.valueMax-T.valueMin)*$t;O=this.parse(T.name,bn,T.bypass,rt)}else return!1;if(!O)return dt(),!1;O.mapping=T,T=O;break}case P.data:{for(var ze=T.field.split("."),Ge=Y.data,En=0;En0&&O>0){for(var $={},q=!1,S=0;S0?y.delayAnimation(P).play().promise().then(Pt):Pt()}).then(function(){return y.animation({style:$,duration:O,easing:y.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){x.removeBypasses(y,L),y.emitAndNotify("style"),T.transitioning=!1})}else T.transitioning&&(this.removeBypasses(y,L),y.emitAndNotify("style"),T.transitioning=!1)},g1.checkTrigger=function(y,g,x,T,L,O){var P=this.properties[g],$=L(P);$!=null&&$(x,T)&&O(P)},g1.checkZOrderTrigger=function(y,g,x,T){var L=this;this.checkTrigger(y,g,x,T,function(O){return O.triggersZOrder},function(){L._private.cy.notify("zorder",y)})},g1.checkBoundsTrigger=function(y,g,x,T){this.checkTrigger(y,g,x,T,function(L){return L.triggersBounds},function(L){y.dirtyCompoundBoundsCache(),y.dirtyBoundingBoxCache(),L.triggersBoundsOfParallelBeziers&&(g==="curve-style"&&(x==="bezier"||T==="bezier")||g==="display"&&(x==="none"||T==="none"))&&y.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()})})},g1.checkTriggers=function(y,g,x,T){y.dirtyStyleCache(),this.checkZOrderTrigger(y,g,x,T),this.checkBoundsTrigger(y,g,x,T)};var qk={};qk.applyBypass=function(y,g,x,T){var L=this,O=[],P=!0;if(g==="*"||g==="**"){if(x!==void 0)for(var $=0;$L.length?T=T.substr(L.length):T=""}function q(){O.length>P.length?O=O.substr(P.length):O=""}for(;;){var S=T.match(/^\s*$/);if(S)break;var V=T.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!V){Sc("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+T);break}L=V[0];var Y=V[1];if(Y!=="core"){var rt=new Em(Y);if(rt.invalid){Sc("Skipping parsing of block: Invalid selector found in string stylesheet: "+Y),$();continue}}var ot=V[2],ht=!1;O=ot;for(var dt=[];;){var Lt=O.match(/^\s*$/);if(Lt)break;var kt=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!kt){Sc("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ot),ht=!0;break}P=kt[0];var Dt=kt[1],Pt=kt[2],$t=g.properties[Dt];if(!$t){Sc("Skipping property: Invalid property name in: "+P),q();continue}var Zt=x.parse(Dt,Pt);if(!Zt){Sc("Skipping property: Invalid property definition in: "+P),q();continue}dt.push({name:Dt,val:Pt}),q()}if(ht){$();break}x.selector(Y);for(var Yt=0;Yt=7&&g[0]==="d"&&(V=new RegExp($.data.regex).exec(g))){if(x)return!1;var rt=$.data;return{name:y,value:V,strValue:""+g,mapped:rt,field:V[1],bypass:x}}else if(g.length>=10&&g[0]==="m"&&(Y=new RegExp($.mapData.regex).exec(g))){if(x||S.multiple)return!1;var ot=$.mapData;if(!(S.color||S.number))return!1;var ht=this.parse(y,Y[4]);if(!ht||ht.mapped)return!1;var dt=this.parse(y,Y[5]);if(!dt||dt.mapped)return!1;if(ht.pfValue===dt.pfValue||ht.strValue===dt.strValue)return Sc("`"+y+": "+g+"` is not a valid mapper because the output range is zero; converting to `"+y+": "+ht.strValue+"`"),this.parse(y,ht.strValue);if(S.color){var Lt=ht.value,kt=dt.value,Dt=Lt[0]===kt[0]&&Lt[1]===kt[1]&&Lt[2]===kt[2]&&(Lt[3]===kt[3]||(Lt[3]==null||Lt[3]===1)&&(kt[3]==null||kt[3]===1));if(Dt)return!1}return{name:y,value:Y,strValue:""+g,mapped:ot,field:Y[1],fieldMin:parseFloat(Y[2]),fieldMax:parseFloat(Y[3]),valueMin:ht.value,valueMax:dt.value,bypass:x}}}if(S.multiple&&T!=="multiple"){var Pt;if(q?Pt=g.split(/\s+/):ft(g)?Pt=g:Pt=[g],S.evenMultiple&&Pt.length%2!==0)return null;for(var $t=[],Zt=[],Yt=[],qt="",ne=!1,Gt=0;Gt0?" ":"")+ge.strValue}return S.validate&&!S.validate($t,Zt)?null:S.singleEnum&&ne?$t.length===1&&mt($t[0])?{name:y,value:$t[0],strValue:$t[0],bypass:x}:null:{name:y,value:$t,pfValue:Yt,strValue:qt,bypass:x,units:Zt}}var be=function(){for(var fr=0;frS.max||S.strictMax&&g===S.max))return null;var ze={name:y,value:g,strValue:""+g+(ie||""),units:ie,bypass:x};return S.unitless||ie!=="px"&&ie!=="em"?ze.pfValue=g:ze.pfValue=ie==="px"||!ie?g:this.getEmSizeInPixels()*g,(ie==="ms"||ie==="s")&&(ze.pfValue=ie==="ms"?g:1e3*g),(ie==="deg"||ie==="rad")&&(ze.pfValue=ie==="rad"?g:IK(g)),ie==="%"&&(ze.pfValue=g/100),ze}else if(S.propList){var Ge=[],En=""+g;if(En!=="none"){for(var In=En.split(/\s*,\s*|\s+/),Yn=0;Yn0&&$>0&&!isNaN(T.w)&&!isNaN(T.h)&&T.w>0&&T.h>0){q=Math.min((P-2*x)/T.w,($-2*x)/T.h),q=q>this._private.maxZoom?this._private.maxZoom:q,q=q=T.minZoom&&(T.maxZoom=x),this},minZoom:function(g){return g===void 0?this._private.minZoom:this.zoomRange({min:g})},maxZoom:function(g){return g===void 0?this._private.maxZoom:this.zoomRange({max:g})},getZoomedViewport:function(g){var x=this._private,T=x.pan,L=x.zoom,O,P,$=!1;if(x.zoomingEnabled||($=!0),X(g)?P=g:ut(g)&&(P=g.level,g.position!=null?O=NT(g.position,L,T):g.renderedPosition!=null&&(O=g.renderedPosition),O!=null&&!x.panningEnabled&&($=!0)),P=P>x.maxZoom?x.maxZoom:P,P=Px.maxZoom||!x.zoomingEnabled?P=!0:(x.zoom=q,O.push("zoom"))}if(L&&(!P||!g.cancelOnFailedZoom)&&x.panningEnabled){var S=g.pan;X(S.x)&&(x.pan.x=S.x,$=!1),X(S.y)&&(x.pan.y=S.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(g){var x=this.getCenterPan(g);return x&&(this._private.pan=x,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(g,x){if(this._private.panningEnabled){if(mt(g)){var T=g;g=this.mutableElements().filter(T)}else Tt(g)||(g=this.mutableElements());if(g.length!==0){var L=g.boundingBox(),O=this.width(),P=this.height();x=x===void 0?this._private.zoom:x;var $={x:(O-x*(L.x1+L.x2))/2,y:(P-x*(L.y1+L.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var g=this._private,x=g.container;return g.sizeCache=g.sizeCache||(x?function(){var T=R.getComputedStyle(x),L=function(P){return parseFloat(T.getPropertyValue(P))};return{width:x.clientWidth-L("padding-left")-L("padding-right"),height:x.clientHeight-L("padding-top")-L("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var g=this._private.pan,x=this._private.zoom,T=this.renderedExtent(),L={x1:(T.x1-g.x)/x,x2:(T.x2-g.x)/x,y1:(T.y1-g.y)/x,y2:(T.y2-g.y)/x};return L.w=L.x2-L.x1,L.h=L.y2-L.y1,L},renderedExtent:function(){var g=this.width(),x=this.height();return{x1:0,y1:0,x2:g,y2:x,w:g,h:x}},multiClickDebounceTime:function(g){if(g)this._private.multiClickDebounceTime=g;else return this._private.multiClickDebounceTime;return this}};M3.centre=M3.center,M3.autolockNodes=M3.autolock,M3.autoungrabifyNodes=M3.autoungrabify;var Hk={data:Ac.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ac.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ac.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ac.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Hk.attr=Hk.data,Hk.removeAttr=Hk.removeData;var Vk=function(g){var x=this;g=de({},g);var T=g.container;T&&!U(T)&&U(T[0])&&(T=T[0]);var L=T?T._cyreg:null;L=L||{},L&&L.cy&&(L.cy.destroy(),L={});var O=L.readies=L.readies||[];T&&(T._cyreg=L),L.cy=x;var P=R!==void 0&&T!==void 0&&!g.headless,$=g;$.layout=de({name:P?"grid":"null"},$.layout),$.renderer=de({name:P?"canvas":"null"},$.renderer);var q=function(ht,dt,Lt){return dt!==void 0?dt:Lt!==void 0?Lt:ht},S=this._private={container:T,ready:!1,options:$,elements:new $f(this),listeners:[],aniEles:new $f(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:q(!0,$.zoomingEnabled),userZoomingEnabled:q(!0,$.userZoomingEnabled),panningEnabled:q(!0,$.panningEnabled),userPanningEnabled:q(!0,$.userPanningEnabled),boxSelectionEnabled:q(!0,$.boxSelectionEnabled),autolock:q(!1,$.autolock,$.autolockNodes),autoungrabify:q(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:q(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?P:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:ut($.pan)&&X($.pan.x)?$.pan.x:0,y:ut($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:q(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var V=function(ht,dt){var Lt=ht.some(Ht);if(Lt)return ex.all(ht).then(dt);dt(ht)};S.styleEnabled&&x.setStyle([]);var Y=de({},$,$.renderer);x.initRenderer(Y);var rt=function(ht,dt,Lt){x.notifications(!1);var kt=x.mutableElements();kt.length>0&&kt.remove(),ht!=null&&(ut(ht)||ft(ht))&&x.add(ht),x.one("layoutready",function(Pt){x.notifications(!0),x.emit(Pt),x.one("load",dt),x.emitAndNotify("load")}).one("layoutstop",function(){x.one("done",Lt),x.emit("done")});var Dt=de({},x._private.options.layout);Dt.eles=x.elements(),x.layout(Dt).run()};V([$.style,$.elements],function(ot){var ht=ot[0],dt=ot[1];S.styleEnabled&&x.style().append(ht),rt(dt,function(){x.startAnimationLoop(),S.ready=!0,yt($.ready)&&x.on("ready",$.ready);for(var Lt=0;Lt0,q=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),S;if(Tt(g.roots))S=g.roots;else if(ft(g.roots)){for(var V=[],Y=0;Y0;){var bn=we(),ze=ge(bn,ie);if(ze)bn.outgoers().filter(function(Ci){return Ci.isNode()&&T.has(Ci)}).forEach(Fe);else if(ze===null){Sc("Detected double maximal shift for node `"+bn.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Gt();var Ge=0;if(g.avoidOverlap)for(var En=0;En0&&kt[0].length<=3?qs/2:0),jn=2*Math.PI/kt[qi].length*Si;return qi===0&&kt[0].length===1&&(Qt=1),{x:vi.x+Qt*Math.cos(jn),y:vi.y+Qt*Math.sin(jn)}}else{var Tr={x:vi.x+(Si+1-(Ui+1)/2)*Va,y:(qi+1)*Qs};return Tr}};return T.nodes().layoutPositions(this,g,Ea),this};var zJ={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function pC(y){this.options=de({},zJ,y)}pC.prototype.run=function(){var y=this.options,g=y,x=y.cy,T=g.eles,L=g.counterclockwise!==void 0?!g.counterclockwise:g.clockwise,O=T.nodes().not(":parent");g.sort&&(O=O.sort(g.sort));for(var P=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},q=g.sweep===void 0?2*Math.PI-2*Math.PI/O.length:g.sweep,S=q/Math.max(1,O.length-1),V,Y=0,rt=0;rt1&&g.avoidOverlap){Y*=1.75;var kt=Math.cos(S)-Math.cos(0),Dt=Math.sin(S)-Math.sin(0),Pt=Math.sqrt(Y*Y/(kt*kt+Dt*Dt));V=Math.max(Pt,V)}var $t=function(Yt,qt){var ne=g.startAngle+qt*S*(L?1:-1),Gt=V*Math.cos(ne),ge=V*Math.sin(ne),be={x:$.x+Gt,y:$.y+ge};return be};return T.nodes().layoutPositions(this,g,$t),this};var qJ={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(g){return g.degree()},levelWidth:function(g){return g.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function $B(y){this.options=de({},qJ,y)}$B.prototype.run=function(){for(var y=this.options,g=y,x=g.counterclockwise!==void 0?!g.counterclockwise:g.clockwise,T=y.cy,L=g.eles,O=L.nodes().not(":parent"),P=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:T.width(),h:T.height()}),$={x:P.x1+P.w/2,y:P.y1+P.h/2},q=[],S=0,V=0;V0){var Zt=Math.abs(Dt[0].value-$t.value);Zt>=Lt&&(Dt=[],kt.push(Dt))}Dt.push($t)}var Yt=S+g.minNodeSpacing;if(!g.avoidOverlap){var qt=kt.length>0&&kt[0].length>1,ne=Math.min(P.w,P.h)/2-Yt,Gt=ne/(kt.length+qt?1:0);Yt=Math.min(Yt,Gt)}for(var ge=0,be=0;be1&&g.avoidOverlap){var bn=Math.cos(we)-Math.cos(0),ze=Math.sin(we)-Math.sin(0),Ge=Math.sqrt(Yt*Yt/(bn*bn+ze*ze));ge=Math.max(Ge,ge)}ie.r=ge,ge+=Yt}if(g.equidistant){for(var En=0,In=0,Yn=0;Yn=y.numIter||(XJ(T,y),T.temperature=T.temperature*y.coolingFactor,T.temperature=y.animationThreshold&&O(),Bf(Y)}};V()}else{for(;S;)S=P(q),q++;HB(T,y),$()}return this},bC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},bC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var VJ=function(g,x,T){for(var L=T.eles.edges(),O=T.eles.nodes(),P={isCompound:g.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:L.size(),temperature:T.initialTemp,clientWidth:g.width(),clientHeight:g.width(),boundingBox:zd(T.boundingBox?T.boundingBox:{x1:0,y1:0,w:g.width(),h:g.height()})},$=T.eles.components(),q={},S=0;S<$.length;S++)for(var V=$[S],Y=0;Y0){P.graphSet.push(qt);for(var S=0;SL.count?0:L.graph},UJ=function y(g,x,T,L){var O=L.graphSet[T];if(-10)var Y=L.nodeOverlap*V,rt=Math.sqrt($*$+q*q),ot=Y*$/rt,ht=Y*q/rt;else var dt=wC(g,$,q),Lt=wC(x,-1*$,-1*q),kt=Lt.x-dt.x,Dt=Lt.y-dt.y,Pt=kt*kt+Dt*Dt,rt=Math.sqrt(Pt),Y=(g.nodeRepulsion+x.nodeRepulsion)/Pt,ot=Y*kt/rt,ht=Y*Dt/rt;g.isLocked||(g.offsetX-=ot,g.offsetY-=ht),x.isLocked||(x.offsetX+=ot,x.offsetY+=ht)}},JJ=function(g,x,T,L){if(T>0)var O=g.maxX-x.minX;else var O=x.maxX-g.minX;if(L>0)var P=g.maxY-x.minY;else var P=x.maxY-g.minY;return O>=0&&P>=0?Math.sqrt(O*O+P*P):0},wC=function(g,x,T){var L=g.positionX,O=g.positionY,P=g.height||1,$=g.width||1,q=T/x,S=P/$,V={};return x===0&&0T?(V.x=L,V.y=O+P/2,V):0x&&-1*S<=q&&q<=S?(V.x=L-$/2,V.y=O-$*T/2/x,V):0=S)?(V.x=L+P*x/2/T,V.y=O+P/2,V):(0>T&&(q<=-1*S||q>=S)&&(V.x=L-P*x/2/T,V.y=O-P/2),V)},ttt=function(g,x){for(var T=0;TT){var Lt=x.gravity*ot/dt,kt=x.gravity*ht/dt;rt.offsetX+=Lt,rt.offsetY+=kt}}}}},ntt=function(g,x){var T=[],L=0,O=-1;for(T.push.apply(T,g.graphSet[0]),O+=g.graphSet[0].length;L<=O;){var P=T[L++],$=g.idToIndex[P],q=g.layoutNodes[$],S=q.children;if(0T)var O={x:T*g/L,y:T*x/L};else var O={x:g,y:x};return O},stt=function y(g,x){var T=g.parentId;if(T!=null){var L=x.layoutNodes[x.idToIndex[T]],O=!1;if((L.maxX==null||g.maxX+L.padRight>L.maxX)&&(L.maxX=g.maxX+L.padRight,O=!0),(L.minX==null||g.minX-L.padLeftL.maxY)&&(L.maxY=g.maxY+L.padBottom,O=!0),(L.minY==null||g.minY-L.padTopkt&&(ht+=Lt+x.componentSpacing,ot=0,dt=0,Lt=0)}}},att={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(g){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(g,x){return!0},ready:void 0,stop:void 0,transform:function(g,x){return x}};function VB(y){this.options=de({},att,y)}VB.prototype.run=function(){var y=this.options,g=y,x=y.cy,T=g.eles,L=T.nodes().not(":parent");g.sort&&(L=L.sort(g.sort));var O=zd(g.boundingBox?g.boundingBox:{x1:0,y1:0,w:x.width(),h:x.height()});if(O.h===0||O.w===0)T.nodes().layoutPositions(this,g,function(rr){return{x:O.x1,y:O.y1}});else{var P=L.size(),$=Math.sqrt(P*O.h/O.w),q=Math.round($),S=Math.round(O.w/O.h*$),V=function(wr){if(wr==null)return Math.min(q,S);var ur=Math.min(q,S);ur==q?q=wr:S=wr},Y=function(wr){if(wr==null)return Math.max(q,S);var ur=Math.max(q,S);ur==q?q=wr:S=wr},rt=g.rows,ot=g.cols!=null?g.cols:g.columns;if(rt!=null&&ot!=null)q=rt,S=ot;else if(rt!=null&&ot==null)q=rt,S=Math.ceil(P/q);else if(rt==null&&ot!=null)S=ot,q=Math.ceil(P/S);else if(S*q>P){var ht=V(),dt=Y();(ht-1)*dt>=P?V(ht-1):(dt-1)*ht>=P&&Y(dt-1)}else for(;S*q=P?Y(kt+1):V(Lt+1)}var Dt=O.w/S,Pt=O.h/q;if(g.condense&&(Dt=0,Pt=0),g.avoidOverlap)for(var $t=0;$t=S&&(bn=0,we++)},Ge={},En=0;En(bn=GK(y,g,ze[Ge],ze[Ge+1],ze[Ge+2],ze[Ge+3])))return Lt(qt,bn),!0}else if(Gt.edgeType==="bezier"||Gt.edgeType==="multibezier"||Gt.edgeType==="self"||Gt.edgeType==="compound"){for(var ze=Gt.allpts,Ge=0;Ge+5(bn=VK(y,g,ze[Ge],ze[Ge+1],ze[Ge+2],ze[Ge+3],ze[Ge+4],ze[Ge+5])))return Lt(qt,bn),!0}for(var En=En||ne.source,In=In||ne.target,Yn=L.getArrowWidth(ge,be),Sn=[{name:"source",x:Gt.arrowStartX,y:Gt.arrowStartY,angle:Gt.srcArrowAngle},{name:"target",x:Gt.arrowEndX,y:Gt.arrowEndY,angle:Gt.tgtArrowAngle},{name:"mid-source",x:Gt.midX,y:Gt.midY,angle:Gt.midsrcArrowAngle},{name:"mid-target",x:Gt.midX,y:Gt.midY,angle:Gt.midtgtArrowAngle}],Ge=0;Ge0&&(kt(En),kt(In))}function Pt(qt,ne,Gt){return yp(qt,ne,Gt)}function $t(qt,ne){var Gt=qt._private,ge=rt,be;ne?be=ne+"-":be="",qt.boundingBox();var ie=Gt.labelBounds[ne||"main"],Fe=qt.pstyle(be+"label").value,we=qt.pstyle("text-events").strValue==="yes";if(!(!we||!Fe)){var bn=Pt(Gt.rscratch,"labelX",ne),ze=Pt(Gt.rscratch,"labelY",ne),Ge=Pt(Gt.rscratch,"labelAngle",ne),En=qt.pstyle(be+"text-margin-x").pfValue,In=qt.pstyle(be+"text-margin-y").pfValue,Yn=ie.x1-ge-En,Sn=ie.x2+ge-En,Wn=ie.y1-ge-In,rr=ie.y2+ge-In;if(Ge){var wr=Math.cos(Ge),ur=Math.sin(Ge),er=function(Ea,Ci){return Ea=Ea-bn,Ci=Ci-ze,{x:Ea*wr-Ci*ur+bn,y:Ea*ur+Ci*wr+ze}},vn=er(Yn,Wn),gr=er(Yn,rr),fr=er(Sn,Wn),Jr=er(Sn,rr),vi=[vn.x+En,vn.y+In,fr.x+En,fr.y+In,Jr.x+En,Jr.y+In,gr.x+En,gr.y+In];if(qd(y,g,vi))return Lt(qt),!0}else if(Q5(ie,y,g))return Lt(qt),!0}}for(var Zt=P.length-1;Zt>=0;Zt--){var Yt=P[Zt];Yt.isNode()?kt(Yt)||$t(Yt):Dt(Yt)||$t(Yt)||$t(Yt,"source")||$t(Yt,"target")}return $},D3.getAllInBox=function(y,g,x,T){var L=this.getCachedZSortedEles().interactive,O=[],P=Math.min(y,x),$=Math.max(y,x),q=Math.min(g,T),S=Math.max(g,T);y=P,x=$,g=q,T=S;for(var V=zd({x1:y,y1:g,x2:x,y2:T}),Y=0;Y0?Math.max(Yi-Fo,0):Math.min(Yi+Fo,0)},Fe=ie(ge,ne),we=ie(be,Gt),bn=!1;Dt===S?kt=Math.abs(Fe)>Math.abs(we)?L:T:Dt===q||Dt===$?(kt=T,bn=!0):(Dt===O||Dt===P)&&(kt=L,bn=!0);var ze=kt===T,Ge=ze?we:Fe,En=ze?be:ge,In=uN(En),Yn=!1;!(bn&&($t||Yt))&&(Dt===$&&En<0||Dt===q&&En>0||Dt===O&&En>0||Dt===P&&En<0)&&(In*=-1,Ge=In*Math.abs(Ge),Yn=!0);var Sn;if($t){var Wn=Zt<0?1+Zt:Zt;Sn=Wn*Ge}else{var rr=Zt<0?Ge:0;Sn=rr+Zt*In}var wr=function(Yi){return Math.abs(Yi)=Math.abs(Ge)},ur=wr(Sn),er=wr(Math.abs(Ge)-Math.abs(Sn)),vn=ur||er;if(vn&&!Yn)if(ze){var gr=Math.abs(En)<=rt/2,fr=Math.abs(ge)<=ot/2;if(gr){var Jr=(V.x1+V.x2)/2,vi=V.y1,Xs=V.y2;x.segpts=[Jr,vi,Jr,Xs]}else if(fr){var Ea=(V.y1+V.y2)/2,Ci=V.x1,hi=V.x2;x.segpts=[Ci,Ea,hi,Ea]}else x.segpts=[V.x1,V.y2]}else{var gs=Math.abs(En)<=Y/2,qi=Math.abs(be)<=ht/2;if(gs){var Si=(V.y1+V.y2)/2,Ui=V.x1,Va=V.x2;x.segpts=[Ui,Si,Va,Si]}else if(qi){var Qs=(V.x1+V.x2)/2,qs=V.y1,Tr=V.y2;x.segpts=[Qs,qs,Qs,Tr]}else x.segpts=[V.x2,V.y1]}else if(ze){var Qt=V.y1+Sn+(Lt?rt/2*In:0),jn=V.x1,Sr=V.x2;x.segpts=[jn,Qt,Sr,Qt]}else{var ir=V.x1+Sn+(Lt?Y/2*In:0),sr=V.y1,Ia=V.y2;x.segpts=[ir,sr,ir,Ia]}},od.tryToCorrectInvalidPoints=function(y,g){var x=y._private.rscratch;if(x.edgeType==="bezier"){var T=g.srcPos,L=g.tgtPos,O=g.srcW,P=g.srcH,$=g.tgtW,q=g.tgtH,S=g.srcShape,V=g.tgtShape,Y=!X(x.startX)||!X(x.startY),rt=!X(x.arrowStartX)||!X(x.arrowStartY),ot=!X(x.endX)||!X(x.endY),ht=!X(x.arrowEndX)||!X(x.arrowEndY),dt=3,Lt=this.getArrowWidth(y.pstyle("width").pfValue,y.pstyle("arrow-scale").value)*this.arrowShapeWidth,kt=dt*Lt,Dt=C3({x:x.ctrlpts[0],y:x.ctrlpts[1]},{x:x.startX,y:x.startY}),Pt=Dtwe.poolIndex()){var bn=Fe;Fe=we,we=bn}var ze=Gt.srcPos=Fe.position(),Ge=Gt.tgtPos=we.position(),En=Gt.srcW=Fe.outerWidth(),In=Gt.srcH=Fe.outerHeight(),Yn=Gt.tgtW=we.outerWidth(),Sn=Gt.tgtH=we.outerHeight(),Wn=Gt.srcShape=x.nodeShapes[g.getNodeShape(Fe)],rr=Gt.tgtShape=x.nodeShapes[g.getNodeShape(we)];Gt.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var wr=0;wr0){var gr=O,fr=_3(gr,K5(x)),Jr=_3(gr,K5(vn)),vi=fr;if(Jr2){var Xs=_3(gr,{x:vn[2],y:vn[3]});Xs0){var jn=P,Sr=_3(jn,K5(x)),ir=_3(jn,K5(Qt)),sr=Sr;if(ir2){var Ia=_3(jn,{x:Qt[2],y:Qt[3]});Ia=ht||qt){Lt={cp:$t,segment:Yt};break}}if(Lt)break}var ne=Lt.cp,Gt=Lt.segment,ge=(ht-kt)/Gt.length,be=Gt.t1-Gt.t0,ie=ot?Gt.t0+be*ge:Gt.t1-be*ge;ie=_k(0,ie,1),g=X5(ne.p0,ne.p1,ne.p2,ie),rt=JB(ne.p0,ne.p1,ne.p2,ie);break}case"straight":case"segments":case"haystack":{for(var Fe=0,we,bn,ze,Ge,En=T.allpts.length,In=0;In+3=ht));In+=2);var Yn=ht-bn,Sn=Yn/we;Sn=_k(0,Sn,1),g=PK(ze,Ge,Sn),rt=ZB(ze,Ge);break}}P("labelX",Y,g.x),P("labelY",Y,g.y),P("labelAutoAngle",Y,rt)}};S("source"),S("target"),this.applyLabelDimensions(y)}},Tp.applyLabelDimensions=function(y){this.applyPrefixedLabelDimensions(y),y.isEdge()&&(this.applyPrefixedLabelDimensions(y,"source"),this.applyPrefixedLabelDimensions(y,"target"))},Tp.applyPrefixedLabelDimensions=function(y,g){var x=y._private,T=this.getLabelText(y,g),L=this.calculateLabelDimensions(y,T),O=y.pstyle("line-height").pfValue,P=y.pstyle("text-wrap").strValue,$=yp(x.rscratch,"labelWrapCachedLines",g)||[],q=P!=="wrap"?1:Math.max($.length,1),S=L.height/q,V=S*O,Y=L.width,rt=L.height+(q-1)*(O-1)*S;mm(x.rstyle,"labelWidth",g,Y),mm(x.rscratch,"labelWidth",g,Y),mm(x.rstyle,"labelHeight",g,rt),mm(x.rscratch,"labelHeight",g,rt),mm(x.rscratch,"labelLineHeight",g,V)},Tp.getLabelText=function(y,g){var x=y._private,T=g?g+"-":"",L=y.pstyle(T+"label").strValue,O=y.pstyle("text-transform").value,P=function(Yn,Sn){return Sn?(mm(x.rscratch,Yn,g,Sn),Sn):yp(x.rscratch,Yn,g)};if(!L)return"";O=="none"||(O=="uppercase"?L=L.toUpperCase():O=="lowercase"&&(L=L.toLowerCase()));var $=y.pstyle("text-wrap").value;if($==="wrap"){var q=P("labelKey");if(q!=null&&P("labelWrapKey")===q)return P("labelWrapCachedText");for(var S="​",V=L.split(` +`),Y=y.pstyle("text-max-width").pfValue,rt=y.pstyle("text-overflow-wrap").value,ot=rt==="anywhere",ht=[],dt=/[\s\u200b]+/,Lt=ot?"":" ",kt=0;ktY){for(var Yt=Dt.split(dt),qt="",ne=0;neFe)break;we+=L[Ge],Ge===L.length-1&&(ze=!0)}return ze||(we+=bn),we}return L},Tp.getLabelJustification=function(y){var g=y.pstyle("text-justification").strValue,x=y.pstyle("text-halign").strValue;if(g==="auto")if(y.isNode())switch(x){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return g},Tp.calculateLabelDimensions=function(y,g){var x=this,T=rd(g,y._private.labelDimsKey),L=x.labelDimCache||(x.labelDimCache=[]),O=L[T];if(O!=null)return O;var P=0,$=y.pstyle("font-style").strValue,q=y.pstyle("font-size").pfValue,S=y.pstyle("font-family").strValue,V=y.pstyle("font-weight").strValue,Y=this.labelCalcCanvas,rt=this.labelCalcCanvasContext;if(!Y){Y=this.labelCalcCanvas=document.createElement("canvas"),rt=this.labelCalcCanvasContext=Y.getContext("2d");var ot=Y.style;ot.position="absolute",ot.left="-9999px",ot.top="-9999px",ot.zIndex="-1",ot.visibility="hidden",ot.pointerEvents="none"}rt.font="".concat($," ").concat(V," ").concat(q,"px ").concat(S);for(var ht=0,dt=0,Lt=g.split(` +`),kt=0;kt1&&arguments[1]!==void 0?arguments[1]:!0;if(g.merge(P),$)for(var q=0;q=y.desktopTapThreshold2}var mw=T(Qt);qf&&(y.hoverData.tapholdCancelled=!0);var Lm=function(){var Yb=y.hoverData.dragDelta=y.hoverData.dragDelta||[];Yb.length===0?(Yb.push(Ja[0]),Yb.push(Ja[1])):(Yb[0]+=Ja[0],Yb[1]+=Ja[1])};Sr=!0,x(Za,["mousemove","vmousemove","tapdrag"],Qt,{x:$r[0],y:$r[1]});var xx=function(){y.data.bgActivePosistion=void 0,y.hoverData.selecting||ir.emit({originalEvent:Qt,type:"boxstart",position:{x:$r[0],y:$r[1]}}),Pc[4]=1,y.hoverData.selecting=!0,y.redrawHint("select",!0),y.redraw()};if(y.hoverData.which===3){if(qf){var F3={originalEvent:Qt,type:"cxtdrag",position:{x:$r[0],y:$r[1]}};Ta?Ta.emit(F3):ir.emit(F3),y.hoverData.cxtDragged=!0,(!y.hoverData.cxtOver||Za!==y.hoverData.cxtOver)&&(y.hoverData.cxtOver&&y.hoverData.cxtOver.emit({originalEvent:Qt,type:"cxtdragout",position:{x:$r[0],y:$r[1]}}),y.hoverData.cxtOver=Za,Za&&Za.emit({originalEvent:Qt,type:"cxtdragover",position:{x:$r[0],y:$r[1]}}))}}else if(y.hoverData.dragging){if(Sr=!0,ir.panningEnabled()&&ir.userPanningEnabled()){var kx;if(y.hoverData.justStartedPan){var SC=y.hoverData.mdownPos;kx={x:($r[0]-SC[0])*sr,y:($r[1]-SC[1])*sr},y.hoverData.justStartedPan=!1}else kx={x:Ja[0]*sr,y:Ja[1]*sr};ir.panBy(kx),ir.emit("dragpan"),y.hoverData.dragged=!0}$r=y.projectIntoViewport(Qt.clientX,Qt.clientY)}else if(Pc[4]==1&&(Ta==null||Ta.pannable())){if(qf){if(!y.hoverData.dragging&&ir.boxSelectionEnabled()&&(mw||!ir.panningEnabled()||!ir.userPanningEnabled()))xx();else if(!y.hoverData.selecting&&ir.panningEnabled()&&ir.userPanningEnabled()){var N3=L(Ta,y.hoverData.downs);N3&&(y.hoverData.dragging=!0,y.hoverData.justStartedPan=!0,Pc[4]=0,y.data.bgActivePosistion=K5(Yi),y.redrawHint("select",!0),y.redraw())}Ta&&Ta.pannable()&&Ta.active()&&Ta.unactivate()}}else{if(Ta&&Ta.pannable()&&Ta.active()&&Ta.unactivate(),(!Ta||!Ta.grabbed())&&Za!=mc&&(mc&&x(mc,["mouseout","tapdragout"],Qt,{x:$r[0],y:$r[1]}),Za&&x(Za,["mouseover","tapdragover"],Qt,{x:$r[0],y:$r[1]}),y.hoverData.last=Za),Ta)if(qf){if(ir.boxSelectionEnabled()&&mw)Ta&&Ta.grabbed()&&(dt(ml),Ta.emit("freeon"),ml.emit("free"),y.dragData.didDrag&&(Ta.emit("dragfreeon"),ml.emit("dragfree"))),xx();else if(Ta&&Ta.grabbed()&&y.nodeIsDraggable(Ta)){var Hd=!y.dragData.didDrag;Hd&&y.redrawHint("eles",!0),y.dragData.didDrag=!0,y.hoverData.draggingEles||ot(ml,{inDragLayer:!0});var y1={x:0,y:0};if(X(Ja[0])&&X(Ja[1])&&(y1.x+=Ja[0],y1.y+=Ja[1],Hd)){var Vd=y.hoverData.dragDelta;Vd&&X(Vd[0])&&X(Vd[1])&&(y1.x+=Vd[0],y1.y+=Vd[1])}y.hoverData.draggingEles=!0,ml.silentShift(y1).emit("position drag"),y.redrawHint("drag",!0),y.redraw()}}else Lm();Sr=!0}if(Pc[2]=$r[0],Pc[3]=$r[1],Sr)return Qt.stopPropagation&&Qt.stopPropagation(),Qt.preventDefault&&Qt.preventDefault(),!1}},!1);var Gt,ge,be;y.registerBinding(window,"mouseup",function(Qt){var jn=y.hoverData.capture;if(jn){y.hoverData.capture=!1;var Sr=y.cy,ir=y.projectIntoViewport(Qt.clientX,Qt.clientY),sr=y.selection,Ia=y.findNearestElement(ir[0],ir[1],!0,!1),$r=y.dragData.possibleDragElements,Yi=y.hoverData.down,Fo=T(Qt);if(y.data.bgActivePosistion&&(y.redrawHint("select",!0),y.redraw()),y.hoverData.tapholdCancelled=!0,y.data.bgActivePosistion=void 0,Yi&&Yi.unactivate(),y.hoverData.which===3){var Pc={originalEvent:Qt,type:"cxttapend",position:{x:ir[0],y:ir[1]}};if(Yi?Yi.emit(Pc):Sr.emit(Pc),!y.hoverData.cxtDragged){var Za={originalEvent:Qt,type:"cxttap",position:{x:ir[0],y:ir[1]}};Yi?Yi.emit(Za):Sr.emit(Za)}y.hoverData.cxtDragged=!1,y.hoverData.which=null}else if(y.hoverData.which===1){if(x(Ia,["mouseup","tapend","vmouseup"],Qt,{x:ir[0],y:ir[1]}),!y.dragData.didDrag&&!y.hoverData.dragged&&!y.hoverData.selecting&&!y.hoverData.isOverThresholdDrag&&(x(Yi,["click","tap","vclick"],Qt,{x:ir[0],y:ir[1]}),ge=!1,Qt.timeStamp-be<=Sr.multiClickDebounceTime()?(Gt&&clearTimeout(Gt),ge=!0,be=null,x(Yi,["dblclick","dbltap","vdblclick"],Qt,{x:ir[0],y:ir[1]})):(Gt=setTimeout(function(){ge||x(Yi,["oneclick","onetap","voneclick"],Qt,{x:ir[0],y:ir[1]})},Sr.multiClickDebounceTime()),be=Qt.timeStamp)),Yi==null&&!y.dragData.didDrag&&!y.hoverData.selecting&&!y.hoverData.dragged&&!T(Qt)&&(Sr.$(g).unselect(["tapunselect"]),$r.length>0&&y.redrawHint("eles",!0),y.dragData.possibleDragElements=$r=Sr.collection()),Ia==Yi&&!y.dragData.didDrag&&!y.hoverData.selecting&&Ia!=null&&Ia._private.selectable&&(y.hoverData.dragging||(Sr.selectionType()==="additive"||Fo?Ia.selected()?Ia.unselect(["tapunselect"]):Ia.select(["tapselect"]):Fo||(Sr.$(g).unmerge(Ia).unselect(["tapunselect"]),Ia.select(["tapselect"]))),y.redrawHint("eles",!0)),y.hoverData.selecting){var mc=Sr.collection(y.getAllInBox(sr[0],sr[1],sr[2],sr[3]));y.redrawHint("select",!0),mc.length>0&&y.redrawHint("eles",!0),Sr.emit({type:"boxend",originalEvent:Qt,position:{x:ir[0],y:ir[1]}});var Ta=function(qf){return qf.selectable()&&!qf.selected()};Sr.selectionType()==="additive"||Fo||Sr.$(g).unmerge(mc).unselect(),mc.emit("box").stdFilter(Ta).select().emit("boxselect"),y.redraw()}if(y.hoverData.dragging&&(y.hoverData.dragging=!1,y.redrawHint("select",!0),y.redrawHint("eles",!0),y.redraw()),!sr[4]){y.redrawHint("drag",!0),y.redrawHint("eles",!0);var Ja=Yi&&Yi.grabbed();dt($r),Ja&&(Yi.emit("freeon"),$r.emit("free"),y.dragData.didDrag&&(Yi.emit("dragfreeon"),$r.emit("dragfree")))}}sr[4]=0,y.hoverData.down=null,y.hoverData.cxtStarted=!1,y.hoverData.draggingEles=!1,y.hoverData.selecting=!1,y.hoverData.isOverThresholdDrag=!1,y.dragData.didDrag=!1,y.hoverData.dragged=!1,y.hoverData.dragDelta=[],y.hoverData.mdownPos=null,y.hoverData.mdownGPos=null}},!1);var ie=function(Qt){if(!y.scrollingPage){var jn=y.cy,Sr=jn.zoom(),ir=jn.pan(),sr=y.projectIntoViewport(Qt.clientX,Qt.clientY),Ia=[sr[0]*Sr+ir.x,sr[1]*Sr+ir.y];if(y.hoverData.draggingEles||y.hoverData.dragging||y.hoverData.cxtStarted||qt()){Qt.preventDefault();return}if(jn.panningEnabled()&&jn.userPanningEnabled()&&jn.zoomingEnabled()&&jn.userZoomingEnabled()){Qt.preventDefault(),y.data.wheelZooming=!0,clearTimeout(y.data.wheelTimeout),y.data.wheelTimeout=setTimeout(function(){y.data.wheelZooming=!1,y.redrawHint("eles",!0),y.redraw()},150);var $r;Qt.deltaY!=null?$r=Qt.deltaY/-250:Qt.wheelDeltaY!=null?$r=Qt.wheelDeltaY/1e3:$r=Qt.wheelDelta/1e3,$r=$r*y.wheelSensitivity;var Yi=Qt.deltaMode===1;Yi&&($r*=33);var Fo=jn.zoom()*Math.pow(10,$r);Qt.type==="gesturechange"&&(Fo=y.gestureStartZoom*Qt.scale),jn.zoom({level:Fo,renderedPosition:{x:Ia[0],y:Ia[1]}}),jn.emit(Qt.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};y.registerBinding(y.container,"wheel",ie,!0),y.registerBinding(window,"scroll",function(Qt){y.scrollingPage=!0,clearTimeout(y.scrollingPageTimeout),y.scrollingPageTimeout=setTimeout(function(){y.scrollingPage=!1},250)},!0),y.registerBinding(y.container,"gesturestart",function(Qt){y.gestureStartZoom=y.cy.zoom(),y.hasTouchStarted||Qt.preventDefault()},!0),y.registerBinding(y.container,"gesturechange",function(Tr){y.hasTouchStarted||ie(Tr)},!0),y.registerBinding(y.container,"mouseout",function(Qt){var jn=y.projectIntoViewport(Qt.clientX,Qt.clientY);y.cy.emit({originalEvent:Qt,type:"mouseout",position:{x:jn[0],y:jn[1]}})},!1),y.registerBinding(y.container,"mouseover",function(Qt){var jn=y.projectIntoViewport(Qt.clientX,Qt.clientY);y.cy.emit({originalEvent:Qt,type:"mouseover",position:{x:jn[0],y:jn[1]}})},!1);var Fe,we,bn,ze,Ge,En,In,Yn,Sn,Wn,rr,wr,ur,er=function(Qt,jn,Sr,ir){return Math.sqrt((Sr-Qt)*(Sr-Qt)+(ir-jn)*(ir-jn))},vn=function(Qt,jn,Sr,ir){return(Sr-Qt)*(Sr-Qt)+(ir-jn)*(ir-jn)},gr;y.registerBinding(y.container,"touchstart",gr=function(Qt){if(y.hasTouchStarted=!0,!!ne(Qt)){kt(),y.touchData.capture=!0,y.data.bgActivePosistion=void 0;var jn=y.cy,Sr=y.touchData.now,ir=y.touchData.earlier;if(Qt.touches[0]){var sr=y.projectIntoViewport(Qt.touches[0].clientX,Qt.touches[0].clientY);Sr[0]=sr[0],Sr[1]=sr[1]}if(Qt.touches[1]){var sr=y.projectIntoViewport(Qt.touches[1].clientX,Qt.touches[1].clientY);Sr[2]=sr[0],Sr[3]=sr[1]}if(Qt.touches[2]){var sr=y.projectIntoViewport(Qt.touches[2].clientX,Qt.touches[2].clientY);Sr[4]=sr[0],Sr[5]=sr[1]}if(Qt.touches[1]){y.touchData.singleTouchMoved=!0,dt(y.dragData.touchDragEles);var Ia=y.findContainerClientCoords();Sn=Ia[0],Wn=Ia[1],rr=Ia[2],wr=Ia[3],Fe=Qt.touches[0].clientX-Sn,we=Qt.touches[0].clientY-Wn,bn=Qt.touches[1].clientX-Sn,ze=Qt.touches[1].clientY-Wn,ur=0<=Fe&&Fe<=rr&&0<=bn&&bn<=rr&&0<=we&&we<=wr&&0<=ze&&ze<=wr;var $r=jn.pan(),Yi=jn.zoom();Ge=er(Fe,we,bn,ze),En=vn(Fe,we,bn,ze),In=[(Fe+bn)/2,(we+ze)/2],Yn=[(In[0]-$r.x)/Yi,(In[1]-$r.y)/Yi];var Fo=200,Pc=Fo*Fo;if(En=1){for(var _p=y.touchData.startPosition=[],Hf=0;Hf=y.touchTapThreshold2}if(jn&&y.touchData.cxt){Qt.preventDefault();var _p=Qt.touches[0].clientX-Sn,Hf=Qt.touches[0].clientY-Wn,_g=Qt.touches[1].clientX-Sn,cd=Qt.touches[1].clientY-Wn,mw=vn(_p,Hf,_g,cd),Lm=mw/En,xx=150,F3=xx*xx,kx=1.5,SC=kx*kx;if(Lm>=SC||mw>=F3){y.touchData.cxt=!1,y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var N3={originalEvent:Qt,type:"cxttapend",position:{x:sr[0],y:sr[1]}};y.touchData.start?(y.touchData.start.unactivate().emit(N3),y.touchData.start=null):ir.emit(N3)}}if(jn&&y.touchData.cxt){var N3={originalEvent:Qt,type:"cxtdrag",position:{x:sr[0],y:sr[1]}};y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.touchData.start?y.touchData.start.emit(N3):ir.emit(N3),y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxtDragged=!0;var Hd=y.findNearestElement(sr[0],sr[1],!0,!0);(!y.touchData.cxtOver||Hd!==y.touchData.cxtOver)&&(y.touchData.cxtOver&&y.touchData.cxtOver.emit({originalEvent:Qt,type:"cxtdragout",position:{x:sr[0],y:sr[1]}}),y.touchData.cxtOver=Hd,Hd&&Hd.emit({originalEvent:Qt,type:"cxtdragover",position:{x:sr[0],y:sr[1]}}))}else if(jn&&Qt.touches[2]&&ir.boxSelectionEnabled())Qt.preventDefault(),y.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,y.touchData.selecting||ir.emit({originalEvent:Qt,type:"boxstart",position:{x:sr[0],y:sr[1]}}),y.touchData.selecting=!0,y.touchData.didSelect=!0,Sr[4]=1,!Sr||Sr.length===0||Sr[0]===void 0?(Sr[0]=(sr[0]+sr[2]+sr[4])/3,Sr[1]=(sr[1]+sr[3]+sr[5])/3,Sr[2]=(sr[0]+sr[2]+sr[4])/3+1,Sr[3]=(sr[1]+sr[3]+sr[5])/3+1):(Sr[2]=(sr[0]+sr[2]+sr[4])/3,Sr[3]=(sr[1]+sr[3]+sr[5])/3),y.redrawHint("select",!0),y.redraw();else if(jn&&Qt.touches[1]&&!y.touchData.didSelect&&ir.zoomingEnabled()&&ir.panningEnabled()&&ir.userZoomingEnabled()&&ir.userPanningEnabled()){Qt.preventDefault(),y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var y1=y.dragData.touchDragEles;if(y1){y.redrawHint("drag",!0);for(var Vd=0;Vd0&&!y.hoverData.draggingEles&&!y.swipePanning&&y.data.bgActivePosistion!=null&&(y.data.bgActivePosistion=void 0,y.redrawHint("select",!0),y.redraw())}},!1);var Jr;y.registerBinding(window,"touchcancel",Jr=function(Qt){var jn=y.touchData.start;y.touchData.capture=!1,jn&&jn.unactivate()});var vi,Xs,Ea,Ci;if(y.registerBinding(window,"touchend",vi=function(Qt){var jn=y.touchData.start,Sr=y.touchData.capture;if(Sr)Qt.touches.length===0&&(y.touchData.capture=!1),Qt.preventDefault();else return;var ir=y.selection;y.swipePanning=!1,y.hoverData.draggingEles=!1;var sr=y.cy,Ia=sr.zoom(),$r=y.touchData.now,Yi=y.touchData.earlier;if(Qt.touches[0]){var Fo=y.projectIntoViewport(Qt.touches[0].clientX,Qt.touches[0].clientY);$r[0]=Fo[0],$r[1]=Fo[1]}if(Qt.touches[1]){var Fo=y.projectIntoViewport(Qt.touches[1].clientX,Qt.touches[1].clientY);$r[2]=Fo[0],$r[3]=Fo[1]}if(Qt.touches[2]){var Fo=y.projectIntoViewport(Qt.touches[2].clientX,Qt.touches[2].clientY);$r[4]=Fo[0],$r[5]=Fo[1]}jn&&jn.unactivate();var Pc;if(y.touchData.cxt){if(Pc={originalEvent:Qt,type:"cxttapend",position:{x:$r[0],y:$r[1]}},jn?jn.emit(Pc):sr.emit(Pc),!y.touchData.cxtDragged){var Za={originalEvent:Qt,type:"cxttap",position:{x:$r[0],y:$r[1]}};jn?jn.emit(Za):sr.emit(Za)}y.touchData.start&&(y.touchData.start._private.grabbed=!1),y.touchData.cxt=!1,y.touchData.start=null,y.redraw();return}if(!Qt.touches[2]&&sr.boxSelectionEnabled()&&y.touchData.selecting){y.touchData.selecting=!1;var mc=sr.collection(y.getAllInBox(ir[0],ir[1],ir[2],ir[3]));ir[0]=void 0,ir[1]=void 0,ir[2]=void 0,ir[3]=void 0,ir[4]=0,y.redrawHint("select",!0),sr.emit({type:"boxend",originalEvent:Qt,position:{x:$r[0],y:$r[1]}});var Ta=function(F3){return F3.selectable()&&!F3.selected()};mc.emit("box").stdFilter(Ta).select().emit("boxselect"),mc.nonempty()&&y.redrawHint("eles",!0),y.redraw()}if(jn!=null&&jn.unactivate(),Qt.touches[2])y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);else if(!Qt.touches[1]){if(!Qt.touches[0]){if(!Qt.touches[0]){y.data.bgActivePosistion=void 0,y.redrawHint("select",!0);var Ja=y.dragData.touchDragEles;if(jn!=null){var ml=jn._private.grabbed;dt(Ja),y.redrawHint("drag",!0),y.redrawHint("eles",!0),ml&&(jn.emit("freeon"),Ja.emit("free"),y.dragData.didDrag&&(jn.emit("dragfreeon"),Ja.emit("dragfree"))),x(jn,["touchend","tapend","vmouseup","tapdragout"],Qt,{x:$r[0],y:$r[1]}),jn.unactivate(),y.touchData.start=null}else{var qf=y.findNearestElement($r[0],$r[1],!0,!0);x(qf,["touchend","tapend","vmouseup","tapdragout"],Qt,{x:$r[0],y:$r[1]})}var Cp=y.touchData.startPosition[0]-$r[0],_p=Cp*Cp,Hf=y.touchData.startPosition[1]-$r[1],_g=Hf*Hf,cd=_p+_g,mw=cd*Ia*Ia;y.touchData.singleTouchMoved||(jn||sr.$(":selected").unselect(["tapunselect"]),x(jn,["tap","vclick"],Qt,{x:$r[0],y:$r[1]}),Xs=!1,Qt.timeStamp-Ci<=sr.multiClickDebounceTime()?(Ea&&clearTimeout(Ea),Xs=!0,Ci=null,x(jn,["dbltap","vdblclick"],Qt,{x:$r[0],y:$r[1]})):(Ea=setTimeout(function(){Xs||x(jn,["onetap","voneclick"],Qt,{x:$r[0],y:$r[1]})},sr.multiClickDebounceTime()),Ci=Qt.timeStamp)),jn!=null&&!y.dragData.didDrag&&jn._private.selectable&&mw"u"){var hi=[],gs=function(Qt){return{clientX:Qt.clientX,clientY:Qt.clientY,force:1,identifier:Qt.pointerId,pageX:Qt.pageX,pageY:Qt.pageY,radiusX:Qt.width/2,radiusY:Qt.height/2,screenX:Qt.screenX,screenY:Qt.screenY,target:Qt.target}},qi=function(Qt){return{event:Qt,touch:gs(Qt)}},Si=function(Qt){hi.push(qi(Qt))},Ui=function(Qt){for(var jn=0;jn0)return Sn[0]}return null},ot=Object.keys(Y),ht=0;ht0?rt:fN(O,P,g,x,T,L,$)},checkPoint:function(g,x,T,L,O,P,$){var q=Lk(L,O),S=2*q;if(dw(g,x,this.points,P,$,L,O-S,[0,-1],T)||dw(g,x,this.points,P,$,L-S,O,[0,-1],T))return!0;var V=L/2+2*T,Y=O/2+2*T,rt=[P-V,$-Y,P-V,$,P+V,$,P+V,$-Y];return!!(qd(g,x,rt)||S3(g,x,S,S,P+L/2-q,$+O/2-q,T)||S3(g,x,S,S,P-L/2+q,$+O/2-q,T))}}},bw.registerNodeShapes=function(){var y=this.nodeShapes={},g=this;this.generateEllipse(),this.generatePolygon("triangle",sd(3,0)),this.generateRoundPolygon("round-triangle",sd(3,0)),this.generatePolygon("rectangle",sd(4,0)),y.square=y.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var x=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",x),this.generateRoundPolygon("round-diamond",x)}this.generatePolygon("pentagon",sd(5,0)),this.generateRoundPolygon("round-pentagon",sd(5,0)),this.generatePolygon("hexagon",sd(6,0)),this.generateRoundPolygon("round-hexagon",sd(6,0)),this.generatePolygon("heptagon",sd(7,0)),this.generateRoundPolygon("round-heptagon",sd(7,0)),this.generatePolygon("octagon",sd(8,0)),this.generateRoundPolygon("round-octagon",sd(8,0));var T=new Array(20);{var L=ML(5,0),O=ML(5,Math.PI/5),P=.5*(3-Math.sqrt(5));P*=1.57;for(var $=0;$=g.deqFastCost*$t)break}else if(S){if(Dt>=g.deqCost*ot||Dt>=g.deqAvgCost*rt)break}else if(Pt>=g.deqNoDrawCost*rM)break;var Zt=g.deq(T,Lt,dt);if(Zt.length>0)for(var Yt=0;Yt0&&(g.onDeqd(T,ht),!S&&g.shouldRedraw(T,ht,Lt,dt)&&O())},$=g.priority||EL;L.beforeRender(P,$(T))}}}},dtt=function(){function y(g){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:wm;p(this,y),this.idsByKey=new Gb,this.keyForId=new Gb,this.cachesByLvl=new Gb,this.lvls=[],this.getKey=g,this.doesEleInvalidateKey=x}return m(y,[{key:"getIdsFor",value:function(x){x==null&&vl("Can not get id list for null key");var T=this.idsByKey,L=this.idsByKey.get(x);return L||(L=new Y5,T.set(x,L)),L}},{key:"addIdForKey",value:function(x,T){x!=null&&this.getIdsFor(x).add(T)}},{key:"deleteIdForKey",value:function(x,T){x!=null&&this.getIdsFor(x).delete(T)}},{key:"getNumberOfIdsForKey",value:function(x){return x==null?0:this.getIdsFor(x).size}},{key:"updateKeyMappingFor",value:function(x){var T=x.id(),L=this.keyForId.get(T),O=this.getKey(x);this.deleteIdForKey(L,T),this.addIdForKey(O,T),this.keyForId.set(T,O)}},{key:"deleteKeyMappingFor",value:function(x){var T=x.id(),L=this.keyForId.get(T);this.deleteIdForKey(L,T),this.keyForId.delete(T)}},{key:"keyHasChangedFor",value:function(x){var T=x.id(),L=this.keyForId.get(T),O=this.getKey(x);return L!==O}},{key:"isInvalid",value:function(x){return this.keyHasChangedFor(x)||this.doesEleInvalidateKey(x)}},{key:"getCachesAt",value:function(x){var T=this.cachesByLvl,L=this.lvls,O=T.get(x);return O||(O=new Gb,T.set(x,O),L.push(x)),O}},{key:"getCache",value:function(x,T){return this.getCachesAt(T).get(x)}},{key:"get",value:function(x,T){var L=this.getKey(x),O=this.getCache(L,T);return O!=null&&this.updateKeyMappingFor(x),O}},{key:"getForCachedKey",value:function(x,T){var L=this.keyForId.get(x.id()),O=this.getCache(L,T);return O}},{key:"hasCache",value:function(x,T){return this.getCachesAt(T).has(x)}},{key:"has",value:function(x,T){var L=this.getKey(x);return this.hasCache(L,T)}},{key:"setCache",value:function(x,T,L){L.key=x,this.getCachesAt(T).set(x,L)}},{key:"set",value:function(x,T,L){var O=this.getKey(x);this.setCache(O,T,L),this.updateKeyMappingFor(x)}},{key:"deleteCache",value:function(x,T){this.getCachesAt(T).delete(x)}},{key:"delete",value:function(x,T){var L=this.getKey(x);this.deleteCache(L,T)}},{key:"invalidateKey",value:function(x){var T=this;this.lvls.forEach(function(L){return T.deleteCache(x,L)})}},{key:"invalidate",value:function(x){var T=x.id(),L=this.keyForId.get(T);this.deleteKeyMappingFor(x);var O=this.doesEleInvalidateKey(x);return O&&this.invalidateKey(L),O||this.getNumberOfIdsForKey(L)===0}}]),y}(),xC=25,kC=50,px=-4,iM=3,sM=7.99,gtt=8,ptt=1024,btt=1024,rR=1024,wtt=.2,vtt=.8,mtt=10,ytt=.15,xtt=.1,ktt=.9,Ett=.9,Ttt=100,Ctt=1,bx={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},_tt=Rf({getKey:null,doesEleInvalidateKey:wm,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:T3,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Kk=function(g,x){var T=this;T.renderer=g,T.onDequeues=[];var L=_tt(x);de(T,L),T.lookup=new dtt(L.getKey,L.doesEleInvalidateKey),T.setupDequeueing()},Th=Kk.prototype;Th.reasons=bx,Th.getTextureQueue=function(y){var g=this;return g.eleImgCaches=g.eleImgCaches||{},g.eleImgCaches[y]=g.eleImgCaches[y]||[]},Th.getRetiredTextureQueue=function(y){var g=this,x=g.eleImgCaches.retired=g.eleImgCaches.retired||{},T=x[y]=x[y]||[];return T},Th.getElementQueue=function(){var y=this,g=y.eleCacheQueue=y.eleCacheQueue||new Ck(function(x,T){return T.reqs-x.reqs});return g},Th.getElementKeyToQueue=function(){var y=this,g=y.eleKeyToCacheQueue=y.eleKeyToCacheQueue||{};return g},Th.getElement=function(y,g,x,T,L){var O=this,P=this.renderer,$=P.cy.zoom(),q=this.lookup;if(!g||g.w===0||g.h===0||isNaN(g.w)||isNaN(g.h)||!y.visible()||y.removed()||!O.allowEdgeTxrCaching&&y.isEdge()||!O.allowParentTxrCaching&&y.isParent())return null;if(T==null&&(T=Math.ceil(_L($*x))),T=sM||T>iM)return null;var S=Math.pow(2,T),V=g.h*S,Y=g.w*S,rt=P.eleTextBiggerThanMin(y,S);if(!this.isVisible(y,rt))return null;var ot=q.get(y,T);if(ot&&ot.invalidated&&(ot.invalidated=!1,ot.texture.invalidatedWidth-=ot.width),ot)return ot;var ht;if(V<=xC?ht=xC:V<=kC?ht=kC:ht=Math.ceil(V/kC)*kC,V>rR||Y>btt)return null;var dt=O.getTextureQueue(ht),Lt=dt[dt.length-2],kt=function(){return O.recycleTexture(ht,Y)||O.addTexture(ht,Y)};Lt||(Lt=dt[dt.length-1]),Lt||(Lt=kt()),Lt.width-Lt.usedWidthT;be--)Gt=O.getElement(y,g,x,be,bx.downscale);ge()}else return O.queueElement(y,Yt.level-1),Yt;else{var ie;if(!Pt&&!$t&&!Zt)for(var Fe=T-1;Fe>=px;Fe--){var we=q.get(y,Fe);if(we){ie=we;break}}if(Dt(ie))return O.queueElement(y,T),ie;Lt.context.translate(Lt.usedWidth,0),Lt.context.scale(S,S),this.drawElement(Lt.context,y,g,rt,!1),Lt.context.scale(1/S,1/S),Lt.context.translate(-Lt.usedWidth,0)}return ot={x:Lt.usedWidth,texture:Lt,level:T,scale:S,width:Y,height:V,scaledLabelShown:rt},Lt.usedWidth+=Math.ceil(Y+gtt),Lt.eleCaches.push(ot),q.set(y,T,ot),O.checkTextureFullness(Lt),ot},Th.invalidateElements=function(y){for(var g=0;g=wtt*y.width&&this.retireTexture(y)},Th.checkTextureFullness=function(y){var g=this,x=g.getTextureQueue(y.height);y.usedWidth/y.width>vtt&&y.fullnessChecks>=mtt?vm(x,y):y.fullnessChecks++},Th.retireTexture=function(y){var g=this,x=y.height,T=g.getTextureQueue(x),L=this.lookup;vm(T,y),y.retired=!0;for(var O=y.eleCaches,P=0;P=g)return P.retired=!1,P.usedWidth=0,P.invalidatedWidth=0,P.fullnessChecks=0,TL(P.eleCaches),P.context.setTransform(1,0,0,1,0,0),P.context.clearRect(0,0,P.width,P.height),vm(L,P),T.push(P),P}},Th.queueElement=function(y,g){var x=this,T=x.getElementQueue(),L=x.getElementKeyToQueue(),O=this.getKey(y),P=L[O];if(P)P.level=Math.max(P.level,g),P.eles.merge(y),P.reqs++,T.updateItem(P);else{var $={eles:y.spawn().merge(y),level:g,reqs:1,key:O};T.push($),L[O]=$}},Th.dequeue=function(y){for(var g=this,x=g.getElementQueue(),T=g.getElementKeyToQueue(),L=[],O=g.lookup,P=0;P0;P++){var $=x.pop(),q=$.key,S=$.eles[0],V=O.hasCache(S,$.level);if(T[q]=null,V)continue;L.push($);var Y=g.getBoundingBox(S);g.getElement(S,Y,y,$.level,bx.dequeue)}return L},Th.removeFromQueue=function(y){var g=this,x=g.getElementQueue(),T=g.getElementKeyToQueue(),L=this.getKey(y),O=T[L];O!=null&&(O.eles.length===1?(O.reqs=W5,x.updateItem(O),x.pop(),T[L]=null):O.eles.unmerge(y))},Th.onDequeue=function(y){this.onDequeues.push(y)},Th.offDequeue=function(y){vm(this.onDequeues,y)},Th.setupDequeueing=yC.setupDequeueing({deqRedrawThreshold:Ttt,deqCost:ytt,deqAvgCost:xtt,deqNoDrawCost:ktt,deqFastCost:Ett,deq:function(g,x,T){return g.dequeue(x,T)},onDeqd:function(g,x){for(var T=0;T=EC||x>Xk)return null}T.validateLayersElesOrdering(x,y);var q=T.layersByLevel,S=Math.pow(2,x),V=q[x]=q[x]||[],Y,rt=T.levelIsComplete(x,y),ot,ht=function(){var ge=function(bn){if(T.validateLayersElesOrdering(bn,y),T.levelIsComplete(bn,y))return ot=q[bn],!0},be=function(bn){if(!ot)for(var ze=x+bn;wx<=ze&&ze<=Xk&&!ge(ze);ze+=bn);};be(1),be(-1);for(var ie=V.length-1;ie>=0;ie--){var Fe=V[ie];Fe.invalid&&vm(V,Fe)}};if(!rt)ht();else return V;var dt=function(){if(!Y){Y=zd();for(var ge=0;gefpt)return null;var Fe=T.makeLayer(Y,x);if(be!=null){var we=V.indexOf(be)+1;V.splice(we,0,Fe)}else(ge.insert===void 0||ge.insert)&&V.unshift(Fe);return Fe};if(T.skipping&&!$)return null;for(var kt=null,Dt=y.length/Stt,Pt=!$,$t=0;$t=Dt||!hN(kt.bb,Zt.boundingBox()))&&(kt=Lt({insert:!0,after:kt}),!kt))return null;ot||Pt?T.queueLayer(kt,Zt):T.drawEleInLayer(kt,Zt,x,g),kt.eles.push(Zt),qt[x]=kt}return ot||(Pt?null:V)},w1.getEleLevelForLayerLevel=function(y,g){return y},w1.drawEleInLayer=function(y,g,x,T){var L=this,O=this.renderer,P=y.context,$=g.boundingBox();$.w===0||$.h===0||!g.visible()||(x=L.getEleLevelForLayerLevel(x,T),O.setImgSmoothing(P,!1),O.drawCachedElement(P,g,null,null,x,dpt),O.setImgSmoothing(P,!0))},w1.levelIsComplete=function(y,g){var x=this,T=x.layersByLevel[y];if(!T||T.length===0)return!1;for(var L=0,O=0;O0||P.invalid)return!1;L+=P.eles.length}return L===g.length},w1.validateLayersElesOrdering=function(y,g){var x=this.layersByLevel[y];if(x)for(var T=0;T0){g=!0;break}}return g},w1.invalidateElements=function(y){var g=this;y.length!==0&&(g.lastInvalidationTime=yg(),!(y.length===0||!g.haveLayers())&&g.updateElementsInLayers(y,function(T,L,O){g.invalidateLayer(T)}))},w1.invalidateLayer=function(y){if(this.lastInvalidationTime=yg(),!y.invalid){var g=y.level,x=y.eles,T=this.layersByLevel[g];vm(T,y),y.elesQueue=[],y.invalid=!0,y.replacement&&(y.replacement.invalid=!0);for(var L=0;L3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$=g._private.rscratch;if(!(O&&!g.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var q;x&&(q=x,y.translate(-q.x1,-q.y1));var S=O?g.pstyle("opacity").value:1,V=O?g.pstyle("line-opacity").value:1,Y=g.pstyle("curve-style").value,rt=g.pstyle("line-style").value,ot=g.pstyle("width").pfValue,ht=g.pstyle("line-cap").value,dt=S*V,Lt=S*V,kt=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:dt;Y==="straight-triangle"?(P.eleStrokeStyle(y,g,ie),P.drawEdgeTrianglePath(g,y,$.allpts)):(y.lineWidth=ot,y.lineCap=ht,P.eleStrokeStyle(y,g,ie),P.drawEdgePath(g,y,$.allpts,rt),y.lineCap="butt")},Dt=function(){L&&P.drawEdgeOverlay(y,g)},Pt=function(){L&&P.drawEdgeUnderlay(y,g)},$t=function(){var ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Lt;P.drawArrowheads(y,g,ie)},Zt=function(){P.drawElementText(y,g,null,T)};y.lineJoin="round";var Yt=g.pstyle("ghost").value==="yes";if(Yt){var qt=g.pstyle("ghost-offset-x").pfValue,ne=g.pstyle("ghost-offset-y").pfValue,Gt=g.pstyle("ghost-opacity").value,ge=dt*Gt;y.translate(qt,ne),kt(ge),$t(ge),y.translate(-qt,-ne)}Pt(),kt(),$t(),Dt(),Zt(),x&&y.translate(q.x1,q.y1)}};var Ott=function(g){if(!["overlay","underlay"].includes(g))throw new Error("Invalid state");return function(x,T){if(T.visible()){var L=T.pstyle("".concat(g,"-opacity")).value;if(L!==0){var O=this,P=O.usePaths(),$=T._private.rscratch,q=T.pstyle("".concat(g,"-padding")).pfValue,S=2*q,V=T.pstyle("".concat(g,"-color")).value;x.lineWidth=S,$.edgeType==="self"&&!P?x.lineCap="butt":x.lineCap="round",O.colorStrokeStyle(x,V[0],V[1],V[2],L),O.drawEdgePath(T,x,$.allpts,"solid")}}}};vw.drawEdgeOverlay=Ott("overlay"),vw.drawEdgeUnderlay=Ott("underlay"),vw.drawEdgePath=function(y,g,x,T){var L=y._private.rscratch,O=g,P,$=!1,q=this.usePaths(),S=y.pstyle("line-dash-pattern").pfValue,V=y.pstyle("line-dash-offset").pfValue;if(q){var Y=x.join("$"),rt=L.pathCacheKey&&L.pathCacheKey===Y;rt?(P=g=L.pathCache,$=!0):(P=g=new Path2D,L.pathCacheKey=Y,L.pathCache=P)}if(O.setLineDash)switch(T){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(S),O.lineDashOffset=V;break;case"solid":O.setLineDash([]);break}if(!$&&!L.badLine)switch(g.beginPath&&g.beginPath(),g.moveTo(x[0],x[1]),L.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ot=2;ot+35&&arguments[5]!==void 0?arguments[5]:!0,P=this;if(T==null){if(O&&!P.eleTextBiggerThanMin(g))return}else if(T===!1)return;if(g.isNode()){var $=g.pstyle("label");if(!$||!$.value)return;var q=P.getLabelJustification(g);y.textAlign=q,y.textBaseline="bottom"}else{var S=g.element()._private.rscratch.badLine,V=g.pstyle("label"),Y=g.pstyle("source-label"),rt=g.pstyle("target-label");if(S||(!V||!V.value)&&(!Y||!Y.value)&&(!rt||!rt.value))return;y.textAlign="center",y.textBaseline="bottom"}var ot=!x,ht;x&&(ht=x,y.translate(-ht.x1,-ht.y1)),L==null?(P.drawText(y,g,null,ot,O),g.isEdge()&&(P.drawText(y,g,"source",ot,O),P.drawText(y,g,"target",ot,O))):P.drawText(y,g,L,ot,O),x&&y.translate(ht.x1,ht.y1)},vx.getFontCache=function(y){var g;this.fontCaches=this.fontCaches||[];for(var x=0;x2&&arguments[2]!==void 0?arguments[2]:!0,T=g.pstyle("font-style").strValue,L=g.pstyle("font-size").pfValue+"px",O=g.pstyle("font-family").strValue,P=g.pstyle("font-weight").strValue,$=x?g.effectiveOpacity()*g.pstyle("text-opacity").value:1,q=g.pstyle("text-outline-opacity").value*$,S=g.pstyle("color").value,V=g.pstyle("text-outline-color").value;y.font=T+" "+P+" "+L+" "+O,y.lineJoin="round",this.colorFillStyle(y,S[0],S[1],S[2],$),this.colorStrokeStyle(y,V[0],V[1],V[2],q)};function mpt(y,g,x,T,L){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;y.beginPath(),y.moveTo(g+O,x),y.lineTo(g+T-O,x),y.quadraticCurveTo(g+T,x,g+T,x+O),y.lineTo(g+T,x+L-O),y.quadraticCurveTo(g+T,x+L,g+T-O,x+L),y.lineTo(g+O,x+L),y.quadraticCurveTo(g,x+L,g,x+L-O),y.lineTo(g,x+O),y.quadraticCurveTo(g,x,g+O,x),y.closePath(),y.fill()}vx.getTextAngle=function(y,g){var x,T=y._private,L=T.rscratch,O=g?g+"-":"",P=y.pstyle(O+"text-rotation"),$=yp(L,"labelAngle",g);return P.strValue==="autorotate"?x=y.isEdge()?$:0:P.strValue==="none"?x=0:x=P.pfValue,x},vx.drawText=function(y,g,x){var T=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=g._private,P=O.rscratch,$=L?g.effectiveOpacity():1;if(!(L&&($===0||g.pstyle("text-opacity").value===0))){x==="main"&&(x=null);var q=yp(P,"labelX",x),S=yp(P,"labelY",x),V,Y,rt=this.getLabelText(g,x);if(rt!=null&&rt!==""&&!isNaN(q)&&!isNaN(S)){this.setupTextStyle(y,g,L);var ot=x?x+"-":"",ht=yp(P,"labelWidth",x),dt=yp(P,"labelHeight",x),Lt=g.pstyle(ot+"text-margin-x").pfValue,kt=g.pstyle(ot+"text-margin-y").pfValue,Dt=g.isEdge(),Pt=g.pstyle("text-halign").value,$t=g.pstyle("text-valign").value;Dt&&(Pt="center",$t="center"),q+=Lt,S+=kt;var Zt;switch(T?Zt=this.getTextAngle(g,x):Zt=0,Zt!==0&&(V=q,Y=S,y.translate(V,Y),y.rotate(Zt),q=0,S=0),$t){case"top":break;case"center":S+=dt/2;break;case"bottom":S+=dt;break}var Yt=g.pstyle("text-background-opacity").value,qt=g.pstyle("text-border-opacity").value,ne=g.pstyle("text-border-width").pfValue,Gt=g.pstyle("text-background-padding").pfValue;if(Yt>0||ne>0&&qt>0){var ge=q-Gt;switch(Pt){case"left":ge-=ht;break;case"center":ge-=ht/2;break}var be=S-dt-Gt,ie=ht+2*Gt,Fe=dt+2*Gt;if(Yt>0){var we=y.fillStyle,bn=g.pstyle("text-background-color").value;y.fillStyle="rgba("+bn[0]+","+bn[1]+","+bn[2]+","+Yt*$+")";var ze=g.pstyle("text-background-shape").strValue;ze.indexOf("round")===0?mpt(y,ge,be,ie,Fe,2):y.fillRect(ge,be,ie,Fe),y.fillStyle=we}if(ne>0&&qt>0){var Ge=y.strokeStyle,En=y.lineWidth,In=g.pstyle("text-border-color").value,Yn=g.pstyle("text-border-style").value;if(y.strokeStyle="rgba("+In[0]+","+In[1]+","+In[2]+","+qt*$+")",y.lineWidth=ne,y.setLineDash)switch(Yn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"double":y.lineWidth=ne/4,y.setLineDash([]);break;case"solid":y.setLineDash([]);break}if(y.strokeRect(ge,be,ie,Fe),Yn==="double"){var Sn=ne/2;y.strokeRect(ge+Sn,be+Sn,ie-Sn*2,Fe-Sn*2)}y.setLineDash&&y.setLineDash([]),y.lineWidth=En,y.strokeStyle=Ge}}var Wn=2*g.pstyle("text-outline-width").pfValue;if(Wn>0&&(y.lineWidth=Wn),g.pstyle("text-wrap").value==="wrap"){var rr=yp(P,"labelWrapCachedLines",x),wr=yp(P,"labelLineHeight",x),ur=ht/2,er=this.getLabelJustification(g);switch(er==="auto"||(Pt==="left"?er==="left"?q+=-ht:er==="center"&&(q+=-ur):Pt==="center"?er==="left"?q+=-ur:er==="right"&&(q+=ur):Pt==="right"&&(er==="center"?q+=ur:er==="right"&&(q+=ht))),$t){case"top":S-=(rr.length-1)*wr;break;case"center":case"bottom":S-=(rr.length-1)*wr;break}for(var vn=0;vn0&&y.strokeText(rr[vn],q,S),y.fillText(rr[vn],q,S),S+=wr}else Wn>0&&y.strokeText(rt,q,S),y.fillText(rt,q,S);Zt!==0&&(y.rotate(-Zt),y.translate(-V,-Y))}}};var Zk={};Zk.drawNode=function(y,g,x){var T=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,P=this,$,q,S=g._private,V=S.rscratch,Y=g.position();if(!(!X(Y.x)||!X(Y.y))&&!(O&&!g.visible())){var rt=O?g.effectiveOpacity():1,ot=P.usePaths(),ht,dt=!1,Lt=g.padding();$=g.width()+2*Lt,q=g.height()+2*Lt;var kt;x&&(kt=x,y.translate(-kt.x1,-kt.y1));for(var Dt=g.pstyle("background-image"),Pt=Dt.value,$t=new Array(Pt.length),Zt=new Array(Pt.length),Yt=0,qt=0;qt0&&arguments[0]!==void 0?arguments[0]:Fe;P.eleFillStyle(y,g,Si)},En=function(){var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ze;P.colorStrokeStyle(y,we[0],we[1],we[2],Si)},In=g.pstyle("shape").strValue,Yn=g.pstyle("shape-polygon-points").pfValue;if(ot){y.translate(Y.x,Y.y);var Sn=P.nodePathCache=P.nodePathCache||[],Wn=id(In==="polygon"?In+","+Yn.join(","):In,""+q,""+$),rr=Sn[Wn];rr!=null?(ht=rr,dt=!0,V.pathCache=ht):(ht=new Path2D,Sn[Wn]=V.pathCache=ht)}var wr=function(){if(!dt){var Si=Y;ot&&(Si={x:0,y:0}),P.nodeShapes[P.getNodeShape(g)].draw(ht||y,Si.x,Si.y,$,q)}ot?y.fill(ht):y.fill()},ur=function(){for(var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt,Ui=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Va=S.backgrounding,Qs=0,qs=0;qs0&&arguments[0]!==void 0?arguments[0]:!1,Ui=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rt;P.hasPie(g)&&(P.drawPie(y,g,Ui),Si&&(ot||P.nodeShapes[P.getNodeShape(g)].draw(y,Y.x,Y.y,$,q)))},vn=function(){var Si=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt,Ui=(be>0?be:-be)*Si,Va=be>0?0:255;be!==0&&(P.colorFillStyle(y,Va,Va,Va,Ui),ot?y.fill(ht):y.fill())},gr=function(){if(ie>0){if(y.lineWidth=ie,y.lineCap="butt",y.setLineDash)switch(bn){case"dotted":y.setLineDash([1,1]);break;case"dashed":y.setLineDash([4,2]);break;case"solid":case"double":y.setLineDash([]);break}if(ot?y.stroke(ht):y.stroke(),bn==="double"){y.lineWidth=ie/3;var Si=y.globalCompositeOperation;y.globalCompositeOperation="destination-out",ot?y.stroke(ht):y.stroke(),y.globalCompositeOperation=Si}y.setLineDash&&y.setLineDash([])}},fr=function(){L&&P.drawNodeOverlay(y,g,Y,$,q)},Jr=function(){L&&P.drawNodeUnderlay(y,g,Y,$,q)},vi=function(){P.drawElementText(y,g,null,T)},Xs=g.pstyle("ghost").value==="yes";if(Xs){var Ea=g.pstyle("ghost-offset-x").pfValue,Ci=g.pstyle("ghost-offset-y").pfValue,hi=g.pstyle("ghost-opacity").value,gs=hi*rt;y.translate(Ea,Ci),Ge(hi*Fe),wr(),ur(gs,!0),En(hi*ze),gr(),er(be!==0||ie!==0),ur(gs,!1),vn(gs),y.translate(-Ea,-Ci)}ot&&y.translate(-Y.x,-Y.y),Jr(),ot&&y.translate(Y.x,Y.y),Ge(),wr(),ur(rt,!0),En(),gr(),er(be!==0||ie!==0),ur(rt,!1),vn(),ot&&y.translate(-Y.x,-Y.y),vi(),fr(),x&&y.translate(kt.x1,kt.y1)}};var Ptt=function(g){if(!["overlay","underlay"].includes(g))throw new Error("Invalid state");return function(x,T,L,O,P){var $=this;if(T.visible()){var q=T.pstyle("".concat(g,"-padding")).pfValue,S=T.pstyle("".concat(g,"-opacity")).value,V=T.pstyle("".concat(g,"-color")).value,Y=T.pstyle("".concat(g,"-shape")).value;if(S>0){if(L=L||T.position(),O==null||P==null){var rt=T.padding();O=T.width()+2*rt,P=T.height()+2*rt}$.colorFillStyle(x,V[0],V[1],V[2],S),$.nodeShapes[Y].draw(x,L.x,L.y,O+q*2,P+q*2),x.fill()}}}};Zk.drawNodeOverlay=Ptt("overlay"),Zk.drawNodeUnderlay=Ptt("underlay"),Zk.hasPie=function(y){return y=y[0],y._private.hasPie},Zk.drawPie=function(y,g,x,T){g=g[0],T=T||g.position();var L=g.cy().style(),O=g.pstyle("pie-size"),P=T.x,$=T.y,q=g.width(),S=g.height(),V=Math.min(q,S)/2,Y=0,rt=this.usePaths();rt&&(P=0,$=0),O.units==="%"?V=V*O.pfValue:O.pfValue!==void 0&&(V=O.pfValue/2);for(var ot=1;ot<=L.pieBackgroundN;ot++){var ht=g.pstyle("pie-"+ot+"-background-size").value,dt=g.pstyle("pie-"+ot+"-background-color").value,Lt=g.pstyle("pie-"+ot+"-background-opacity").value*x,kt=ht/100;kt+Y>1&&(kt=1-Y);var Dt=1.5*Math.PI+2*Math.PI*Y,Pt=2*Math.PI*kt,$t=Dt+Pt;ht===0||Y>=1||Y+kt>1||(y.beginPath(),y.moveTo(P,$),y.arc(P,$,V,Dt,$t),y.closePath(),this.colorFillStyle(y,dt[0],dt[1],dt[2],Lt),y.fill(),Y+=kt)}};var Tg={},ypt=100;Tg.getPixelRatio=function(){var y=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var g=y.backingStorePixelRatio||y.webkitBackingStorePixelRatio||y.mozBackingStorePixelRatio||y.msBackingStorePixelRatio||y.oBackingStorePixelRatio||y.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/g},Tg.paintCache=function(y){for(var g=this.paintCaches=this.paintCaches||[],x=!0,T,L=0;LP.minMbLowQualFrames&&(P.motionBlurPxRatio=P.mbPxRBlurry)),P.clearingMotionBlur&&(P.motionBlurPxRatio=1),P.textureDrawLastFrame&&!Y&&(V[P.NODE]=!0,V[P.SELECT_BOX]=!0);var Dt=q.style(),Pt=q.zoom(),$t=L!==void 0?L:Pt,Zt=q.pan(),Yt={x:Zt.x,y:Zt.y},qt={zoom:Pt,pan:{x:Zt.x,y:Zt.y}},ne=P.prevViewport,Gt=ne===void 0||qt.zoom!==ne.zoom||qt.pan.x!==ne.pan.x||qt.pan.y!==ne.pan.y;!Gt&&!(dt&&!ht)&&(P.motionBlurPxRatio=1),O&&(Yt=O),$t*=$,Yt.x*=$,Yt.y*=$;var ge=P.getCachedZSortedEles();function be(Ci,hi,gs,qi,Si){var Ui=Ci.globalCompositeOperation;Ci.globalCompositeOperation="destination-out",P.colorFillStyle(Ci,255,255,255,P.motionBlurTransparency),Ci.fillRect(hi,gs,qi,Si),Ci.globalCompositeOperation=Ui}function ie(Ci,hi){var gs,qi,Si,Ui;!P.clearingMotionBlur&&(Ci===S.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]||Ci===S.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG])?(gs={x:Zt.x*ot,y:Zt.y*ot},qi=Pt*ot,Si=P.canvasWidth*ot,Ui=P.canvasHeight*ot):(gs=Yt,qi=$t,Si=P.canvasWidth,Ui=P.canvasHeight),Ci.setTransform(1,0,0,1,0,0),hi==="motionBlur"?be(Ci,0,0,Si,Ui):!g&&(hi===void 0||hi)&&Ci.clearRect(0,0,Si,Ui),x||(Ci.translate(gs.x,gs.y),Ci.scale(qi,qi)),O&&Ci.translate(O.x,O.y),L&&Ci.scale(L,L)}if(Y||(P.textureDrawLastFrame=!1),Y){if(P.textureDrawLastFrame=!0,!P.textureCache){P.textureCache={},P.textureCache.bb=q.mutableElements().boundingBox(),P.textureCache.texture=P.data.bufferCanvases[P.TEXTURE_BUFFER];var Fe=P.data.bufferContexts[P.TEXTURE_BUFFER];Fe.setTransform(1,0,0,1,0,0),Fe.clearRect(0,0,P.canvasWidth*P.textureMult,P.canvasHeight*P.textureMult),P.render({forcedContext:Fe,drawOnlyNodeLayer:!0,forcedPxRatio:$*P.textureMult});var qt=P.textureCache.viewport={zoom:q.zoom(),pan:q.pan(),width:P.canvasWidth,height:P.canvasHeight};qt.mpan={x:(0-qt.pan.x)/qt.zoom,y:(0-qt.pan.y)/qt.zoom}}V[P.DRAG]=!1,V[P.NODE]=!1;var we=S.contexts[P.NODE],bn=P.textureCache.texture,qt=P.textureCache.viewport;we.setTransform(1,0,0,1,0,0),rt?be(we,0,0,qt.width,qt.height):we.clearRect(0,0,qt.width,qt.height);var ze=Dt.core("outside-texture-bg-color").value,Ge=Dt.core("outside-texture-bg-opacity").value;P.colorFillStyle(we,ze[0],ze[1],ze[2],Ge),we.fillRect(0,0,qt.width,qt.height);var Pt=q.zoom();ie(we,!1),we.clearRect(qt.mpan.x,qt.mpan.y,qt.width/qt.zoom/$,qt.height/qt.zoom/$),we.drawImage(bn,qt.mpan.x,qt.mpan.y,qt.width/qt.zoom/$,qt.height/qt.zoom/$)}else P.textureOnViewport&&!g&&(P.textureCache=null);var En=q.extent(),In=P.pinching||P.hoverData.dragging||P.swipePanning||P.data.wheelZooming||P.hoverData.draggingEles||P.cy.animated(),Yn=P.hideEdgesOnViewport&&In,Sn=[];if(Sn[P.NODE]=!V[P.NODE]&&rt&&!P.clearedForMotionBlur[P.NODE]||P.clearingMotionBlur,Sn[P.NODE]&&(P.clearedForMotionBlur[P.NODE]=!0),Sn[P.DRAG]=!V[P.DRAG]&&rt&&!P.clearedForMotionBlur[P.DRAG]||P.clearingMotionBlur,Sn[P.DRAG]&&(P.clearedForMotionBlur[P.DRAG]=!0),V[P.NODE]||x||T||Sn[P.NODE]){var Wn=rt&&!Sn[P.NODE]&&ot!==1,we=g||(Wn?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_NODE]:S.contexts[P.NODE]),rr=rt&&!Wn?"motionBlur":void 0;ie(we,rr),Yn?P.drawCachedNodes(we,ge.nondrag,$,En):P.drawLayeredElements(we,ge.nondrag,$,En),P.debug&&P.drawDebugPoints(we,ge.nondrag),!x&&!rt&&(V[P.NODE]=!1)}if(!T&&(V[P.DRAG]||x||Sn[P.DRAG])){var Wn=rt&&!Sn[P.DRAG]&&ot!==1,we=g||(Wn?P.data.bufferContexts[P.MOTIONBLUR_BUFFER_DRAG]:S.contexts[P.DRAG]);ie(we,rt&&!Wn?"motionBlur":void 0),Yn?P.drawCachedNodes(we,ge.drag,$,En):P.drawCachedElements(we,ge.drag,$,En),P.debug&&P.drawDebugPoints(we,ge.drag),!x&&!rt&&(V[P.DRAG]=!1)}if(P.showFps||!T&&V[P.SELECT_BOX]&&!x){var we=g||S.contexts[P.SELECT_BOX];if(ie(we),P.selection[4]==1&&(P.hoverData.selecting||P.touchData.selecting)){var Pt=P.cy.zoom(),wr=Dt.core("selection-box-border-width").value/Pt;we.lineWidth=wr,we.fillStyle="rgba("+Dt.core("selection-box-color").value[0]+","+Dt.core("selection-box-color").value[1]+","+Dt.core("selection-box-color").value[2]+","+Dt.core("selection-box-opacity").value+")",we.fillRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]),wr>0&&(we.strokeStyle="rgba("+Dt.core("selection-box-border-color").value[0]+","+Dt.core("selection-box-border-color").value[1]+","+Dt.core("selection-box-border-color").value[2]+","+Dt.core("selection-box-opacity").value+")",we.strokeRect(P.selection[0],P.selection[1],P.selection[2]-P.selection[0],P.selection[3]-P.selection[1]))}if(S.bgActivePosistion&&!P.hoverData.selecting){var Pt=P.cy.zoom(),ur=S.bgActivePosistion;we.fillStyle="rgba("+Dt.core("active-bg-color").value[0]+","+Dt.core("active-bg-color").value[1]+","+Dt.core("active-bg-color").value[2]+","+Dt.core("active-bg-opacity").value+")",we.beginPath(),we.arc(ur.x,ur.y,Dt.core("active-bg-size").pfValue/Pt,0,2*Math.PI),we.fill()}var er=P.lastRedrawTime;if(P.showFps&&er){er=Math.round(er);var vn=Math.round(1e3/er);we.setTransform(1,0,0,1,0,0),we.fillStyle="rgba(255, 0, 0, 0.75)",we.strokeStyle="rgba(255, 0, 0, 0.75)",we.lineWidth=1,we.fillText("1 frame = "+er+" ms = "+vn+" fps",0,20);var gr=60;we.strokeRect(0,30,250,20),we.fillRect(0,30,250*Math.min(vn/gr,1),20)}x||(V[P.SELECT_BOX]=!1)}if(rt&&ot!==1){var fr=S.contexts[P.NODE],Jr=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_NODE],vi=S.contexts[P.DRAG],Xs=P.data.bufferCanvases[P.MOTIONBLUR_BUFFER_DRAG],Ea=function(hi,gs,qi){hi.setTransform(1,0,0,1,0,0),qi||!kt?hi.clearRect(0,0,P.canvasWidth,P.canvasHeight):be(hi,0,0,P.canvasWidth,P.canvasHeight);var Si=ot;hi.drawImage(gs,0,0,P.canvasWidth*Si,P.canvasHeight*Si,0,0,P.canvasWidth,P.canvasHeight)};(V[P.NODE]||Sn[P.NODE])&&(Ea(fr,Jr,Sn[P.NODE]),V[P.NODE]=!1),(V[P.DRAG]||Sn[P.DRAG])&&(Ea(vi,Xs,Sn[P.DRAG]),V[P.DRAG]=!1)}P.prevViewport=qt,P.clearingMotionBlur&&(P.clearingMotionBlur=!1,P.motionBlurCleared=!0,P.motionBlur=!0),rt&&(P.motionBlurTimeout=setTimeout(function(){P.motionBlurTimeout=null,P.clearedForMotionBlur[P.NODE]=!1,P.clearedForMotionBlur[P.DRAG]=!1,P.motionBlur=!1,P.clearingMotionBlur=!Y,P.mbFrames=0,V[P.NODE]=!0,V[P.DRAG]=!0,P.redraw()},ypt)),g||q.emit("render")};var O3={};O3.drawPolygonPath=function(y,g,x,T,L,O){var P=T/2,$=L/2;y.beginPath&&y.beginPath(),y.moveTo(g+P*O[0],x+$*O[1]);for(var q=1;q0&&P>0){ot.clearRect(0,0,O,P),ot.globalCompositeOperation="source-over";var ht=this.getCachedZSortedEles();if(y.full)ot.translate(-T.x1*S,-T.y1*S),ot.scale(S,S),this.drawElements(ot,ht),ot.scale(1/S,1/S),ot.translate(T.x1*S,T.y1*S);else{var dt=g.pan(),Lt={x:dt.x*S,y:dt.y*S};S*=g.zoom(),ot.translate(Lt.x,Lt.y),ot.scale(S,S),this.drawElements(ot,ht),ot.scale(1/S,1/S),ot.translate(-Lt.x,-Lt.y)}y.bg&&(ot.globalCompositeOperation="destination-over",ot.fillStyle=y.bg,ot.rect(0,0,O,P),ot.fill())}return rt};function xpt(y,g){for(var x=atob(y),T=new ArrayBuffer(x.length),L=new Uint8Array(T),O=0;O"u"?"undefined":f(OffscreenCanvas))!=="undefined"?x=new OffscreenCanvas(y,g):(x=document.createElement("canvas"),x.width=y,x.height=g),x},[D0,ww,vw,CC,vx,Zk,Tg,O3,_C,$tt].forEach(function(y){de(vc,y)});var mx=[{name:"null",impl:WB},{name:"base",impl:nM},{name:"canvas",impl:kpt}],Cg=[{type:"layout",extensions:ltt},{type:"renderer",extensions:mx}],Sm={},cM={};function v1(y,g,x){var T=x,L=function(ne){Sc("Can not register `"+g+"` for `"+y+"` since `"+ne+"` already exists in the prototype and can not be overridden")};if(y==="core"){if(Vk.prototype[g])return L(g);Vk.prototype[g]=x}else if(y==="collection"){if($f.prototype[g])return L(g);$f.prototype[g]=x}else if(y==="layout"){for(var O=function(ne){this.options=ne,x.call(this,ne),ut(this._private)||(this._private={}),this._private.cy=ne.cy,this._private.listeners=[],this.createEmitter()},P=O.prototype=Object.create(x.prototype),$=[],q=0;q<$.length;q++){var S=$[q];P[S]=P[S]||function(){return this}}P.start&&!P.run?P.run=function(){return this.start(),this}:!P.start&&P.run&&(P.start=function(){return this.run(),this});var V=x.prototype.stop;P.stop=function(){var qt=this.options;if(qt&&qt.animate){var ne=this.animations;if(ne)for(var Gt=0;Gtz&&(this.rect.x-=(this.labelWidth-z)/2,this.setWidth(this.labelWidth)),this.labelHeight>W&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-W)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-W),this.setHeight(this.labelHeight))}}},B.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},B.prototype.transform=function(R){var z=this.rect.x;z>_.WORLD_BOUNDARY?z=_.WORLD_BOUNDARY:z<-_.WORLD_BOUNDARY&&(z=-_.WORLD_BOUNDARY);var W=this.rect.y;W>_.WORLD_BOUNDARY?W=_.WORLD_BOUNDARY:W<-_.WORLD_BOUNDARY&&(W=-_.WORLD_BOUNDARY);var et=new I(z,W),st=R.inverseTransformPoint(et);this.setLocation(st.x,st.y)},B.prototype.getLeft=function(){return this.rect.x},B.prototype.getRight=function(){return this.rect.x+this.rect.width},B.prototype.getTop=function(){return this.rect.y},B.prototype.getBottom=function(){return this.rect.y+this.rect.height},B.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=B},function(f,p,w){function m(b,E){b==null&&E==null?(this.x=0,this.y=0):(this.x=b,this.y=E)}m.prototype.getX=function(){return this.x},m.prototype.getY=function(){return this.y},m.prototype.setX=function(b){this.x=b},m.prototype.setY=function(b){this.y=b},m.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},m.prototype.getCopy=function(){return new m(this.x,this.y)},m.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},f.exports=m},function(f,p,w){var m=w(2),b=w(10),E=w(0),_=w(6),A=w(3),I=w(1),B=w(13),N=w(12),R=w(11);function z(et,st,at){m.call(this,at),this.estimatedSize=b.MIN_VALUE,this.margin=E.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=et,st!=null&&st instanceof _?this.graphManager=st:st!=null&&st instanceof Layout&&(this.graphManager=st.graphManager)}z.prototype=Object.create(m.prototype);for(var W in m)z[W]=m[W];z.prototype.getNodes=function(){return this.nodes},z.prototype.getEdges=function(){return this.edges},z.prototype.getGraphManager=function(){return this.graphManager},z.prototype.getParent=function(){return this.parent},z.prototype.getLeft=function(){return this.left},z.prototype.getRight=function(){return this.right},z.prototype.getTop=function(){return this.top},z.prototype.getBottom=function(){return this.bottom},z.prototype.isConnected=function(){return this.isConnected},z.prototype.add=function(et,st,at){if(st==null&&at==null){var bt=et;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(bt)>-1)throw"Node already in graph!";return bt.owner=this,this.getNodes().push(bt),bt}else{var mt=et;if(!(this.getNodes().indexOf(st)>-1&&this.getNodes().indexOf(at)>-1))throw"Source or target not in graph!";if(!(st.owner==at.owner&&st.owner==this))throw"Both owners must be this graph!";return st.owner!=at.owner?null:(mt.source=st,mt.target=at,mt.isInterGraph=!1,this.getEdges().push(mt),st.edges.push(mt),at!=st&&at.edges.push(mt),mt)}},z.prototype.remove=function(et){var st=et;if(et instanceof A){if(st==null)throw"Node is null!";if(!(st.owner!=null&&st.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var at=st.edges.slice(),bt,mt=at.length,yt=0;yt-1&&vt>-1))throw"Source and/or target doesn't know this edge!";bt.source.edges.splice(ut,1),bt.target!=bt.source&&bt.target.edges.splice(vt,1);var ft=bt.source.owner.getEdges().indexOf(bt);if(ft==-1)throw"Not in owner's edge list!";bt.source.owner.getEdges().splice(ft,1)}},z.prototype.updateLeftTop=function(){for(var et=b.MAX_VALUE,st=b.MAX_VALUE,at,bt,mt,yt=this.getNodes(),ft=yt.length,ut=0;utat&&(et=at),st>bt&&(st=bt)}return et==b.MAX_VALUE?null:(yt[0].getParent().paddingLeft!=null?mt=yt[0].getParent().paddingLeft:mt=this.margin,this.left=st-mt,this.top=et-mt,new N(this.left,this.top))},z.prototype.updateBounds=function(et){for(var st=b.MAX_VALUE,at=-b.MAX_VALUE,bt=b.MAX_VALUE,mt=-b.MAX_VALUE,yt,ft,ut,vt,X,pt=this.nodes,U=pt.length,Tt=0;Ttyt&&(st=yt),atut&&(bt=ut),mtyt&&(st=yt),atut&&(bt=ut),mt=this.nodes.length){var U=0;at.forEach(function(Tt){Tt.owner==et&&U++}),U==this.nodes.length&&(this.isConnected=!0)}},f.exports=z},function(f,p,w){var m,b=w(1);function E(_){m=w(5),this.layout=_,this.graphs=[],this.edges=[]}E.prototype.addRoot=function(){var _=this.layout.newGraph(),A=this.layout.newNode(null),I=this.add(_,A);return this.setRootGraph(I),this.rootGraph},E.prototype.add=function(_,A,I,B,N){if(I==null&&B==null&&N==null){if(_==null)throw"Graph is null!";if(A==null)throw"Parent node is null!";if(this.graphs.indexOf(_)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(_),_.parent!=null)throw"Already has a parent!";if(A.child!=null)throw"Already has a child!";return _.parent=A,A.child=_,_}else{N=I,B=A,I=_;var R=B.getOwner(),z=N.getOwner();if(!(R!=null&&R.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(z!=null&&z.getGraphManager()==this))throw"Target not in this graph mgr!";if(R==z)return I.isInterGraph=!1,R.add(I,B,N);if(I.isInterGraph=!0,I.source=B,I.target=N,this.edges.indexOf(I)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(I),!(I.source!=null&&I.target!=null))throw"Edge source and/or target is null!";if(!(I.source.edges.indexOf(I)==-1&&I.target.edges.indexOf(I)==-1))throw"Edge already in source and/or target incidency list!";return I.source.edges.push(I),I.target.edges.push(I),I}},E.prototype.remove=function(_){if(_ instanceof m){var A=_;if(A.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(A==this.rootGraph||A.parent!=null&&A.parent.graphManager==this))throw"Invalid parent node!";var I=[];I=I.concat(A.getEdges());for(var B,N=I.length,R=0;R=_.getRight()?A[0]+=Math.min(_.getX()-E.getX(),E.getRight()-_.getRight()):_.getX()<=E.getX()&&_.getRight()>=E.getRight()&&(A[0]+=Math.min(E.getX()-_.getX(),_.getRight()-E.getRight())),E.getY()<=_.getY()&&E.getBottom()>=_.getBottom()?A[1]+=Math.min(_.getY()-E.getY(),E.getBottom()-_.getBottom()):_.getY()<=E.getY()&&_.getBottom()>=E.getBottom()&&(A[1]+=Math.min(E.getY()-_.getY(),_.getBottom()-E.getBottom()));var N=Math.abs((_.getCenterY()-E.getCenterY())/(_.getCenterX()-E.getCenterX()));_.getCenterY()===E.getCenterY()&&_.getCenterX()===E.getCenterX()&&(N=1);var R=N*A[0],z=A[1]/N;A[0]R)return A[0]=I,A[1]=W,A[2]=N,A[3]=pt,!1;if(BN)return A[0]=z,A[1]=B,A[2]=vt,A[3]=R,!1;if(IN?(A[0]=st,A[1]=at,It=!0):(A[0]=et,A[1]=W,It=!0):Bt===Z&&(I>N?(A[0]=z,A[1]=W,It=!0):(A[0]=bt,A[1]=at,It=!0)),-Et===Z?N>I?(A[2]=X,A[3]=pt,Ot=!0):(A[2]=vt,A[3]=ut,Ot=!0):Et===Z&&(N>I?(A[2]=ft,A[3]=ut,Ot=!0):(A[2]=U,A[3]=pt,Ot=!0)),It&&Ot)return!1;if(I>N?B>R?(Ct=this.getCardinalDirection(Bt,Z,4),xt=this.getCardinalDirection(Et,Z,2)):(Ct=this.getCardinalDirection(-Bt,Z,3),xt=this.getCardinalDirection(-Et,Z,1)):B>R?(Ct=this.getCardinalDirection(-Bt,Z,1),xt=this.getCardinalDirection(-Et,Z,3)):(Ct=this.getCardinalDirection(Bt,Z,2),xt=this.getCardinalDirection(Et,Z,4)),!It)switch(Ct){case 1:Le=W,Ht=I+-yt/Z,A[0]=Ht,A[1]=Le;break;case 2:Ht=bt,Le=B+mt*Z,A[0]=Ht,A[1]=Le;break;case 3:Le=at,Ht=I+yt/Z,A[0]=Ht,A[1]=Le;break;case 4:Ht=st,Le=B+-mt*Z,A[0]=Ht,A[1]=Le;break}if(!Ot)switch(xt){case 1:gn=ut,Ft=N+-nt/Z,A[2]=Ft,A[3]=gn;break;case 2:Ft=U,gn=R+Tt*Z,A[2]=Ft,A[3]=gn;break;case 3:gn=pt,Ft=N+nt/Z,A[2]=Ft,A[3]=gn;break;case 4:Ft=X,gn=R+-Tt*Z,A[2]=Ft,A[3]=gn;break}}return!1},b.getCardinalDirection=function(E,_,A){return E>_?A:1+A%4},b.getIntersection=function(E,_,A,I){if(I==null)return this.getIntersection2(E,_,A);var B=E.x,N=E.y,R=_.x,z=_.y,W=A.x,et=A.y,st=I.x,at=I.y,bt=void 0,mt=void 0,yt=void 0,ft=void 0,ut=void 0,vt=void 0,X=void 0,pt=void 0,U=void 0;return yt=z-N,ut=B-R,X=R*N-B*z,ft=at-et,vt=W-st,pt=st*et-W*at,U=yt*vt-ft*ut,U===0?null:(bt=(ut*pt-vt*X)/U,mt=(ft*X-yt*pt)/U,new m(bt,mt))},b.angleOfVector=function(E,_,A,I){var B=void 0;return E!==A?(B=Math.atan((I-_)/(A-E)),A0?1:b<0?-1:0},m.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},m.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},f.exports=m},function(f,p,w){function m(){}m.MAX_VALUE=2147483647,m.MIN_VALUE=-2147483648,f.exports=m},function(f,p,w){var m=function(){function B(N,R){for(var z=0;z"u"?"undefined":m(E);return E==null||_!="object"&&_!="function"},f.exports=b},function(f,p,w){function m(W){if(Array.isArray(W)){for(var et=0,st=Array(W.length);et0&&et;){for(yt.push(ut[0]);yt.length>0&&et;){var vt=yt[0];yt.splice(0,1),mt.add(vt);for(var X=vt.getEdges(),bt=0;bt-1&&ut.splice(nt,1)}mt=new Set,ft=new Map}}return W},z.prototype.createDummyNodesForBendpoints=function(W){for(var et=[],st=W.source,at=this.graphManager.calcLowestCommonAncestor(W.source,W.target),bt=0;bt0){for(var at=this.edgeToDummyNodes.get(st),bt=0;bt=0&&et.splice(pt,1);var U=ft.getNeighborsList();U.forEach(function(It){if(st.indexOf(It)<0){var Ot=at.get(It),Bt=Ot-1;Bt==1&&vt.push(It),at.set(It,Bt)}})}st=st.concat(vt),(et.length==1||et.length==2)&&(bt=!0,mt=et[0])}return mt},z.prototype.setGraphManager=function(W){this.graphManager=W},f.exports=z},function(f,p,w){function m(){}m.seed=1,m.x=0,m.nextDouble=function(){return m.x=Math.sin(m.seed++)*1e4,m.x-Math.floor(m.x)},f.exports=m},function(f,p,w){var m=w(4);function b(E,_){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(E){this.lworldOrgX=E},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(E){this.lworldOrgY=E},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(E){this.lworldExtX=E},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(E){this.lworldExtY=E},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(E){this.ldeviceOrgX=E},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(E){this.ldeviceOrgY=E},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(E){this.ldeviceExtX=E},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(E){this.ldeviceExtY=E},b.prototype.transformX=function(E){var _=0,A=this.lworldExtX;return A!=0&&(_=this.ldeviceOrgX+(E-this.lworldOrgX)*this.ldeviceExtX/A),_},b.prototype.transformY=function(E){var _=0,A=this.lworldExtY;return A!=0&&(_=this.ldeviceOrgY+(E-this.lworldOrgY)*this.ldeviceExtY/A),_},b.prototype.inverseTransformX=function(E){var _=0,A=this.ldeviceExtX;return A!=0&&(_=this.lworldOrgX+(E-this.ldeviceOrgX)*this.lworldExtX/A),_},b.prototype.inverseTransformY=function(E){var _=0,A=this.ldeviceExtY;return A!=0&&(_=this.lworldOrgY+(E-this.ldeviceOrgY)*this.lworldExtY/A),_},b.prototype.inverseTransformPoint=function(E){var _=new m(this.inverseTransformX(E.x),this.inverseTransformY(E.y));return _},f.exports=b},function(f,p,w){function m(R){if(Array.isArray(R)){for(var z=0,W=Array(R.length);zE.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*E.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-E.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT_INCREMENTAL):(R>E.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(E.COOLING_ADAPTATION_FACTOR,1-(R-E.ADAPTATION_LOWER_NODE_LIMIT)/(E.ADAPTATION_UPPER_NODE_LIMIT-E.ADAPTATION_LOWER_NODE_LIMIT)*(1-E.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=E.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},B.prototype.calcSpringForces=function(){for(var R=this.getAllEdges(),z,W=0;W0&&arguments[0]!==void 0?arguments[0]:!0,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,W,et,st,at,bt=this.getAllNodes(),mt;if(this.useFRGridVariant)for(this.totalIterations%E.GRID_CALCULATION_CHECK_PERIOD==1&&R&&this.updateGrid(),mt=new Set,W=0;Wyt||mt>yt)&&(R.gravitationForceX=-this.gravityConstant*st,R.gravitationForceY=-this.gravityConstant*at)):(yt=z.getEstimatedSize()*this.compoundGravityRangeFactor,(bt>yt||mt>yt)&&(R.gravitationForceX=-this.gravityConstant*st*this.compoundGravityConstant,R.gravitationForceY=-this.gravityConstant*at*this.compoundGravityConstant))},B.prototype.isConverged=function(){var R,z=!1;return this.totalIterations>this.maxIterations/3&&(z=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),R=this.totalDisplacement=bt.length||yt>=bt[0].length)){for(var ft=0;ftB}}]),A}();f.exports=_},function(f,p,w){var m=function(){function _(A,I){for(var B=0;B2&&arguments[2]!==void 0?arguments[2]:1,N=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,R=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,_),this.sequence1=A,this.sequence2=I,this.match_score=B,this.mismatch_penalty=N,this.gap_penalty=R,this.iMax=A.length+1,this.jMax=I.length+1,this.grid=new Array(this.iMax);for(var z=0;z=0;A--){var I=this.listeners[A];I.event===E&&I.callback===_&&this.listeners.splice(A,1)}},b.emit=function(E,_){for(var A=0;AI.coolingFactor*I.maxNodeDisplacement&&(this.displacementX=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementX)),Math.abs(this.displacementY)>I.coolingFactor*I.maxNodeDisplacement&&(this.displacementY=I.coolingFactor*I.maxNodeDisplacement*E.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),I.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},_.prototype.propogateDisplacementToChildren=function(I,B){for(var N=this.getChild().getNodes(),R,z=0;z0)this.positionNodesRadially(ut);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var vt=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(pt){return vt.has(pt)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},yt.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%N.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var ut=new Set(this.getAllNodes()),vt=this.nodesWithGravity.filter(function(U){return ut.has(U)});this.graphManager.setAllNodesToApplyGravitation(vt),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=N.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=N.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,pt=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,pt),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},yt.prototype.getPositionsData=function(){for(var ut=this.graphManager.getAllNodes(),vt={},X=0;X1){var It;for(It=0;Itpt&&(pt=Math.floor(nt.y)),Tt=Math.floor(nt.x+B.DEFAULT_COMPONENT_SEPERATION)}this.transform(new W(R.WORLD_CENTER_X-nt.x/2,R.WORLD_CENTER_Y-nt.y/2))},yt.radialLayout=function(ut,vt,X){var pt=Math.max(this.maxDiagonalInTree(ut),B.DEFAULT_RADIAL_SEPARATION);yt.branchRadialLayout(vt,null,0,359,0,pt);var U=bt.calculateBounds(ut),Tt=new mt;Tt.setDeviceOrgX(U.getMinX()),Tt.setDeviceOrgY(U.getMinY()),Tt.setWorldOrgX(X.x),Tt.setWorldOrgY(X.y);for(var nt=0;nt1;){var gn=Ft[0];Ft.splice(0,1);var Se=Z.indexOf(gn);Se>=0&&Z.splice(Se,1),Ht--,Ct--}vt!=null?Le=(Z.indexOf(Ft[0])+1)%Ht:Le=0;for(var me=Math.abs(pt-X)/Ct,Ve=Le;xt!=Ct;Ve=++Ve%Ht){var Ye=Z[Ve].getOtherEnd(ut);if(Ye!=vt){var ce=(X+xt*me)%360,ke=(ce+me)%360;yt.branchRadialLayout(Ye,ut,ce,ke,U+Tt,Tt),xt++}}},yt.maxDiagonalInTree=function(ut){for(var vt=st.MIN_VALUE,X=0;Xvt&&(vt=U)}return vt},yt.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},yt.prototype.groupZeroDegreeMembers=function(){var ut=this,vt={};this.memberGroups={},this.idToDummyNode={};for(var X=[],pt=this.graphManager.getAllNodes(),U=0;U"u"&&(vt[It]=[]),vt[It]=vt[It].concat(Tt)}Object.keys(vt).forEach(function(Ot){if(vt[Ot].length>1){var Bt="DummyCompound_"+Ot;ut.memberGroups[Bt]=vt[Ot];var Et=vt[Ot][0].getParent(),Z=new A(ut.graphManager);Z.id=Bt,Z.paddingLeft=Et.paddingLeft||0,Z.paddingRight=Et.paddingRight||0,Z.paddingBottom=Et.paddingBottom||0,Z.paddingTop=Et.paddingTop||0,ut.idToDummyNode[Bt]=Z;var Ct=ut.getGraphManager().add(ut.newGraph(),Z),xt=Et.getChild();xt.add(Z);for(var Ht=0;Ht=0;ut--){var vt=this.compoundOrder[ut],X=vt.id,pt=vt.paddingLeft,U=vt.paddingTop;this.adjustLocations(this.tiledMemberPack[X],vt.rect.x,vt.rect.y,pt,U)}},yt.prototype.repopulateZeroDegreeMembers=function(){var ut=this,vt=this.tiledZeroDegreePack;Object.keys(vt).forEach(function(X){var pt=ut.idToDummyNode[X],U=pt.paddingLeft,Tt=pt.paddingTop;ut.adjustLocations(vt[X],pt.rect.x,pt.rect.y,U,Tt)})},yt.prototype.getToBeTiled=function(ut){var vt=ut.id;if(this.toBeTiled[vt]!=null)return this.toBeTiled[vt];var X=ut.getChild();if(X==null)return this.toBeTiled[vt]=!1,!1;for(var pt=X.getNodes(),U=0;U0)return this.toBeTiled[vt]=!1,!1;if(Tt.getChild()==null){this.toBeTiled[Tt.id]=!1;continue}if(!this.getToBeTiled(Tt))return this.toBeTiled[vt]=!1,!1}return this.toBeTiled[vt]=!0,!0},yt.prototype.getNodeDegree=function(ut){ut.id;for(var vt=ut.getEdges(),X=0,pt=0;ptOt&&(Ot=Et.rect.height)}X+=Ot+ut.verticalPadding}},yt.prototype.tileCompoundMembers=function(ut,vt){var X=this;this.tiledMemberPack=[],Object.keys(ut).forEach(function(pt){var U=vt[pt];X.tiledMemberPack[pt]=X.tileNodes(ut[pt],U.paddingLeft+U.paddingRight),U.rect.width=X.tiledMemberPack[pt].width,U.rect.height=X.tiledMemberPack[pt].height})},yt.prototype.tileNodes=function(ut,vt){var X=B.TILING_PADDING_VERTICAL,pt=B.TILING_PADDING_HORIZONTAL,U={rows:[],rowWidth:[],rowHeight:[],width:0,height:vt,verticalPadding:X,horizontalPadding:pt};ut.sort(function(It,Ot){return It.rect.width*It.rect.height>Ot.rect.width*Ot.rect.height?-1:It.rect.width*It.rect.height0&&(nt+=ut.horizontalPadding),ut.rowWidth[X]=nt,ut.width0&&(It+=ut.verticalPadding);var Ot=0;It>ut.rowHeight[X]&&(Ot=ut.rowHeight[X],ut.rowHeight[X]=It,Ot=ut.rowHeight[X]-Ot),ut.height+=Ot,ut.rows[X].push(vt)},yt.prototype.getShortestRowIndex=function(ut){for(var vt=-1,X=Number.MAX_VALUE,pt=0;ptX&&(vt=pt,X=ut.rowWidth[pt]);return vt},yt.prototype.canAddHorizontal=function(ut,vt,X){var pt=this.getShortestRowIndex(ut);if(pt<0)return!0;var U=ut.rowWidth[pt];if(U+ut.horizontalPadding+vt<=ut.width)return!0;var Tt=0;ut.rowHeight[pt]0&&(Tt=X+ut.verticalPadding-ut.rowHeight[pt]);var nt;ut.width-U>=vt+ut.horizontalPadding?nt=(ut.height+Tt)/(U+vt+ut.horizontalPadding):nt=(ut.height+Tt)/ut.width,Tt=X+ut.verticalPadding;var It;return ut.widthTt&&vt!=X){pt.splice(-1,1),ut.rows[X].push(U),ut.rowWidth[vt]=ut.rowWidth[vt]-Tt,ut.rowWidth[X]=ut.rowWidth[X]+Tt,ut.width=ut.rowWidth[instance.getLongestRowIndex(ut)];for(var nt=Number.MIN_VALUE,It=0;Itnt&&(nt=pt[It].height);vt>0&&(nt+=ut.verticalPadding);var Ot=ut.rowHeight[vt]+ut.rowHeight[X];ut.rowHeight[vt]=nt,ut.rowHeight[X]0)for(var xt=U;xt<=Tt;xt++)Ct[0]+=this.grid[xt][nt-1].length+this.grid[xt][nt].length-1;if(Tt0)for(var xt=nt;xt<=It;xt++)Ct[3]+=this.grid[U-1][xt].length+this.grid[U][xt].length-1;for(var Ht=st.MAX_VALUE,Le,Ft,gn=0;gn0){var It;It=mt.getGraphManager().add(mt.newGraph(),X),this.processChildrenList(It,vt,mt)}}},W.prototype.stop=function(){return this.stopped=!0,this};var st=function(bt){bt("layout","cose-bilkent",W)};typeof cytoscape<"u"&&st(cytoscape),p.exports=st}])})})(h$t);var uYe=h$t.exports;const lYe=G7(uYe);l$t.use(lYe);function g$t(i,a,f,p){c$t.drawNode(i,a,f,p),a.children&&a.children.forEach((w,m)=>{g$t(i,w,f<0?m:f,p)})}function hYe(i,a){a.edges().map((f,p)=>{const w=f.data();if(f[0]._private.bodyBounds){const m=f[0]._private.rscratch;Ut.trace("Edge: ",p,w),i.insert("path").attr("d",`M ${m.startX},${m.startY} L ${m.midX},${m.midY} L${m.endX},${m.endY} `).attr("class","edge section-edge-"+w.section+" edge-depth-"+w.depth)}})}function p$t(i,a,f,p){a.add({group:"nodes",data:{id:i.id,labelText:i.descr,height:i.height,width:i.width,level:p,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(w=>{p$t(w,a,f,p+1),a.add({group:"edges",data:{id:`${i.id}_${w.id}`,source:i.id,target:w.id,depth:p,section:w.section}})})}function fYe(i,a){return new Promise(f=>{const p=yr("body").append("div").attr("id","cy").attr("style","display:none"),w=l$t({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});p.remove(),p$t(i,w,a,0),w.nodes().forEach(function(m){m.layoutDimensions=()=>{const b=m.data();return{w:b.width,h:b.height}}}),w.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),w.ready(m=>{Ut.info("Ready",m),f(w)})})}function dYe(i){i.nodes().map((a,f)=>{const p=a.data();p.x=a.position().x,p.y=a.position().y,c$t.positionNode(p);const w=Jgt(p.nodeId);Ut.info("Id:",f,"Position: (",a.position().x,", ",a.position().y,")",p),w.attr("transform",`translate(${a.position().x-p.width/2}, ${a.position().y-p.height/2})`),w.attr("attr",`apa-${f})`)})}const gYe={draw:async(i,a,f,p)=>{const w=Oe();w.htmlLabels=!1,Ut.debug(`Rendering mindmap diagram +`+i,p.parser);const m=Oe().securityLevel;let b;m==="sandbox"&&(b=yr("#i"+a));const _=yr(m==="sandbox"?b.nodes()[0].contentDocument.body:"body").select("#"+a);_.append("g");const A=p.db.getMindmap(),I=_.append("g");I.attr("class","mindmap-edges");const B=_.append("g");B.attr("class","mindmap-nodes"),g$t(B,A,-1,w);const N=await fYe(A,w);hYe(I,N),dYe(N),fT(void 0,_,w.mindmap.padding,w.mindmap.useMaxWidth)}},pYe=i=>{let a="";for(let f=0;f` + .edge { + stroke-width: 3; + } + ${pYe(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var npt=function(){var i=function(E,_,A,I){for(A=A||{},I=E.length;I--;A[E[I]]=_);return A},a=[1,9],f=[1,10],p=[1,5,10,12],w={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(_,A,I,B,N,R,z){var W=R.length-1;switch(N){case 7:const et=B.findOrCreateNode(R[W-4].trim().replaceAll('""','"')),st=B.findOrCreateNode(R[W-2].trim().replaceAll('""','"')),at=parseFloat(R[W].trim());B.addLink(et,st,at);break;case 8:case 9:case 11:this.$=R[W];break;case 10:this.$=R[W-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:a,20:f},{1:[2,6],7:11,10:[1,12]},i(f,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(p,[2,8]),i(p,[2,9]),{19:[1,16]},i(p,[2,11]),{1:[2,1]},{1:[2,5]},i(f,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:a,20:f},{15:18,16:7,17:8,18:a,20:f},{18:[1,19]},i(f,[2,3]),{12:[1,20]},i(p,[2,10]),{15:21,16:7,17:8,18:a,20:f},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(_,A){if(A.recoverable)this.trace(_);else{var I=new Error(_);throw I.hash=A,I}},parse:function(_){var A=this,I=[0],B=[],N=[null],R=[],z=this.table,W="",et=0,st=0,at=2,bt=1,mt=R.slice.call(arguments,1),yt=Object.create(this.lexer),ft={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(ft.yy[ut]=this.yy[ut]);yt.setInput(_,ft.yy),ft.yy.lexer=yt,ft.yy.parser=this,typeof yt.yylloc>"u"&&(yt.yylloc={});var vt=yt.yylloc;R.push(vt);var X=yt.options&&yt.options.ranges;typeof ft.yy.parseError=="function"?this.parseError=ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(){var Ht;return Ht=B.pop()||yt.lex()||bt,typeof Ht!="number"&&(Ht instanceof Array&&(B=Ht,Ht=B.pop()),Ht=A.symbols_[Ht]||Ht),Ht}for(var U,Tt,nt,It,Ot={},Bt,Et,Z,Ct;;){if(Tt=I[I.length-1],this.defaultActions[Tt]?nt=this.defaultActions[Tt]:((U===null||typeof U>"u")&&(U=pt()),nt=z[Tt]&&z[Tt][U]),typeof nt>"u"||!nt.length||!nt[0]){var xt="";Ct=[];for(Bt in z[Tt])this.terminals_[Bt]&&Bt>at&&Ct.push("'"+this.terminals_[Bt]+"'");yt.showPosition?xt="Parse error on line "+(et+1)+`: +`+yt.showPosition()+` +Expecting `+Ct.join(", ")+", got '"+(this.terminals_[U]||U)+"'":xt="Parse error on line "+(et+1)+": Unexpected "+(U==bt?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(xt,{text:yt.match,token:this.terminals_[U]||U,line:yt.yylineno,loc:vt,expected:Ct})}if(nt[0]instanceof Array&&nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Tt+", token: "+U);switch(nt[0]){case 1:I.push(U),N.push(yt.yytext),R.push(yt.yylloc),I.push(nt[1]),U=null,st=yt.yyleng,W=yt.yytext,et=yt.yylineno,vt=yt.yylloc;break;case 2:if(Et=this.productions_[nt[1]][1],Ot.$=N[N.length-Et],Ot._$={first_line:R[R.length-(Et||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(Et||1)].first_column,last_column:R[R.length-1].last_column},X&&(Ot._$.range=[R[R.length-(Et||1)].range[0],R[R.length-1].range[1]]),It=this.performAction.apply(Ot,[W,st,et,ft.yy,nt[1],N,R].concat(mt)),typeof It<"u")return It;Et&&(I=I.slice(0,-1*Et*2),N=N.slice(0,-1*Et),R=R.slice(0,-1*Et)),I.push(this.productions_[nt[1]][0]),N.push(Ot.$),R.push(Ot._$),Z=z[I[I.length-2]][I[I.length-1]],I.push(Z);break;case 3:return!0}}return!0}},m=function(){var E={EOF:1,parseError:function(A,I){if(this.yy.parser)this.yy.parser.parseError(A,I);else throw new Error(A)},setInput:function(_,A){return this.yy=A||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var A=_.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},unput:function(_){var A=_.length,I=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var N=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===B.length?this.yylloc.first_column:0)+B[B.length-I.length].length-I[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[N[0],N[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_){this.unput(this.match.slice(_))},pastInput:function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _=this.pastInput(),A=new Array(_.length+1).join("-");return _+this.upcomingInput()+` +`+A+"^"},test_match:function(_,A){var I,B,N;if(this.options.backtrack_lexer&&(N={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(N.yylloc.range=this.yylloc.range.slice(0))),B=_[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],I=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var R in N)this[R]=N[R];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,A,I,B;this._more||(this.yytext="",this.match="");for(var N=this._currentRules(),R=0;RA[0].length)){if(A=I,B=R,this.options.backtrack_lexer){if(_=this.test_match(I,N[R]),_!==!1)return _;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(_=this.test_match(A,N[B]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var A=this.next();return A||this.lex()},begin:function(A){this.conditionStack.push(A)},popState:function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:"INITIAL"},pushState:function(A){this.begin(A)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(A,I,B,N){switch(B){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return E}();w.lexer=m;function b(){this.yy={}}return b.prototype=w,w.Parser=b,new b}();npt.parser=npt;const rK=npt;let iK=[],sK=[],kL={};const wYe=()=>{iK=[],sK=[],kL={},hg()};class vYe{constructor(a,f,p=0){this.source=a,this.target=f,this.value=p}}const mYe=(i,a,f)=>{iK.push(new vYe(i,a,f))};class yYe{constructor(a){this.ID=a}}const xYe={nodesMap:kL,getConfig:()=>Oe().sankey,getNodes:()=>sK,getLinks:()=>iK,getGraph:()=>({nodes:sK.map(i=>({id:i.ID})),links:iK.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:mYe,findOrCreateNode:i=>(i=Kr.sanitizeText(i,Oe()),kL[i]||(kL[i]=new yYe(i),sK.push(kL[i])),kL[i]),getAccTitle:fg,setAccTitle:E0,getAccDescription:gg,setAccDescription:dg,getDiagramTitle:pg,setDiagramTitle:Nb,clear:wYe};function b$t(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f=w)&&(f=w)}return f}function w$t(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let w of i)(w=a(w,++p,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function rpt(i,a){let f=0;if(a===void 0)for(let p of i)(p=+p)&&(f+=p);else{let p=-1;for(let w of i)(w=+a(w,++p,i))&&(f+=w)}return f}function kYe(i){return i.target.depth}function EYe(i){return i.depth}function TYe(i,a){return a-1-i.height}function v$t(i,a){return i.sourceLinks.length?i.depth:a-1}function CYe(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?w$t(i.sourceLinks,kYe)-1:0}function aK(i){return function(){return i}}function m$t(i,a){return oK(i.source,a.source)||i.index-a.index}function y$t(i,a){return oK(i.target,a.target)||i.index-a.index}function oK(i,a){return i.y0-a.y0}function ipt(i){return i.value}function _Ye(i){return i.index}function SYe(i){return i.nodes}function AYe(i){return i.links}function x$t(i,a){const f=i.get(a);if(!f)throw new Error("missing: "+a);return f}function k$t({nodes:i}){for(const a of i){let f=a.y0,p=f;for(const w of a.sourceLinks)w.y0=f+w.width/2,f+=w.width;for(const w of a.targetLinks)w.y1=p+w.width/2,p+=w.width}}function LYe(){let i=0,a=0,f=1,p=1,w=24,m=8,b,E=_Ye,_=v$t,A,I,B=SYe,N=AYe,R=6;function z(){const Ot={nodes:B.apply(null,arguments),links:N.apply(null,arguments)};return W(Ot),et(Ot),st(Ot),at(Ot),yt(Ot),k$t(Ot),Ot}z.update=function(Ot){return k$t(Ot),Ot},z.nodeId=function(Ot){return arguments.length?(E=typeof Ot=="function"?Ot:aK(Ot),z):E},z.nodeAlign=function(Ot){return arguments.length?(_=typeof Ot=="function"?Ot:aK(Ot),z):_},z.nodeSort=function(Ot){return arguments.length?(A=Ot,z):A},z.nodeWidth=function(Ot){return arguments.length?(w=+Ot,z):w},z.nodePadding=function(Ot){return arguments.length?(m=b=+Ot,z):m},z.nodes=function(Ot){return arguments.length?(B=typeof Ot=="function"?Ot:aK(Ot),z):B},z.links=function(Ot){return arguments.length?(N=typeof Ot=="function"?Ot:aK(Ot),z):N},z.linkSort=function(Ot){return arguments.length?(I=Ot,z):I},z.size=function(Ot){return arguments.length?(i=a=0,f=+Ot[0],p=+Ot[1],z):[f-i,p-a]},z.extent=function(Ot){return arguments.length?(i=+Ot[0][0],f=+Ot[1][0],a=+Ot[0][1],p=+Ot[1][1],z):[[i,a],[f,p]]},z.iterations=function(Ot){return arguments.length?(R=+Ot,z):R};function W({nodes:Ot,links:Bt}){for(const[Z,Ct]of Ot.entries())Ct.index=Z,Ct.sourceLinks=[],Ct.targetLinks=[];const Et=new Map(Ot.map((Z,Ct)=>[E(Z,Ct,Ot),Z]));for(const[Z,Ct]of Bt.entries()){Ct.index=Z;let{source:xt,target:Ht}=Ct;typeof xt!="object"&&(xt=Ct.source=x$t(Et,xt)),typeof Ht!="object"&&(Ht=Ct.target=x$t(Et,Ht)),xt.sourceLinks.push(Ct),Ht.targetLinks.push(Ct)}if(I!=null)for(const{sourceLinks:Z,targetLinks:Ct}of Ot)Z.sort(I),Ct.sort(I)}function et({nodes:Ot}){for(const Bt of Ot)Bt.value=Bt.fixedValue===void 0?Math.max(rpt(Bt.sourceLinks,ipt),rpt(Bt.targetLinks,ipt)):Bt.fixedValue}function st({nodes:Ot}){const Bt=Ot.length;let Et=new Set(Ot),Z=new Set,Ct=0;for(;Et.size;){for(const xt of Et){xt.depth=Ct;for(const{target:Ht}of xt.sourceLinks)Z.add(Ht)}if(++Ct>Bt)throw new Error("circular link");Et=Z,Z=new Set}}function at({nodes:Ot}){const Bt=Ot.length;let Et=new Set(Ot),Z=new Set,Ct=0;for(;Et.size;){for(const xt of Et){xt.height=Ct;for(const{source:Ht}of xt.targetLinks)Z.add(Ht)}if(++Ct>Bt)throw new Error("circular link");Et=Z,Z=new Set}}function bt({nodes:Ot}){const Bt=b$t(Ot,Ct=>Ct.depth)+1,Et=(f-i-w)/(Bt-1),Z=new Array(Bt);for(const Ct of Ot){const xt=Math.max(0,Math.min(Bt-1,Math.floor(_.call(null,Ct,Bt))));Ct.layer=xt,Ct.x0=i+xt*Et,Ct.x1=Ct.x0+w,Z[xt]?Z[xt].push(Ct):Z[xt]=[Ct]}if(A)for(const Ct of Z)Ct.sort(A);return Z}function mt(Ot){const Bt=w$t(Ot,Et=>(p-a-(Et.length-1)*b)/rpt(Et,ipt));for(const Et of Ot){let Z=a;for(const Ct of Et){Ct.y0=Z,Ct.y1=Z+Ct.value*Bt,Z=Ct.y1+b;for(const xt of Ct.sourceLinks)xt.width=xt.value*Bt}Z=(p-Z+b)/(Et.length+1);for(let Ct=0;CtEt.length)-1)),mt(Bt);for(let Et=0;Et0))continue;let gn=(Le/Ft-Ht.y0)*Bt;Ht.y0+=gn,Ht.y1+=gn,U(Ht)}A===void 0&&xt.sort(oK),vt(xt,Et)}}function ut(Ot,Bt,Et){for(let Z=Ot.length,Ct=Z-2;Ct>=0;--Ct){const xt=Ot[Ct];for(const Ht of xt){let Le=0,Ft=0;for(const{target:Se,value:me}of Ht.sourceLinks){let Ve=me*(Se.layer-Ht.layer);Le+=It(Ht,Se)*Ve,Ft+=Ve}if(!(Ft>0))continue;let gn=(Le/Ft-Ht.y0)*Bt;Ht.y0+=gn,Ht.y1+=gn,U(Ht)}A===void 0&&xt.sort(oK),vt(xt,Et)}}function vt(Ot,Bt){const Et=Ot.length>>1,Z=Ot[Et];pt(Ot,Z.y0-b,Et-1,Bt),X(Ot,Z.y1+b,Et+1,Bt),pt(Ot,p,Ot.length-1,Bt),X(Ot,a,0,Bt)}function X(Ot,Bt,Et,Z){for(;Et1e-6&&(Ct.y0+=xt,Ct.y1+=xt),Bt=Ct.y1+b}}function pt(Ot,Bt,Et,Z){for(;Et>=0;--Et){const Ct=Ot[Et],xt=(Ct.y1-Bt)*Z;xt>1e-6&&(Ct.y0-=xt,Ct.y1-=xt),Bt=Ct.y0-b}}function U({sourceLinks:Ot,targetLinks:Bt}){if(I===void 0){for(const{source:{sourceLinks:Et}}of Bt)Et.sort(y$t);for(const{target:{targetLinks:Et}}of Ot)Et.sort(m$t)}}function Tt(Ot){if(I===void 0)for(const{sourceLinks:Bt,targetLinks:Et}of Ot)Bt.sort(y$t),Et.sort(m$t)}function nt(Ot,Bt){let Et=Ot.y0-(Ot.sourceLinks.length-1)*b/2;for(const{target:Z,width:Ct}of Ot.sourceLinks){if(Z===Bt)break;Et+=Ct+b}for(const{source:Z,width:Ct}of Bt.targetLinks){if(Z===Ot)break;Et-=Ct}return Et}function It(Ot,Bt){let Et=Bt.y0-(Bt.targetLinks.length-1)*b/2;for(const{source:Z,width:Ct}of Bt.targetLinks){if(Z===Ot)break;Et+=Ct+b}for(const{target:Z,width:Ct}of Ot.sourceLinks){if(Z===Bt)break;Et-=Ct}return Et}return z}var spt=Math.PI,apt=2*spt,OT=1e-6,MYe=apt-OT;function opt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function E$t(){return new opt}opt.prototype=E$t.prototype={constructor:opt,moveTo:function(i,a){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,a){this._+="L"+(this._x1=+i)+","+(this._y1=+a)},quadraticCurveTo:function(i,a,f,p){this._+="Q"+ +i+","+ +a+","+(this._x1=+f)+","+(this._y1=+p)},bezierCurveTo:function(i,a,f,p,w,m){this._+="C"+ +i+","+ +a+","+ +f+","+ +p+","+(this._x1=+w)+","+(this._y1=+m)},arcTo:function(i,a,f,p,w){i=+i,a=+a,f=+f,p=+p,w=+w;var m=this._x1,b=this._y1,E=f-i,_=p-a,A=m-i,I=b-a,B=A*A+I*I;if(w<0)throw new Error("negative radius: "+w);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=a);else if(B>OT)if(!(Math.abs(I*E-_*A)>OT)||!w)this._+="L"+(this._x1=i)+","+(this._y1=a);else{var N=f-m,R=p-b,z=E*E+_*_,W=N*N+R*R,et=Math.sqrt(z),st=Math.sqrt(B),at=w*Math.tan((spt-Math.acos((z+B-W)/(2*et*st)))/2),bt=at/st,mt=at/et;Math.abs(bt-1)>OT&&(this._+="L"+(i+bt*A)+","+(a+bt*I)),this._+="A"+w+","+w+",0,0,"+ +(I*N>A*R)+","+(this._x1=i+mt*E)+","+(this._y1=a+mt*_)}},arc:function(i,a,f,p,w,m){i=+i,a=+a,f=+f,m=!!m;var b=f*Math.cos(p),E=f*Math.sin(p),_=i+b,A=a+E,I=1^m,B=m?p-w:w-p;if(f<0)throw new Error("negative radius: "+f);this._x1===null?this._+="M"+_+","+A:(Math.abs(this._x1-_)>OT||Math.abs(this._y1-A)>OT)&&(this._+="L"+_+","+A),f&&(B<0&&(B=B%apt+apt),B>MYe?this._+="A"+f+","+f+",0,1,"+I+","+(i-b)+","+(a-E)+"A"+f+","+f+",0,1,"+I+","+(this._x1=_)+","+(this._y1=A):B>OT&&(this._+="A"+f+","+f+",0,"+ +(B>=spt)+","+I+","+(this._x1=i+f*Math.cos(w))+","+(this._y1=a+f*Math.sin(w))))},rect:function(i,a,f,p){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)+"h"+ +f+"v"+ +p+"h"+-f+"Z"},toString:function(){return this._}};function T$t(i){return function(){return i}}function DYe(i){return i[0]}function IYe(i){return i[1]}var OYe=Array.prototype.slice;function PYe(i){return i.source}function FYe(i){return i.target}function NYe(i){var a=PYe,f=FYe,p=DYe,w=IYe,m=null;function b(){var E,_=OYe.call(arguments),A=a.apply(this,_),I=f.apply(this,_);if(m||(m=E=E$t()),i(m,+p.apply(this,(_[0]=A,_)),+w.apply(this,_),+p.apply(this,(_[0]=I,_)),+w.apply(this,_)),E)return m=null,E+""||null}return b.source=function(E){return arguments.length?(a=E,b):a},b.target=function(E){return arguments.length?(f=E,b):f},b.x=function(E){return arguments.length?(p=typeof E=="function"?E:T$t(+E),b):p},b.y=function(E){return arguments.length?(w=typeof E=="function"?E:T$t(+E),b):w},b.context=function(E){return arguments.length?(m=E??null,b):m},b}function BYe(i,a,f,p,w){i.moveTo(a,f),i.bezierCurveTo(a=(a+p)/2,f,a,w,p,w)}function RYe(){return NYe(BYe)}function jYe(i){return[i.source.x1,i.y0]}function $Ye(i){return[i.target.x0,i.y1]}function zYe(){return RYe().source(jYe).target($Ye)}const C$t=class RLt{static next(a){return new RLt(a+ ++RLt.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}};C$t.count=0;let _$t=C$t;const qYe={left:EYe,right:TYe,center:CYe,justify:v$t},HYe={draw:function(i,a,f,p){const{securityLevel:w,sankey:m}=Oe(),b=SOt.sankey;let E;w==="sandbox"&&(E=yr("#i"+a));const _=yr(w==="sandbox"?E.nodes()[0].contentDocument.body:"body"),A=w==="sandbox"?_.select(`[id="${a}"]`):yr(`[id="${a}"]`),I=(m==null?void 0:m.width)??b.width,B=(m==null?void 0:m.height)??b.width,N=(m==null?void 0:m.useMaxWidth)??b.useMaxWidth,R=(m==null?void 0:m.nodeAlignment)??b.nodeAlignment,z=(m==null?void 0:m.prefix)??b.prefix,W=(m==null?void 0:m.suffix)??b.suffix,et=(m==null?void 0:m.showValues)??b.showValues;k0(A,B,I,N);const st=p.db.getGraph(),at=qYe[R],bt=10;LYe().nodeId(pt=>pt.id).nodeWidth(bt).nodePadding(10+(et?15:0)).nodeAlign(at).extent([[0,0],[I,B]])(st);const yt=XU(X7e);A.append("g").attr("class","nodes").selectAll(".node").data(st.nodes).join("g").attr("class","node").attr("id",pt=>(pt.uid=_$t.next("node-")).id).attr("transform",function(pt){return"translate("+pt.x0+","+pt.y0+")"}).attr("x",pt=>pt.x0).attr("y",pt=>pt.y0).append("rect").attr("height",pt=>pt.y1-pt.y0).attr("width",pt=>pt.x1-pt.x0).attr("fill",pt=>yt(pt.id));const ft=({id:pt,value:U})=>et?`${pt} +${z}${Math.round(U*100)/100}${W}`:pt;A.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(st.nodes).join("text").attr("x",pt=>pt.x0(pt.y1+pt.y0)/2).attr("dy",`${et?"0":"0.35"}em`).attr("text-anchor",pt=>pt.x0(U.uid=_$t.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",U=>U.source.x1).attr("x2",U=>U.target.x0);pt.append("stop").attr("offset","0%").attr("stop-color",U=>yt(U.source.id)),pt.append("stop").attr("offset","100%").attr("stop-color",U=>yt(U.target.id))}let X;switch(vt){case"gradient":X=pt=>pt.uid;break;case"source":X=pt=>yt(pt.source.id);break;case"target":X=pt=>yt(pt.target.id);break;default:X=vt}ut.append("path").attr("d",zYe()).attr("stroke",X).attr("stroke-width",pt=>Math.max(1,pt.width))}},VYe=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),GYe=rK.parse.bind(rK);rK.parse=i=>GYe(VYe(i));const UYe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:rK,db:xYe,renderer:HYe}},Symbol.toStringTag,{value:"Module"}));return Bb}); diff --git a/module_system.html b/module_system.html new file mode 100644 index 00000000..78982cf5 --- /dev/null +++ b/module_system.html @@ -0,0 +1,353 @@ + + + + + + Module System - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Module System

    +

    All but the most trivial programs will require some mechanism for decomposing a larger program into smaller, reusable +components that can be composed into a larger whole. In Claro projects, this is accomplished via the Module System +whereby distinct functionality can be organized logically to facilitate encapsulation. In addition, Claro's Module +System is the source of Claro's build incrementality - modules are compiled in isolation, allowing caching such that +modules do not need to be recompiled unless its own or its dependencies implementations have changed.

    +

    Defining a Module

    +

    A Module exposes an API that is implemented by some set of source files which may depend on other modules.

    +

    API

    +

    Module APIs are explicitly defined using a .claro_module_api file that will list exported procedure signatures, type +declarations, static values, and Contract implementations that are publicly exposed to consumers that place a dependency +on this module.

    +
    # example.claro_module_api
    +
    +contract Numeric<T> {
    +  function add(lhs: T, rhs: T) -> T;
    +  function multiply(lhs: T, rhs: T) -> T;
    +}
    +
    +newtype Foo : int
    +implement Numeric<Foo>;
    +
    +consumer prettyPrint(lhs: Foo);
    +
    +

    Sources

    +

    An API alone simply defines an interface that the module will satisfy in its implementation sources. So implementations +must be provided in the form of one or more .claro files. The above API could be satisfied by the below implementation +files (note: this could be done in a single source file, but here it's split into multiple just as an example):

    +
    # contract_impl.claro
    +
    +implement Numeric<Foo> {
    +  function add(lhs: Foo, rhs: Foo) -> Foo {
    +    return Foo(unwrap(lhs) + unwrap(rhs));
    +  }
    +  function multiply(lhs: Foo, rhs: Foo) -> Foo {
    +    return Foo(unwrap(lhs) * unwrap(rhs));
    +  }
    +}
    +
    +
    # pretty_print.claro
    +
    +consumer prettyPrint(f: Foo) {
    +  unwrap(f)
    +    |> "Foo: {^}"
    +    |> Boxes::wrapInBox(^)  # <-- Calling dep Module function.
    +    |> print(^);
    +}
    +
    +

    Dependencies

    +

    While Modules are intended to be consumed as a reusable component, it may also itself depend on other modules in order +to implement its public API.

    +

    Notice that the implementation of prettyPrint above makes a call to Boxes::wrapInBox(...). This is an example of +calling a procedure from a downstream dep Module in Claro. In order to build, this Module must place a dep on some +Module that has at least the following signature in its API: function wrapInBox(s: string) -> string;. As you'll see +below, this Module will choose to give that downstream dependency Module the name Boxes, but any other name could've +been chosen.

    +

    Defining BUILD Target

    +

    A Claro Module is fully defined from the above pieces by adding a claro_module(...) definition to the corresponding +Bazel BUILD file:

    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +claro_module(
    +    name = "example",
    +    module_api_file = "example.claro_module_api",
    +    srcs = [
    +        "contract_impl.claro",
    +        "pretty_print.claro",
    +    ],
    +    deps = {
    +        "Boxes": ":box",  # <-- Notice the name "Boxes" is chosen by the consumer.
    +    },
    +    # This Module can be consumed by anyone.
    +    visibility = ["//visibility:public"],
    +)
    +
    +claro_module(
    +    name = "box",
    +    module_api_file = "boxes.claro_module_api",
    +    srcs = ["boxes.claro"],
    +    # No visibility declared means that this Module is private to this Bazel package.
    +)
    +
    +...
    +
    +

    Building a Module

    +

    In order to validate that a claro_module(...) target compiles successfully, you can run a Bazel command like the +following:

    +

    (Assuming the BUILD file is located at //path/to/target)

    +
    $ bazel build //path/to/target:example
    +
    +

    This will build the explicitly named target and its entire transitive closure of dependencies (assuming their build +results have not been previously cached in which case they'll be skipped and the cached artifacts reused).

    +

    Executable Using Above Example Module

    +

    To close the loop, the above example Module could be consumed and used in the following executable Claro program in the +following way.

    +
    # test.claro
    +
    +var f1 = Ex::Foo(1);
    +var f2 = Ex::Foo(2);
    +
    +var addRes = Ex::Numeric::add(f1, f2);
    +Ex::prettyPrint(addRes);
    +
    +var mulRes = Ex::Numeric::multiply(f2, Ex::Foo(5));
    +Ex::prettyPrint(mulRes);
    +
    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +...
    +
    +claro_binary(
    +    name = "test",
    +    main_file = "test.claro",
    +    deps = {
    +        "Ex": ":example",
    +    },
    +)
    +
    +

    Example Code

    +

    Complete source code for the examples above can be found +here

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/module_system/examples/BUILD b/module_system/examples/BUILD new file mode 100644 index 00000000..a0b80927 --- /dev/null +++ b/module_system/examples/BUILD @@ -0,0 +1,28 @@ +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary") + +claro_module( + name = "example", + module_api_file = "example.claro_module_api", + srcs = [ + "contract_impl.claro", + "pretty_print.claro", + ], + deps = { + "Boxes": ":box", + }, + visibility = ["//visibility:public"], +) + +claro_module( + name = "box", + module_api_file = "boxes.claro_module_api", + srcs = ["boxes.claro"], +) + +claro_binary( + name = "test", + main_file = "test.claro", + deps = { + "Ex": ":example", + }, +) \ No newline at end of file diff --git a/module_system/examples/boxes.claro b/module_system/examples/boxes.claro new file mode 100644 index 00000000..433b037d --- /dev/null +++ b/module_system/examples/boxes.claro @@ -0,0 +1,5 @@ + +function wrapInBox(s: string) -> string { + var line = strings::repeated("-", len(s) + 4); + return "{line}\n| {s} |\n{line}"; +} \ No newline at end of file diff --git a/module_system/examples/boxes.claro_module_api b/module_system/examples/boxes.claro_module_api new file mode 100644 index 00000000..7bd1b8b5 --- /dev/null +++ b/module_system/examples/boxes.claro_module_api @@ -0,0 +1,2 @@ + +function wrapInBox(s: string) -> string; \ No newline at end of file diff --git a/module_system/examples/contract_impl.claro b/module_system/examples/contract_impl.claro new file mode 100644 index 00000000..8d926c93 --- /dev/null +++ b/module_system/examples/contract_impl.claro @@ -0,0 +1,9 @@ + +implement Numeric { + function add(lhs: Foo, rhs: Foo) -> Foo { + return Foo(unwrap(lhs) + unwrap(rhs)); + } + function multiply(lhs: Foo, rhs: Foo) -> Foo { + return Foo(unwrap(lhs) * unwrap(rhs)); + } +} diff --git a/module_system/examples/example.claro_module_api b/module_system/examples/example.claro_module_api new file mode 100644 index 00000000..462e9b87 --- /dev/null +++ b/module_system/examples/example.claro_module_api @@ -0,0 +1,10 @@ + +contract Numeric { + function add(lhs: T, rhs: T) -> T; + function multiply(lhs: T, rhs: T) -> T; +} + +newtype Foo : int +implement Numeric; + +consumer prettyPrint(lhs: Foo); diff --git a/module_system/examples/pretty_print.claro b/module_system/examples/pretty_print.claro new file mode 100644 index 00000000..4845d908 --- /dev/null +++ b/module_system/examples/pretty_print.claro @@ -0,0 +1,7 @@ + +consumer prettyPrint(f: Foo) { + unwrap(f) + |> "Foo: {^}" + |> Boxes::wrapInBox(^) # <-- Calling dep Module function. + |> print(^); +} diff --git a/module_system/examples/test.claro b/module_system/examples/test.claro new file mode 100644 index 00000000..e5802a2c --- /dev/null +++ b/module_system/examples/test.claro @@ -0,0 +1,9 @@ + +var f1 = Ex::Foo(1); +var f2 = Ex::Foo(2); + +var addRes = Ex::Numeric::add(f1, f2); +Ex::prettyPrint(addRes); + +var mulRes = Ex::Numeric::multiply(f2, Ex::Foo(5)); +Ex::prettyPrint(mulRes); diff --git a/print.html b/print.html new file mode 100644 index 00000000..33f16885 --- /dev/null +++ b/print.html @@ -0,0 +1,4219 @@ + + + + + + The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Welcome to Claro!

    + +

    Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications.

    +

    Dependency Management Done Right

    +
    +

    Claro was designed with modern build tooling in mind:

    +
      +
    • Swap any dependency without changing a single line of source code
    • +
    • Runtime "Dependency Injection" frameworks are a thing of the past
    • +
    • First class Module system
    • +
    +

    Fearless Concurrency

    +
    +

    Developed by a Xoogler taking inspiration from years of hands-on development experience with Google-internal backend web +frameworks, Claro moves well beyond async/await. Claro’s declarative, DAG-based structured concurrency model is the +first of its kind in a programming language - statically guaranteeing that programs are:

    +
      +
    • Non-blocking
    • +
    • Data-race free
    • +
    • Deadlock free
    • +
    • Optimally scheduled
    • +
    • Scaleable by default
    • +
    +

    Data Oriented

    +
    +
      +
    • Strict separation between data and functionality
    • +
    • Mutability tracked at the type system level
    • +
    • Extremely flexible built in algebraic data types
    • +
    • Model arbitrary data structures with zero boilerplate
    • +
    +

    Unapologetically Practical

    +
    +
      +
    • Bi-directional type inference
    • +
    • Robust standard library
    • +
    • Builtin external package manager
    • +
    • Build time metaprogramming
    • +
    +

    Designed to Scale with You

    +
    +
      +
    • Incremental compilation out of the box
    • +
    • Code reuse made simple
    • +
    • Develop codebases of any size without devolving into a spaghetti labyrinth
    • +
    +

    Actively In Development

    +
    +
    +

    Claro is in active development and is not yet ready for production use. While Claro has been in active development +for more than 3 years, its design and implementation has been done entirely by its single maintainer, +Jason Steving - while the foundation has been +laid, contributions are welcome! Anyone with interest is actively encouraged to reach out and get involved!

    +

    Hello, World!

    +

    Fig 1:

    +
    +
    print("Hello, world!");
    +
    +

    Output:

    +
    Hello, world!
    +
    +
    +

    As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every +Claro program is simply a sequence of statements that are executed from top-to-bottom as if it were a "script". You +don't need to specify a "main" method" as in other languages like Java, instead, much like Python, you simply specify a +starting file which will execute top-down at program start.

    +

    Create Your First Claro Project with Bazel!

    +

    Claro is fundamentally designed around a deep integration with the extremely powerful +Bazel build system - which enables Claro's +incremental builds, +external package management, extremely +flexible module system, and build-time metaprogramming capabilities - so you'll need to do a bit of Bazel-related setup +to prepare your Claro project.

    +

    You'll only need to do this once! Bazel does not mandate monorepo style development, but it really shines when used +in that context. From this single Bazel project, you'll be able to write, build, and run whatever (related or unrelated) +Claro programs as you see fit.

    +

    Follow the below steps to set up your first Claro project with Bazel!

    +

    1 - Install Bazel (Required)

    +

    Simply install Bazel - follow these instructions +to install via Bazelisk.

    +
    +Important: Installing Bazel via Bazelisk makes managing Bazel versions an automated process. It's highly recommended you +don't bother managing Bazel's versioning manually.
    +

    Note: It's an explicit non-goal of Claro to support any other non-Bazel build environment.

    +

    2 - Auto-Generate Your Project

    +

    Get create_claro_project.sh from the +latest Release +and run this command:

    +
    $ ./create_claro_project.sh <project name>
    +
    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +
    +The first time you build/run a Claro program, you will actually be building the Claro compiler and its dependencies from +source. This may take several minutes the first time, but Bazel will cache the built compiler after that first build. +
    +

    You can delete the create_claro_project.sh script once you're done with this initial setup.

    +

    2 (Alternative) - Manually Copy Configuration of Example Project

    +

    Follow the example Claro project configuration at +examples/bzlmod/.

    +
    +Important: In your MODULE.bazel file, you'll want to choose the latest release published to: +https://registry.bazel.build/modules/claro-lang +
    +

    Supported Operating Systems

    +

    As Claro is still firmly in development, it has only been tested on macOS. You may run into trouble running it on +another OS as there are some known portability issues building the Claro compiler from source (currently the only +supported way to consume the compiler).

    +

    Your First Claro Program

    +

    Continue on to the next section to learn how to build and run your first Claro program!

    +

    Understanding the Starter Project

    +

    The create_claro_project.sh script generated several files:

    +

    Fig 1:

    +
    +
    demo
    +|-- .bazelrc
    +|-- .bazelversion
    +|-- MODULE.bazel
    +|-- README.md
    +`-- example
    +    |-- BUILD
    +    |-- demo.claro
    +    `-- input.txt
    +
    +1 directory, 7 files
    +
    +
    +

    Let's take a brief tour through each file to get a high level understanding of what's going on.

    +

    If you're already familiar with Bazel, jump ahead to writing your +first Claro program.

    +
    +You do not need to be a Bazel expert to get up to speed with Claro! But, if you want a deeper understanding of Bazel as +a whole, check out Bazel's official +concepts guide. +
    +

    MODULE.bazel

    +

    See: Official Bazel reference - This file +marks the root of your Bazel project.

    +

    Fig 2:

    +
    +
    module(name = "example-claro-module")
    +
    +bazel_dep(name = "claro-lang", version = "0.1.409")
    +
    +
    +

    module(name = "example-claro-module")

    +

    This is the one place where you'll see the term "module" overloaded to refer to Bazel's concept of +Modules relating to Bazel's external package +management solution. So, the name you pick for your top-level module(name = "...") declaration should be something +that you would be ok with using to publicly present your project to downstream users if you chose to publish your +project to the Bazel Central Registry later on.

    +

    bazel_dep(name = "claro-lang", version = "0.1.409")

    +

    This file is where you will declare your external dependencies for Bazel to resolve at build time. Every Claro project +will need to declare an external dependency on the claro-lang project to get access to the Build Rules (e.g. +claro_binary() and claro_module()) as well as the compiler itself. Keeping your installation of Claro up-to-date is +as simple as bumping the version number listed here.

    +

    Claro has been published to the BCR at +https://registry.bazel.build/modules/claro-lang. +Check for new releases there to make sure that you're using the latest and greatest.

    +

    .bazelversion

    +

    See: +Official Bazelisk reference - This file configures Bazelisk to use the declared Bazel version.

    +

    Fig 3:

    +
    +
    6.4.0
    +
    +
    +

    Claro depends on Bzlmod which was introduced in Bazel version 6, so you'll need to use at least version 6.

    +

    .bazelrc

    +

    See: Official Bazel reference - This file is used to +configure optional Bazel flags.

    +

    Fig 4:

    +
    +
    common --enable_bzlmod
    +common --java_runtime_version=remotejdk_11
    +
    +
    +

    common --enable_bzlmod

    +

    This configures Bazel to opt in to enabling the +Bzlmod, external package manager. This will +be necessary in all Claro projects to at least enable Bazel to resolve your dependency on the Claro compiler.

    +

    common --java_runtime_version=remotejdk_11

    +

    This configures Bazel to download a remote version of the JVM to execute compiled Claro programs. Technically, you can +opt in to using a local Java install, +but keeping this flag as is ensures that you're running a JVM version that Claro's actually been tested against.

    +

    BUILD

    +

    See: Official Bazel reference - BUILD files are +the fundamental building block of a Bazel project. Here you'll define "build targets" representing components of your +program and their dependencies.

    +

    Fig 5:

    +
    +
    load("@claro-lang//:rules.bzl", "claro_binary")
    +
    +claro_binary(
    +  name = "demo_bin",
    +  main_file = "demo.claro",
    +  resources = {
    +    "Input": "input.txt",
    +  }
    +)
    +
    +
    +

    load("@claro-lang//:rules.bzl", "claro_binary")

    +

    This loads (a.k.a. "imports") the claro_binary() Build Rule from the rules.bzl +Bazel extension file located in the root directory +of the claro-lang project. After this load, you're able to define claro_binary() targets in this BUILD file by +calling it just as you would a function in any other programming language (albeit with mandatory named parameters).

    +

    claro_binary(...)

    +

    As mentioned above, this declares a build target that represents an executable Claro program (*_binary() is the +conventional naming of executable build targets in the Bazel ecosystem).

    +

    name = "demo_bin"

    +

    All Bazel build targets include a mandatory name = "..." parameter - in combination with the full path from the +project root, this specific build target can be uniquely referenced as //example:demo_bin. Using this name, you can +execute Bazel build/run commands from the command line.

    +

    You can build the target to have Bazel invoke the Claro compiler to verify that your program is valid and if so +generate the executable program artifacts that can be invoked separately:

    +
    bazel build //example:demo_bin
    +
    +

    During local development you can directly build and run the target by using the below command which will trigger +Bazel to build the target and then upon success invoke the built executable program automatically:

    +
    bazel run //example:demo_bin
    +
    +

    main_file = "demo.claro"

    +

    Claro programs begin execution by running top-level statements of a given "main file" top-down, rather than looking for +some special main function.

    +

    resources = { "Input": "input.txt", }

    +

    This declares that this program should bundle the file input.txt into the final compiled Jar file so that it's +available at runtime no matter where the program is run. It makes this resource file available as resources::Input in +the compiled program. Find more details about resources in the Reference Guide.

    +

    input.txt

    +

    Just a resource file read by the demo program.

    +

    Fig 6:

    +
    +
    
    +look ma, no hands!
    +
    +
    +

    demo.claro

    +

    The main Claro file that contains the code to be executed.

    +

    Fig 7:

    +
    +
    resources::Input
    +  |> files::readOrPanic(^)
    +  |> strings::trim(^)
    +  |> strings::toUpperCase(^)
    +  |> wrapInBox(^)
    +  |> print(^);
    +
    +function wrapInBox(s: string) -> string {
    +  var line = strings::repeated("-", len(s) + 4);
    +  return "{line}\n| {s} |\n{line}";
    +}
    +
    +
    +

    This program just reads in the contents of the input.txt resource file, trims extra +whitespace, converts it to all caps, wraps it in a box of "-" characters, and prints it to stdout.

    +

    Note the calls to functions like files::readOrPanic and strings::trim are calling into functions declared in dep +modules. In this case there's no explicit mention of those dependencies in the claro_binary(...) target declaration +because files and strings are modules in the +stdlib so no explicit +dependency is necessary.

    +

    Your First Program

    +

    Now that you've set up your starter Claro project in the previous section, let's go through the process of implementing +your first program!

    +

    Create hello_world.claro

    +

    Fig 1:

    +
    +
    print("Hello, world!");
    +
    +
    +

    Hello World is a one-liner in Claro, so it's a great place to start learning how to declare a new Claro program using +Bazel. Just to keep things simple, copy the above line into a new file at //example/hello_world.claro.

    +

    Fig 2:

    +
    +
    demo
    +|-- .bazelrc
    +|-- .bazelversion
    +|-- MODULE.bazel
    +|-- README.md
    +`-- example
    +    |-- BUILD
    +    |-- demo.claro
    +    |-- hello_world.claro
    +    `-- input.txt
    +
    +1 directory, 8 files
    +
    +
    +

    Declare a New claro_binary(...) Target in Your BUILD File

    +

    Now, we'll simply add a new build target for our Hello World program to the existing BUILD file that was generated as +part of the starter project.

    +

    Fig 3:

    +
    +
    load("@claro-lang//:rules.bzl", "claro_binary")
    +
    +claro_binary(
    +  name = "demo_bin",
    +  main_file = "demo.claro",
    +  resources = {
    +    "Input": "input.txt",
    +  }
    +)
    +
    +claro_binary(
    +  name = "hello_world",
    +  main_file = "hello_world.claro",
    +)
    +
    +
    +

    Now Execute Your Program!

    +

    That's all there is to it! Now you can use the following command to have Bazel build and then run your program:

    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +

    Congratulations! You just wrote and executed your first Claro program entirely from scratch!

    +

    Avoiding Bazel's Extra Output

    +

    Notice that when you used bazel run ... to run your executable build target, Bazel produced a bunch of INFO: ... +logs related to the build process. Since the program built successfully, this is something that you can usually just +ignore. However, if this extra noise bothers you, you can make use of Bazel's generated build artifacts to run the +program directly, without any of Bazel's extra logging. Notice the very last line in Bazel's output:

    +
    INFO: Running command line: bazel-bin/example/hello_world
    +
    +

    This is a script that can be directly invoked to run the built executable program locally.

    +
    +This is not a portable executable! Continue reading to learn how to generate a portable executable. +
    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +

    Generating a Portable Executable ("Deploy Jar")

    +

    As Claro is a JVM language, you can easily generate a self-contained Jar file that can be run anywhere that a JVM is +installed. Generate the "Deploy Jar" by appending _deploy.jar to the end of any claro_binary() build target, and can +then run it using java -jar ... as you would any executable Jar:

    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +
    +Warning: The `java -jar ...` command demonstrated above will make use of your local Java installation. Assuming +that you've kept the flag `common --java_runtime_version=remotejdk_11` in your .bazelrc as described in the previous +section, you may have been running Claro programs without even manually installing Java, meaning that this command will +fail. Generally speaking, you shouldn't worry about this as it's encouraged to use `bazel run ...` during local +development anyway. +
    +

    Intro to Modules

    +

    Now, the Hello World program that you wrote in the previous section was extremely simple - just a one-liner in a single +file. Let's add a tiny bit more functionality to your first program as an excuse to learn about Claro's Module System!

    +

    Taking inspiration from the starter project's demo program, which printed the following to stdout:

    +
    ----------------------                                                                                        
    +| LOOK MA, NO HANDS! |                                                                                        
    +----------------------  
    +
    +

    we'll extend our hello_world.claro program to also print out the classic greeting in the same boxed styling. We could +of course just copy-paste the demo program's wrapInBox function into hello_world.claro, but instead, in order to +avoid having multiple implementations of the same function that could drift over time, we'll walk through the process of +refactoring both programs so that each can share a single function implementation as a common dependency.

    +

    Create //example:styling.claro

    +

    First thing first, create the file //example:styling.claro to hold the wrapInBox function definition:

    +

    Fig 1:

    +
    +
    function wrapInBox(s: string) -> string {
    +  var line = strings::repeated("-", len(s) + 4);
    +  return "{line}\n| {s} |\n{line}";
    +}
    +
    +
    +

    Define a Module API File

    +

    Claro Modules are extremely flexible by design (we'll only begin to scratch the surface here) and in order to achieve +that flexibility a Module API file is used to declare which definitions are exported to consumers of the Module. Any +definition not listed in the Module API file is "private" by default. In this case we just have the one function +definition so we'll add its signature to the new file styling.claro_module_api (the only naming requirement here is +that it must end with the .claro_module_api suffix).

    +

    Fig 2:

    +
    +
    # Wraps the given string in a "box" of dashes.
    +# E.g.
    +#   Input:
    +#     "Foo"
    +#   Output:
    +#     -------
    +#     | Foo |
    +#     -------
    +function wrapInBox(s: string) -> string;
    +
    +
    +

    As a general rule of thumb, when working in a Claro project, you should prioritize writing documentation for anything +exported in a Module API file. And when reading code, it's advisable to spend most of your time primarily referencing +Module API files rather than their corresponding source files, unless of course you are curious to understand the +implementation.

    +

    Your project should now have the following structure:

    +

    Fig 3:

    +
    +
    demo
    +|-- .bazelrc
    +|-- .bazelversion
    +|-- MODULE.bazel
    +|-- README.md
    +`-- example
    +    |-- BUILD
    +    |-- demo.claro
    +    |-- hello_world.claro
    +    |-- input.txt
    +    |-- styling.claro
    +    `-- styling.claro_module_api
    +
    +1 directory, 10 files
    +
    +
    +

    Add a claro_module(name = "styling", ...) Build Target

    +

    The final step in defining a Module in Claro is defining a claro_module(...) build target. Add the following to your +BUILD file to create a Module by declaring explicitly that the styling.claro file implements the interface declared +by styling.claro_module_api:

    +

    Fig 4:

    +
    +
    load("//:rules.bzl", "claro_binary", "claro_module")  # <-- New
    +
    +claro_binary(
    +  name = "demo_bin",
    +  main_file = "demo.claro",
    +  resources = {
    +    "Input": "input.txt",
    +  }
    +)
    +
    +claro_binary(
    +  name = "hello_world",
    +  main_file = "hello_world.claro",
    +  deps = {                                            # <-- New
    +    "Style": ":styling",
    +  },
    +)
    +
    +claro_module(                                         # <-- New
    +  name = "styling",
    +  module_api_file = "styling.claro_module_api",
    +  srcs = ["styling.claro"],
    +)
    +
    +
    +

    Updated load(...) Statement

    +

    The load(...) statement also needed to be updated to include the newly used claro_module Build Rule.

    +

    Added an Explicit Dependency on //example:styling

    +

    Claro handles dependencies entirely within Bazel BUILD files, and .claro source files themselves do not have any +mechanism for the traditional import style that you will have gotten accustomed to in other languages. This is the key +to Claro's extremely flexible Module system and provides many powerful advantages over the traditional import style, +but we won't get any further into that here.

    +

    For now, just note that claro_*() Build targets all accept an (optional) deps = {<dep name>: <module target>} map +that explicitly declares and names any dependencies the current compilation unit has on any other Module. Note that the +consuming compilation unit is free to choose any name to refer to the Module(s) that it depends on. Here we've +chosen to name the //example:styling Module Style.

    +

    Update hello_world.claro to Use Style::wrapInBox

    +

    Now we're finally ready to update our Hello World program to wrap its output in a box using its new module dependency! +Update hello_world.claro to:

    +

    Fig 5:

    +
    +
    print(Style::wrapInBox("Hello, World!"));
    +
    +
    +

    Now Execute Your Updated Hello World!

    +

    Note: The below recording was made with asciinema - try pausing +and copying any text.

    + +

    On Your Own: Update //example:demo_bin to Use the New Module

    +

    Using what you've learned, it should now be straightforward to update //example:demo_bin to also depend on the newly +defined Module so that there's only a single definition of the wrapInBox function in your project.

    +

    On Your Own: Refactor //example:styling to its Own Directory

    +

    This will be a good way to test your understanding of how Claro and Bazel work together.

    +

    Hint: You can move the Module definition anywhere in the project that you want, but you'll need to update the +deps = {...} declarations to reference its new location.

    +

    Common Programming Concepts

    +

    Variables & Primitive Types

    +

    Claro is a statically-compiled, strictly typed language. Practically speaking, this means that the type of all variables +must be statically determined upon declaration of the variable, and may never change thereafter.

    +

    Claro has several builtin "primitive" types representing generally small or low-level "value types" that are immutable +to the programmer. They are referred to as "primitive" because they are foundational to the language's type system, and +make up the basic building blocks of which every other type in the language is just some structured combination. Values +of these primitive types are generally cheap to allocate on the stack, and are passed as copies to other functions +(strings, being handled in typical JVM fashion, are actually heap allocated with references to strings passed instead of +copying the value itself).

    +

    The supported set of primitives are: int, long, float, double, boolean, string, char. The example below shows how you'd +define variables to represent values of each type:

    +

    Fig 1:

    +
    +
    var i: int = 10; # Any whole number from -2^31 to 2^31-1.
    +var l: long = 10L; # Any whole number from -2^63 to 2^63-1.
    +var f: float = 1.15F; # A single-precision 32-bit IEEE 754 floating point number.
    +var d: double = 1.15; # A double-precision 64-bit IEEE 754 floating point number.
    +var b: boolean = true; # true or false.
    +var s: string = "very first string"; # An immutable sequence of chars. Heap allocated.
    +var c: char = 'a'; # A single 16-bit Unicode character.
    +
    +
    +

    To break the syntax down further:

    +

    var : Keyword introducing / declaring a new variable.

    +

    b : the name we chose for this particular var.

    +

    : : a syntactic divider between a variable's name and its type.

    +

    boolean : the type of the variable, which constrains the domain of values which this variable may hold.

    +

    Separate Variable Declaration & Initialization

    +

    The previous example demonstrates the simultaneous declaration and initialization of a new variable and its initial +value. It is also possible to delay initialization to happen independently of declaration.

    +

    Fig 1:

    +
    +
    var i: int;
    +i = 10;
    +
    +
    +

    (Note: this is particularly useful when you may want to initialize to different values in different branches of an +if-else chain for example.)

    +

    Variable Reassignment

    +

    By definition, the value represented by a variable may vary, or change, over time throughout the program:

    +

    Fig 1:

    +
    +
    var s: string = "Hello";
    +print(s);
    +
    +s = "goodbye";
    +print(s);
    +
    +

    Output:

    +
    Hello
    +goodbye
    +
    +
    +

    Control Flow

    +

    Claro has only a few control flow structures at the current moment. These structures allow programs to execute code +both conditionally and repeatedly. The only thing to keep an eye on, coming from a dynamic language like Python, is that +Claro will statically validate that do not misuse conditional execution to run code that may attempt to use a variable +before initialization. The examples in the following sections will also demonstrate invalid code that Claro throw a +compile-time error on.

    +

    If-Else

    +

    Fig 1:

    +
    +
    var rng = random::forSeed(1);
    +var r = random::nextNonNegativeBoundedInt(rng, 100);
    +
    +var s: string;
    +if (r < 33) { # Curly braces are mandatory.
    +    s = "small";
    +} else if (r < 66) {
    +    s = "medium";
    +} else {
    +    s = "large";
    +}
    +
    +print(s); # Prints "small", "medium", or "large".
    +
    +

    Output:

    +
    large
    +
    +
    +
    +Possible use of an uninitialized variable is a compile-time error: +
    +

    Fig 2:

    +
    +
    var rng = random::forSeed(1);
    +var r = random::nextNonNegativeBoundedInt(rng, 100);
    +
    +var s: string;
    +if (r < 33) {
    +    s = "red";
    +} else if (r < 66) {
    +    s = "green";
    +}
    +
    +print(s); # `s` is uninitialized if r >= 66.
    +
    +

    Compilation Errors:

    +
    if_else_EX2_example.claro:11: Variable <s> may not have been initialized!
    +print(s); # `s` is uninitialized if r >= 66.
    +      ^
    +Warning! The following declared symbols are unused! [s]
    +2 Errors
    +
    +
    +

    Note: Claro's error messaging is a work in progress - the above error message will be improved.

    +

    While Loops

    +

    Fig 1:

    +
    +
    var i = 0;
    +while (i < 10) {
    +    print(i++);
    +}
    +
    +

    Output:

    +
    0
    +1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +
    +
    +
    +Possible use of an uninitialized variable is a compile-time error: +
    +

    Fig 4:

    +
    +
    var s: string;
    +while (input("Should `s` be initialized? (Y/n)") == "Y") {
    +    s = input("Enter the value for `s`:");
    +}
    +print(s);
    +
    +

    Compilation Errors:

    +
    while_EX4_example.claro:5: Variable <s> may not have been initialized!
    +print(s);
    +      ^
    +Warning! The following declared symbols are unused! [s]
    +2 Errors
    +
    +
    +

    Exiting a While Loop Early

    +

    You can exit a loop early by using the break keyword as below.

    +

    Fig 2:

    +
    +
    var i = 0;
    +while (i < 10) {
    +    if (i == 5) {
    +      break;
    +    }
    +    print(i++);
    +}
    +
    +

    Output:

    +
    0
    +1
    +2
    +3
    +4
    +
    +
    +

    Skipping to the Next Iteration of the While Loop

    +

    You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below.

    +

    Fig 3:

    +
    +
    var i = 0;
    +while (i < 10) {
    +    if (i % 2 == 0) {
    +      ++i;
    +      continue;
    +    }
    +    print(i++);
    +}
    +
    +

    Output:

    +
    1
    +3
    +5
    +7
    +9
    +
    +
    +

    For Loops

    +

    For loops in Claro are closely analogous to Java's +"enhanced for-loops". +They enable you to easily iterate over the elements of a collection.

    +

    For Loop Over Lists

    +

    Fig 1:

    +
    +
    for (e in [1, 2, 3, 4, 5]) {
    +    print(e);
    +}
    +
    +

    Output:

    +
    1
    +2
    +3
    +4
    +5
    +
    +
    +

    For Loop Over Sets

    +

    Fig 2:

    +
    +
    for (e in {1, 2, 3}) {
    +  print(e);
    +}
    +
    +

    Output:

    +
    1
    +2
    +3
    +
    +
    +

    For Loop Over Maps

    +

    Iterating over the elements of a map of type {K: V} using the for-loop construct will yield a loop variable whose type +is tuple<K, V>:

    +

    Fig 3:

    +
    +
    for (e in {'a': 1, 'b': 2, 'c': 3}) {
    +  print("Key: {e[0]} - Val: {e[1]}");
    +}
    +
    +

    Output:

    +
    Key: a - Val: 1
    +Key: b - Val: 2
    +Key: c - Val: 3
    +
    +
    +

    Note 1:

    +
    +For loops over tuples are not currently supported as it's unclear what the appropriate behavior would be iterating over +a collection of heterogeneous types. It's possible that in the future support may be added for a loop variable whose +type is oneof<...all unique types in the tuple...> but there are no current plans for prioritizing this. +
    +

    Note 2:

    +
    +Possible use of an uninitialized variable is a compile-time error: +
    +

    Fig 4:

    +
    +
    random::create()
    +  |> random::nextNonNegativeBoundedInt(^, 10)
    +  |> var r = ^;
    +var l: mut [int] = mut [];
    +while (r-- > 0) {
    +  lists::add(l, r);
    +}
    +
    +var s: int;
    +for (elem in l) {  # <-- `l` could be empty.
    +    s = elem;
    +}
    +print(s);
    +
    +

    Compilation Errors:

    +
    for_EX4_example.claro:13: Variable <s> may not have been initialized!
    +print(s);
    +      ^
    +Warning! The following declared symbols are unused! [s]
    +2 Errors
    +
    +
    +

    Exiting a For Loop Early

    +

    You can exit a loop early by using the break keyword as below.

    +

    Fig 5:

    +
    +
    for (e in [1, 2, 3, 4, 5]) {
    +    if (e == 3) {
    +      break;
    +    }
    +    print(e);
    +}
    +
    +

    Output:

    +
    1
    +2
    +
    +
    +

    Skipping to the Next Iteration of the For Loop

    +

    You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below.

    +

    Fig 6:

    +
    +
    for (e in [1, 2, 3, 4, 5]) {
    +    if (e % 2 == 0) {
    +      continue;
    +    }
    +    print(e);
    +}
    +
    +

    Output:

    +
    1
    +3
    +5
    +
    +
    +

    Repeat Loops

    +

    Repeat loops in Claro enable you to easily repeat a task some number of times:

    +

    Fig 1:

    +
    +
    repeat (5) {
    +    print("Repeating...");
    +}
    +
    +

    Output:

    +
    Repeating...
    +Repeating...
    +Repeating...
    +Repeating...
    +Repeating...
    +
    +
    +

    The loop count can be computed at runtime:

    +

    Fig 2:

    +
    +
    var loopCount = random::nextNonNegativeBoundedInt(random::create(), 10);
    +
    +repeat (loopCount) {
    +    print("Repeating...");
    +}
    +
    +

    Output:

    +
    Repeating...
    +Repeating...
    +Repeating...
    +Repeating...
    +Repeating...
    +Repeating...
    +Repeating...
    +
    +
    +

    Pipes

    +

    Piping is a control flow mechanism that is not common to all languages, but is truly just syntactic sugar (one of the +few pure-sugar features in the language). Piping gives you a mechanism to decompose deeply nested function calls into a +linear chain of operations that happen one after the other much like any other imperative code you're familiar with. The +main thing to know is that on each line beginning with the "pipe" operator |>, the token ^ (known as the +"backreference" operator) refers to the value of the expression before the pipe operator. It is intended that the ^ +operator, visually resembles an arrow pointing upwards to the value produced on the line above.

    +

    Fig 1:

    +
    +
    ["Claro", "piping", "is", "so", "cool"]
    +  |> [^[0], ^[len(^) - 1]] # <-- Get the first and last element of the list.
    +  |> strings::join(" is damn ", ^)
    +  |> "{^}! I'll say it again... {^}!!"  # <-- Can backreference prev value more than once.
    +  |> print(^);
    +
    +

    Output:

    +
    Claro is damn cool! I'll say it again... Claro is damn cool!!
    +
    +
    +

    Compare to the alternative code without piping. Notice how use of piping in the above example even allows elimination of +multiple temporary variables - this is a powerful motivator for using pipelining as it's well known that naming is one +of the two hard problems in computer science:

    +

    Fig 2:

    +
    +
    # With piping, these temporary vars are unnecessary.
    +var nonPipingSource = ["Claro", "piping", "is", "so", "cool"];
    +
    +var joinedTmp =
    +  strings::join(
    +    " is damn ",
    +    [nonPipingSource[0], nonPipingSource[len(nonPipingSource) - 1]]
    +  );
    +
    +print("{joinedTmp}! I'll say it again... {joinedTmp}!!");
    +
    +

    Output:

    +
    Claro is damn cool! I'll say it again... Claro is damn cool!!
    +
    +
    +

    Textually Linear Data Flow

    +

    It's worth noting that the primary motivation for pipelining support in Claro is to take what could otherwise be highly +nested procedure calls whose data flow conceptually runs "inside-out", and allow it to instead be written in a style +that has the data flowing in the same linear direction as the textual source code itself.

    +

    As such, Claro's pipelines introduce a concept of "source" and "sink". The "source" is the initial expression (data) +that conceptually "enters the pipeline" and the "sink" is some terminal statement that consumes the data that "comes out +of the end of the pipeline". This means that the pipeline's sink can be any valid Claro statement that uses the value +computed by the penultimate step in the pipeline.

    +

    Notice how the following variable assignment allows data to flow top-to-bottom in the same direction as the source code +is written textually:

    +

    Fig 3:

    +
    +
    ["Hello", "world!"]
    +  |> [strings::toUpperCase(s) | s in ^]
    +  |> strings::join(", ", ^)
    +  |> var greeting = ^;
    +
    +print(greeting);
    +
    +

    Output:

    +
    HELLO, WORLD!
    +
    +
    +

    whereas, very confusingly, the non-pipelining style has source code written top-to-bottom, but yet the data is +effectively flowing in a circuitous route from bottom-to-top and then back down again.

    +

    Fig 4:

    +
    +
    var greeting =
    +  strings::join(
    +    ", ",
    +    [strings::toUpperCase(s) | s in ["Hello", "world!"]]
    +  );
    +
    +print(greeting);
    +
    +

    Output:

    +
    HELLO, WORLD!
    +
    +
    +

    This may be something that we all get used to in other languages, but it's certainly an obstacle to readability +particularly for new programmers.

    +

    Pattern Matching

    +
    +Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to +be addressed). More to come! +
    +

    In addition to the typical if-else style branching construct, Claro offers a more powerful construct called "Pattern +Matching". In its simplest form, Pattern Matching can simply be used as a more concise replacement for if-else chains.

    +

    Compare the following if-else chain:

    +

    Fig 1:

    +
    +
    var x = 2;
    +
    +var sizeStr: string;
    +if (x <= 1) {
    +  sizeStr = "small";
    +} else if (x == 2) {
    +  sizeStr = "medium";
    +} else {
    +  sizeStr = "large";
    +}
    +
    +print(sizeStr);
    +
    +
    +

    with the comparable match-statement:

    +

    Fig 2:

    +
    +
    var x = 2;
    +
    +var sizeStr: string;
    +match (x) {
    +  case 1 -> sizeStr = "small";
    +  case 2 -> sizeStr = "medium";
    +  case _ -> sizeStr = "large";
    +}
    +
    +print(sizeStr);
    +
    +
    +

    The match statement takes in a single expression of any type, to be compared against the given cases clauses in +order - the first one to successfully match is executed (there is no fallthrough like in a Java or C++ style switch).

    +

    "Default" Case

    +

    The example above makes use of a "default" case that will match anything that the cases preceding it didn't match.

    +

    Fig 3:

    +
    +
    var x = 2;
    +
    +var sizeStr: string;
    +match (x) {
    +  case 1 -> sizeStr = "small";
    +  case 2 -> sizeStr = "medium";
    +  case _ -> sizeStr = "large";
    +}
    +
    +print(sizeStr);
    +
    +
    +

    In the context of pattern matching, the _ token represents a "wildcard" pattern. Learn more about this in the +Wildcard Patterns section.

    +

    Multi-Statement Cases

    +

    When a case is matched, the associated code block following the -> and preceding the next case (or until the +overall closing }) will all be executed. This code block can contain any number of statements.

    +

    Fig 4:

    +
    +
    var x = 2;
    +
    +var sizeStr: string;
    +match (x) {
    +  case 1 ->
    +    sizeStr = "small";
    +  case 2 ->
    +    print("More than one line of code is valid.");
    +    sizeStr = "medium";
    +  case _ ->
    +    sizeStr = "large";
    +}
    +
    +print(sizeStr);
    +
    +

    Output:

    +
    More than one line of code is valid.
    +medium
    +
    +
    +

    Patterns Must Not Reference Existing Variables

    +
    +While this may seem like an arbitrary restriction, this is actually necessary in order to ensure that Claro's static +exhaustiveness and case reachability checks are actually guaranteed to be correct. Technically, it would be possible for +Claro to loosen this restriction, but this is a conscious, opinionated design choice to limit the number of special +cases to keep in mind when writing or reading a match statement. +
    +

    The following is invalid:

    +

    Fig 5:

    +
    +
    var x = # ...
    + 2;
    +match (2) {
    +  case x -> print("Matched variable {x}");
    +  case 1 -> print("1!");
    +  case _ -> print("default!");
    +}
    +
    +

    Compilation Errors:

    +
    match_EX5_example.claro:4: Wildcard Binding Shadows Declared Variable: Names of wildcard bindings in Match case patterns must not shadow any already-declared variable in scope.
    +  case x -> print("Matched variable {x}");
    +       ^
    +match_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.
    +match (2) {
    +       ^
    +match_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.
    +match (2) {
    +       ^
    +match_EX5_example.claro:3: Illegal Match Containing Multiple Default Cases: Each match block should contain at most one case matching the `_` wildcard.
    +match (2) {
    +       ^
    +4 Errors
    +
    +
    +

    Note: Claro's error messaging is a work in progress - the above error message will be improved.

    +

    Matching Structured Data

    +
    +Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to +be addressed). More to come! +
    +

    Pattern Matching is much more than just a classic C-style switch statement. In particular, it can be used to match +arbitrarily structured data.

    +

    Fig 1:

    +
    +
    var employee = {name = "Bob", title = "Intern"};
    +
    +var permission: boolean;
    +match (employee) {
    +  case {name = "Sarah", title = "Manager"} -> permission = true;
    +  case {name = "Joe",   title = "Manager"} -> permission = true;
    +  case _                                   -> permission = false;
    +}
    +
    +print("Permission granted for {employee.name}?: {permission}");
    +
    +

    Output:

    +
    Permission granted for Bob?: false
    +
    +
    +

    Matching Arbitrarily Nested Structured Types

    +

    Claro supports pattern matching over arbitrary (i.e. tuple<...> and struct{...}) structured types as their +structures are fully known at compile time.

    +

    Fig 2:

    +
    +
    var player = {name = "Jason", currLoc = (1, 2)};
    +
    +match (player) {
    +  case {name = "Sarah", currLoc = (3, 4)} -> print("Sarah wins!");
    +  case {name = "Jason", currLoc = (1, 2)} -> print("Jason wins!");
    +  case _                                  -> print("Keep playing...");
    +}
    +
    +

    Output:

    +
    Jason wins!
    +
    +
    +

    Wildcard Patterns

    +
    +Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to +be addressed). More to come! +
    +

    The utility of Pattern Matching is dramatically increased by making use of wildcards. For example, they enable the below +match with cases that only specify partial matches and then bind matched values to a variable:

    +

    Fig 1:

    +
    +
    newtype Square : int
    +newtype Rectangle : struct {height: int, width: int}
    +newtype Line : int
    +
    +consumer printShapeArea(shape: oneof<Square, Rectangle, Line>) {
    +  var area: int;
    +  match (shape) {
    +    case Rectangle({height = H:int, width = W:int}) -> area = H * W;
    +    case Square(W:int)                              -> area = W * W;
    +    case _                                          -> area = 0;
    +  }
    +  print("Area of {shape}: {area}");
    +}
    +
    +printShapeArea(Square(2));
    +printShapeArea(Rectangle({height = 10, width = 10}));
    +printShapeArea(Line(2));
    +
    +

    Output:

    +
    Area of Square(2): 4
    +Area of Rectangle({height = 10, width = 10}): 100
    +Area of Line(2): 0
    +
    +
    +

    The syntax W:int is a "wildcard binding" that matches any int value and declares a variable that the int will be +assigned to in the case code block.

    +

    Case Ordering and Wildcards

    +

    Cases are semantically matched in the order that they appear in the source code. This means that it's possible to define +unreachable cases if the cases above already cover the pattern:

    +

    Note: Claro's error messaging is a work in progress - the below error message will be improved.

    +

    Fig 2:

    +
    +
    var t = (1, 2);
    +match (t) {
    +  case (1, 3) -> # ...
    +    print("(1, 3)");
    +  case (_, 2) -> # ...
    +    print("(_, 2)");
    +  case (1, 2) -> # <-- This is unreachable.
    +    print("(1, 2)");
    +  case _      -> # ...
    +    print("_");
    +}
    +
    +

    Compilation Errors:

    +
    wildcards_EX2_example.claro:2: Illegal Duplicate Match Case: All case patterns should be unique within a match block.
    +match (t) {
    +       ^
    +1 Error
    +
    +
    +

    Simply changing the ordering of the cases above will fix this problem:

    +

    Fig 3:

    +
    +
    var t = (1, 2);
    +match (t) {
    +  case (1, 3) -> print("(1, 3)");
    +  case (1, 2) -> print("(1, 2)");
    +  case (_, 2) -> print("(_, 2)");
    +  case _      -> print("_");
    +}
    +
    +

    Output:

    +
    (1, 2)
    +
    +
    +

    Static Exhaustiveness Checks

    +

    Pattern Matching is not just convenient syntax sugar. By using a match statement instead of an if-else chain, +Claro is able to statically validate that every possible case is exhaustively handled by some case.

    +

    For example, the following match over a value of type oneof<Red, Yellow, Green> is missing a case to handle the +Green atom and Claro rejects the match at compile-time:

    +

    Fig 1:

    +
    +
    atom Red
    +atom Yellow
    +atom Green
    +
    +var lightColor: oneof<Red, Yellow, Green> = Green;
    +
    +var lightColorStr: string;
    +match (lightColor) {
    +  case _:Red    -> lightColorStr = "red";
    +  case _:Yellow -> lightColorStr = "yellow";
    +}
    +
    +print(lightColorStr);
    +
    +

    Compilation Errors:

    +
    exhaustiveness_checks_EX1_example.claro:8: Non-exhaustive Match: The given cases do not match every possible value of the matched type `oneof<Red, Yellow, Green>`.
    +	For example the following case is unhandled:
    +		case _:Green -> ...;
    +	You can also ensure that all possible cases are being handled by adding a final fallback case as below:
    +		case _ -> ...;
    +match (lightColor) {
    +       ^^^^^^^^^^
    +1 Error
    +
    +
    +

    By following the suggestion in the error message above, we can fix the program:

    +

    Fig 2:

    +
    +
    atom Red
    +atom Yellow
    +atom Green
    +
    +var lightColor: oneof<Red, Yellow, Green> = Green;
    +
    +var lightColorStr: string;
    +match (lightColor) {
    +  case _:Red    -> lightColorStr = "red";
    +  case _:Yellow -> lightColorStr = "yellow";
    +  case _:Green  -> lightColorStr = "green";
    +}
    +
    +print(lightColorStr);
    +
    +

    Output:

    +
    green
    +
    +
    +

    Non-Trivial Exhaustiveness Checks Example

    +

    The above example is fairly trivial, just validating that all oneof type variants are handled. However, Claro's +exhaustiveness checks are fairly sophisticated, and should be able to catch mistakes in much more complicated scenarios:

    +

    Fig 3:

    +
    +
    newtype Foo<T> : T
    +var myStruct2 = {a = {x = 1, y = "ninety-nine"}, z = Foo(true)};
    +
    +match (Foo(myStruct2)) {
    +  case Foo({a = {x = 1, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = \"two\"},  z = Foo(false)})");
    +  case Foo({a = {x = 3, y = "zero"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"zero\"}, z = Foo(false)})");
    +  case Foo({a = {x = 1, y = _},      z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = _},        z = Foo(false)})");
    +  case Foo({a = {x = _, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = \"two\"},  z = Foo(false)})");
    +  case Foo({a = A,                   z = Foo(true)})  -> print("Foo(\{a = A, z = Foo(true)}) where A = {A}");
    +  case Foo({a = {x = 3, y = "six"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"six\"},  z = Foo(false)})");
    +}
    +
    +

    Compilation Errors:

    +
    exhaustiveness_checks_EX3_example.claro:4: Non-exhaustive Match: The given cases do not match every possible value of the matched type `Foo<struct{a: struct{x: int, y: string}, z: Foo<boolean>}>`.
    +	For example the following case is unhandled:
    +		case Foo({a = {x = _, y = _}, z = Foo(false)}) -> ...;
    +	You can also ensure that all possible cases are being handled by adding a final fallback case as below:
    +		case _ -> ...;
    +match (Foo(myStruct2)) {
    +       ^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    Again, following the suggestion from the error message, we can fix the program:

    +

    Fig 4:

    +
    +
    newtype Foo<T> : T
    +var myStruct2 = {a = {x = 1, y = "ninety-nine"}, z = Foo(true)};
    +
    +match (Foo(myStruct2)) {
    +  case Foo({a = {x = 1, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = \"two\"},  z = Foo(false)})");
    +  case Foo({a = {x = 3, y = "zero"}, z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"zero\"}, z = Foo(false)})");
    +  case Foo({a = {x = 1, y = _},      z = Foo(false)}) -> print("Foo(\{a = \{x = 1, y = _},        z = Foo(false)})");
    +  case Foo({a = {x = _, y = "two"},  z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = \"two\"},  z = Foo(false)})");
    +  case Foo({a = A,                   z = Foo(true)})  -> print("Foo(\{a = A, z = Foo(true)}) where A = {A}");
    +  case Foo({a = {x = 3, y = "six"},  z = Foo(false)}) -> print("Foo(\{a = \{x = 3, y = \"six\"},  z = Foo(false)})");
    +
    +  # Adding the case suggested by the prior error message.
    +  case Foo({a = {x = _, y = _},      z = Foo(false)}) -> print("Foo(\{a = \{x = _, y = _},        z = Foo(false)})");
    +}
    +
    +

    Output:

    +
    Foo({a = A, z = Foo(true)}) where A = {x = 1, y = ninety-nine}
    +
    +
    +

    Note: Claro's suggestions for resolving non-exhaustiveness match statements are intelligent and reliable, but Claro +will only warn about a single missing case example at a time (even if there are multiple unhandled cases). You may have +to apply multiple suggestions in succession, but simply following the suggestions will definitely (eventually) lead to a +fully exhaustive match statement.

    +

    Collection Comprehension

    +

    Claro takes direct inspiration from Python's powerful "Comprehensions" syntax to provide powerful single-expression +operation to encode the common pattern of iterating some collection's elements and putting them into a new collection +after potentially filtering and transforming the elements. This allows you to do complex initializations of both mutable +and immutable collections directly in-line without having to drop down to multi-line initialization using some form of +loop.

    +

    List Comprehension

    +

    Compare the following loop-based initialization:

    +

    Fig 1:

    +
    +
    var mutList: mut [string] = mut [];
    +for (x in [1, 3, 99, 2, 1]) {
    +  if (x <= 10) {
    +    lists::add(mutList, strings::repeated("*", x));
    +  }
    +}
    +print(mutList);
    +
    +

    Output:

    +
    mut [*, ***, **, *]
    +
    +
    +

    with the List Comprehension based alternative:

    +

    Fig 2:

    +
    +
    # The `|` below is read either "for" or "given".
    +var mutList = mut [strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10];
    +print(mutList);
    +
    +

    Output:

    +
    mut [*, ***, **, *]
    +
    +
    +

    As you can see, taking the time to get comfortable with Comprehension expressions can serve to significantly simplify +your code.

    +
    +

    Optional: it may be useful to read a bit about the +"Set Builder Notation" that inspires this +syntax in both Claro and Python.

    +
    +

    Set Comprehension

    +

    The same convenient Comprehension-based initialization is also supported for Sets. Simply swap the square brackets +[...] for curly braces {...}:

    +

    Fig 3:

    +
    +
    var immutableSet = {strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10};
    +print(immutableSet);
    +
    +

    Output:

    +
    {**, *, ***}
    +
    +
    +

    Notice now, even though the same mapping and filtering is done over the same input collection as in the list +comprehension examples above, the output here does not duplicate the entry "*" as Set Comprehension honors set +semantics. (However, to be very explicit, strings::repeated("*", 1) was called twice).

    +

    Map Comprehension

    +

    And finally, Comprehension-based initialization is also supported for Maps. Again, use curly braces {...} instead of +square brackets [...], but this time a colon-separated key-value entry is computed from the input collection instead +of a single value:

    +

    Fig 4:

    +
    +
    var mutMap = mut {x : strings::repeated("*", x) | x in [1, 3, 99, 2] where x <= 10};
    +print(mutMap);
    +
    +

    Output:

    +
    mut {1: *, 2: **, 3: ***}
    +
    +
    +
    +

    Warning: Map Comprehension will Panic at runtime if you attempt to create multiple entries yielding the same key. +It's still up for debate whether this is desirable behavior - it's possible that this may be updated to some other model +such as "last entry wins". TBD.

    +
    +

    Comprehension is More Than Syntax Sugar

    +

    While the previous section emphasized the ergonomic and simplifying qualities of Comprehensions, it should be explicitly +stated that this construct is not just syntax sugar. Specifically, there is no other way in the language to directly +initialize a List/Set/Map with size and elements determined dynamically at runtime without incurring an extra copy:

    +

    Fig 1:

    +
    +
    var mutList: mut [string] = mut [];
    +for (x in [1, 3, 99, 2, 1]) {
    +  if (x <= 10) {
    +    lists::add(mutList, strings::repeated("*", x));
    +  }
    +}
    +
    +# Claro is automatically coercing the copied list to be immutable.
    +var immutableList: [string] = copy(mutList);
    +print(immutableList);
    +
    +

    Output:

    +
    [*, ***, **, *]
    +
    +
    +

    Using List Comprehension instead not only produces much simpler code, but will also allow you to drop the unnecessary +copy:

    +

    Fig 2:

    +
    +
    var immutableList = [strings::repeated("*", x) | x in [1, 3, 99, 2, 1] where x <= 10];
    +print(immutableList);
    +
    +

    Output:

    +
    [*, ***, **, *]
    +
    +
    +
    +

    Note: Read more about Claro's built-in copy(...) operator here (TODO(steving)).

    +
    +

    Types

    +

    Claro is a statically typed, compiled programming language. This means that if you attempt to assign a value of the +wrong type to a variable, Claro will emit a compiler error asking for a correction before your program will be able to +run. This will prevent you from waiting until runtime to find many program errors.

    +

    Fig 1:

    +
    +
    var s: string = 100.55;
    +
    +

    Compilation Errors:

    +
    static_typing_EX1_example.claro:1: Invalid type:
    +	Found:
    +		double
    +	Expected:
    +		string
    +var s: string = 100.55;
    +                ^^^^^^
    +1 Error
    +
    +
    +
    +

    Builtin Collections

    +

    Claro also rounds out its builtin types with a small set of convenient collection types that allow you to manipulate +many values using a single variable. These are provided as builtins for your convenience, but their implementations have +been hand selected to cover the majority of your general purpose programming use cases.

    +

    Ad-Hoc Declarations

    +

    Unlike many other languages (e.g. Java/C++/etc.) that require a formal declaration of any type before it can be +instantiated, Claro's builtin collections can all be simply instantiated at will as if the type already exists. For +example, any struct-like collection of named fields in Java would first require the declaration of a class, and +potentially the declaration of other things like a constructor, hashCode() and equals() implementations. In Claro, you +simply skip all the boilerplate.

    +

    For example, the following Claro procedure declares a struct {row: int, col: int} inline as the function's return type +and doesn't need any top-level declaration of that type before it's used:

    +

    Fig 1:

    +
    +
    function findInNestedList<T>(l: [[T]], t: T) -> struct {row: int, col: int} {
    +  var r = 0;
    +  for (row in l) {
    +    var c = 0;
    +    for (elem in row) {
    +      if (elem == t) {
    +        return {row = r, col = c};  # <-- Just instantiate the struct.
    +      }
    +      ++c;
    +    }
    +    ++r;
    +  }
    +  return {row = -1, col = -1};
    +}
    +
    +[[1, 2],
    + [3, 4],
    + [5, 6]]
    +  |> findInNestedList(^, 4)
    +  |> print(^);
    +
    +

    Output:

    +
    {row = 1, col = 1}
    +
    +
    +

    Mutability

    +

    All of Claro's builtin collection types come in either a mutable or immutable variant - by default, Claro will +assume that any collection literals are intended to be immutable.

    +

    Fig 2:

    +
    +
    var l = [1, 2, 3]; # Immutable list of ints.
    +print(l);
    +
    +# The below line would be illegal as `lists::add` expects a mutable list.
    +# lists::add(l, 4);
    +
    +

    Output:

    +
    [1, 2, 3]
    +
    +
    +

    The following example demonstrates initialization of a mutable list of integers:

    +

    Fig 3:

    +
    +
    var l = mut [1, 2, 3];
    +print("Before: {l}");
    +
    +lists::add(l, 4);      # <-- Mutation happens here.
    +print("After:  {l}");
    +
    +

    Output:

    +
    Before: mut [1, 2, 3]
    +After:  mut [1, 2, 3, 4]
    +
    +
    +

    Mutability Annotations are Shallow

    +

    Claro's mutability annotations are shallow by design so that you maintain fine-grained control over creating arbitrarily +complex nested data structures that mix mutability and immutability as needed. The following examples demonstrate +different combinations of nested mutability annotations:

    +

    This example demonstrates a mutable list whose elements are immutable lists.

    +

    Fig 4:

    +
    +
    var l: mut [[int]] = mut [];
    +for (i in [1, 2, 3]) {
    +  lists::add(l, [i, i]); # <-- Add an immutable list to the mutable list.
    +}
    +print(l);
    +
    +

    Output:

    +
    mut [[1, 1], [2, 2], [3, 3]]
    +
    +
    +

    This example demonstrates an immutable list whose elements are mutable lists.

    +

    Fig 5:

    +
    +
    var l: [mut [int]] = [mut [], mut [], mut []];
    +var i = 1;
    +for (mutList in l) {
    +  lists::add(mutList, i); # <-- Append an int to this inner mutable list.
    +  lists::add(mutList, i++);
    +}
    +print(l);
    +
    +

    Output:

    +
    [mut [1, 1], mut [2, 2], mut [3, 3]]
    +
    +
    +

    Data Race Safety via Deep Immutability

    +
    +This builtin support for mutability annotations allows Claro to enforce some very strong safety guarantees in concurrent +contexts, so this is about more than just providing a convenient library of data types. +
    +

    See the Concurrency section in this book for more details on how Claro will statically leverage +knowledge of whether a type is deeply immutable or not to prevent unsafe data races.

    +

    Lists

    +

    The simplest collection type allows you to keep an arbitrary number of values in some ordering. The list is very much +like a Python list in that it allows arbitrary appends, and random access to read values at a O-based index. Unlike +Python, as Claro is statically typed, all values in the list must be of the same type, and this type must be +pre-determined upon declaration of the variable which reference the list.

    +

    Fig 1:

    +
    +
    var l: mut [int] = mut [1, 3, 7, 2, -115, 0];
    +lists::add(l, 99);
    +print(len(l)); # 7
    +print(l[1] == l[0]); # false
    +print(l[6] == 99); # true
    +
    +

    Output:

    +
    7
    +false
    +true
    +
    +
    +

    Accessing List Elements

    +

    Lists support random-access indexing via traditional C-like syntax:

    +

    Fig 2:

    +
    +
    var l = [1, 2];
    +print(l[0]);
    +print(l[1]);
    +
    +

    Output:

    +
    1
    +2
    +
    +
    +

    Mutable List Element Reassignment

    +

    You can update the individual values stored at a particular list index via traditional C-like syntax:

    +

    Fig 3:

    +
    +
    var l = mut [1, 2];
    +l[0] = 99;
    +print(l);
    +
    +

    Output:

    +
    mut [99, 2]
    +
    +
    +

    Index-Out-Of-Bounds

    +

    As with most other languages that allow random-access to lists, you must be careful to always index into lists at valid +positions. Any accesses of index, i, where i < 0 or i >= len(l) will result in the program Panicking (exiting in an +unrecoverable way).

    +
    var l = mut [1, 2];
    +l[99] = 0;    # <-- Panic: Index-out-of-Bounds!
    +
    +

    (Note: it's possible that as the language evolves, Claro may instead opt to make all list subscripting operations +inherently safe by returning some structured result that models the possibility that the list index was invalid. This is +ideal for safety, however, this would impose a global runtime overhead so the tradeoff is still being evaluated.)

    +

    Stdlib lists Module

    +

    A large variety of list operations are available in the +stdlib's lists module. For example, the previous exapmle +added an element to the end of a mutable list by using the lists::add procedure whose signature is the following in +the lists.claro_module_api file:

    +
    # Appends the specified element to the end of this list.
    +consumer add<T>(l: mut [T], toAdd: T);
    +
    +

    Empty Lists

    +

    It's worth noting that Claro has no way of inferring the correct element type of an empty list when it's type is not +constrained by context. For example, the below variable declaration would be a compile-error:

    +
    var l = []; # Compiler Error: ambiguous type.
    +
    +

    Empty List Type Inference By Later Usage (Will Never Be Supported)

    +

    You might think that Claro should be able to infer the type intended for this empty list based on the later usage of the +variable it's assigned to. Claro takes the opinionated stance that this would be inherently undesirable behavior. +Type inference shouldn't follow some esoteric resolution rules. It would be all too easy to implement a complex type +inference system that can infer types far better than any real world human reader could - the end result would simply be +enabling code to be written that is intrinsically difficult for your colleagues (and your future self) to read later on. +This is an anti-goal of Claro.

    +

    The following will never be supported:

    +
    # Hypothetically, Claro could infer that the type of `l` is `mut [string]` based
    +# solely on the usage of `l` later on.
    +var l = mut [];
    +
    +...a bunch of code...
    +
    +append(l, "foo");
    +
    +

    Sets

    +

    Claro sets are much like Python sets, with a fixed, single type for all elements. You may initialize them with many +elements and then check for membership in the set later.

    +

    Fig 1:

    +
    +
    var mySet: {int} = {1, 6, -12};
    +print(10 in mySet);
    +print(6 in mySet);
    +
    +

    Output:

    +
    false
    +true
    +
    +
    +

    Adding Elements to a Mutable Set

    +

    Elements can be added to a set by making use of the sets::add function from the +stdlib's sets module.

    +

    Fig 2:

    +
    +
    # Adds the specified element to this set if it is not already present. If this set already contains the element, the
    +# call leaves the set unchanged and returns false. This ensures that sets never contain duplicate elements.
    +#
    +# Returns: true if this set did not already contain the specified element.
    +function add<T>(s: mut {T}, t: T) -> boolean;
    +
    +
    +

    Fig 3:

    +
    +
    var s = mut {1, 2};
    +print(10 in s);
    +_ = sets::add(s, 10);  # <-- Explicitly ignoring output of function call.
    +print(10 in s);
    +
    +

    Output:

    +
    false
    +true
    +
    +
    +

    Maps

    +

    A mapping of keys of a fixed value type, to values of a fixed type.

    +

    Fig 1:

    +
    +
    var myMap: mut {string: int} = mut {};
    +myMap["Jason"] = 28;
    +print("Jason" in myMap); # true
    +myMap["Kenny"] = 29;
    +print(myMap); # mut {"Jason": 28, "Kenny": 29}
    +
    +

    Output:

    +
    true
    +mut {Jason: 28, Kenny: 29}
    +
    +
    +

    Checking if a Key Exists

    +

    You can check for the existence of a key in a map by using the in keyword.

    +

    Fig 2:

    +
    +
    var m = {"a": 1, "b": 2};
    +
    +for (k in ["a", "b", "c"]) {
    +  print("{k} in map: {k in m}");
    +}
    +
    +

    Output:

    +
    a in map: true
    +b in map: true
    +c in map: false
    +
    +
    +

    Iterating Over the Entries of a Map

    +

    Claro's for loop supports iterating over the entries of a map, with each entry modeled as tuple<K, V>:

    +

    Fig 3:

    +
    +
    var m = {"a": 1, "b": 2};
    +
    +for (entry in m) {
    +  var k = entry[0];
    +  var v = entry[1];
    +  print("{k} -> {v}");
    +}
    +
    +

    Output:

    +
    a -> 1
    +b -> 2
    +
    +
    +

    Stdlib maps Module

    +

    A large variety of map operations are available in the +stdlib's maps module. For example, you can +declare a default value that will be used as fallback if the read key doesn't exist in the map by using the following +function declared in the maps.claro_module_api file:

    +

    Fig 4:

    +
    +
    # Returns the value to which the specified key is mapped, or `defaultValue` if this map contains no mapping for the key.
    +function getOrDefault<K,V>(m: {K:V}, k: K, defaultValue: V) -> V;
    +
    +
    +

    Fig 5:

    +
    +
    var m = {"a": 1, "b": 2};
    +
    +for (k in ["a", "b", "c"]) {
    +  print(maps::getOrDefault(m, k, -1));
    +}
    +
    +

    Output:

    +
    1
    +2
    +-1
    +
    +
    +

    Tuples

    +

    Tuples are a fixed-order, fixed-size collection of values which do not all have to be of the same type.

    +

    Compile-Time Validated Indexing

    +

    You can see in the example below, tuples interact w/ type validation in an interesting way worth making note of. When +you index into a tuple, you should generally prefer to use a literal int constant. When you do, Claro can statically +determine the type of the value you're accessing at compile time, which allows safer and more efficient code.

    +

    For example, Claro is able to statically find the bugs in the below program:

    +

    Fig 1:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro will interpret literal int subscripts at compile-time for type validation.
    +var myInt: int = myPair[1];     # <-- Wrong index.
    +print(myInt);
    +var myStr: string = myPair[3];  # <-- Out-of-bounds index.
    +print(myStr);
    +
    +

    Compilation Errors:

    +
    tuple_type_EX1_example.claro:4: Invalid type:
    +	Found:
    +		string
    +	Expected:
    +		int
    +var myInt: int = myPair[1];     # <-- Wrong index.
    +                 ^^^^^^^^^
    +tuple_type_EX1_example.claro:6: Tuple Subscript Literal Out of Bounds:
    +	For subscript on tuple of type: tuple<int, string>
    +	Found:
    +		3
    +	Expected:
    +		index in range [0, 2)
    +var myStr: string = myPair[3];  # <-- Out-of-bounds index.
    +                    ^^^^^^^^^
    +2 Errors
    +
    +
    +

    Making it easy to apply the fix:

    +

    Fig 2:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro will interpret literal int subscripts at compile-time for type validation.
    +var myInt: int = myPair[0];     # <-- Correct index.
    +print(myInt);
    +var myStr: string = myPair[1];  # <-- Correct index.
    +print(myStr);
    +
    +

    Output:

    +
    1
    +one
    +
    +
    +

    Runtime Validated Indexing

    +

    If your index value is hidden behind some indirection, Claro can't know the type at compile-time and will require a +runtime type cast (which is slow & opens the door to runtime Panics if the actual type doesn't match the asserted type).

    +

    Claro will warn you at compile-time when this is necessary:

    +

    Fig 3:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro requires a type cast for non-literal index.
    +var index: int = 0;
    +var myInt = myPair[index];
    +print(myInt);
    +
    +

    Compilation Errors:

    +
    tuple_type_EX3_example.claro:5: The type of this expression is UNDECIDED at compile-time! You must explicitly cast the Expr to the expected type to assert this type at compile-time.
    +var myInt = myPair[index];
    +            ^^^^^^^^^^^^^
    +tuple_type_EX3_example.claro:6: No variable <myInt> within the current scope!
    +print(myInt);
    +      ^^^^^
    +2 Errors
    +
    +
    +

    Fix the error by explicitly asserting the expected type by casting:

    +

    Fig 4:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro requires a type cast for non-literal index.
    +var index: int = 0;
    +var myInt = cast(int, myPair[index]); # OK, opting into runtime type validation.
    +print(myInt);
    +
    +

    Output:

    +
    1
    +
    +
    +

    Mutable Tuples

    +

    Unlike some other languages with tuple support, Claro imposes no arbitrary restriction that all tuples must necessarily +be immutable. Just like any other builtin collection type, a Claro tuple may be declared mutable using the mut +keyword when declaring a variable or initializing the value. You may then update element values at will as long as the +initial type declaration for each element is honored.

    +

    Claro won't allow you to mutate a tuple that isn't explicitly declared mutable:

    +

    Fig 5:

    +
    +
    var myPair = (1, "one"); # <-- This is an **immutable** tuple.
    +print(myPair);
    +
    +myPair[0] = 99;  # <-- Illegal attempted mutation happens here.
    +print(myPair);
    +
    +

    Compilation Errors:

    +
    tuple_type_EX5_example.claro:4: Illegal Mutation of Immutable Value: Mutation of immutable values is forbidden!
    +	Found the immutable type:
    +		tuple<int, string>
    +	In order to mutate this value, the value's type would need to be updated to:
    +		mut tuple<int, string>
    +myPair[0] = 99;  # <-- Illegal attempted mutation happens here.
    +^^^^^^
    +1 Error
    +
    +
    +

    The mutation is legal when the tuple is explicitly annotated mut:

    +

    Fig 6:

    +
    +
    var myPair = mut (1, "one");  # <-- This is now a **mutable** tuple.
    +print(myPair);
    +
    +myPair[0] = 99;  # <-- Mutation happens here.
    +print(myPair);
    +
    +

    Output:

    +
    mut (1, one)
    +mut (99, one)
    +
    +
    +

    Structs

    +

    Structs are similar to tuples with named field values of arbitrary pre-declared types.

    +

    Fig 1:

    +
    +
    var myStruct: struct {x: int, y: int} = {x = 1, y = 2};
    +print(myStruct);
    +
    +

    Output:

    +
    {x = 1, y = 2}
    +
    +
    +

    Field Access

    +

    Struct field values can be directly accessed using "dot-notation" as below:

    +

    Fig 2:

    +
    +
    var myStruct: struct {x: int, y: int} = {x = 1, y = 2};
    +print(myStruct.x);
    +print(myStruct.y);
    +
    +

    Output:

    +
    1
    +2
    +
    +
    +

    Mutable Structs

    +

    Just like any other builtin collection type, a Claro struct may be declared mutable using the mut keyword when +declaring a variable or initializing the value. You may then update element values at will as long as the initial type +declaration for each element is honored.

    +

    Fig 3:

    +
    +
    var myStruct = mut {name = "Jason", age = 29};  # <-- Omitting optional type annotation.
    +print(myStruct);
    +
    +myStruct.name = "Claro";  # <-- Mutation happens here.
    +myStruct.age = 3;         # <-- Mutation happens here.
    +print(myStruct);
    +
    +

    Output:

    +
    mut {name = Jason, age = 29}
    +mut {name = Claro, age = 3}
    +
    +
    +

    Oneofs

    +

    Something that's often left unaddressed by statically typed programming languages is the ability to model a value that +can take on one of an arbitrary set of types. Many other languages approximate this sort of ability through a notion of +"sub-typing" relationships between a hierarchy of types. While sub-typing as found broad use and much support throughout +the programming languages ecosystem, Claro has been designed under the belief that sub-typing leaves much to be desired +and opens the door to all sorts of unwanted and unnecessary complexity and leads to error-prone coding patterns. So, +on principle, Claro will never support sub-typing, and instead provides support for oneof types (also known as +tagged-unions in other languages).

    +

    Fig 1:

    +
    +
    var intOrStr: oneof<int, string>;
    +
    +
    +

    Check the Concrete Type of a Oneof With the instanceof Operator

    +

    The entire point of a oneof type is to be able to write branching logic on the concrete type that is actually +represented by the oneof at runtime. One way of achieving this is with the instanceof boolean operator that allows +you to check the concrete type at runtime:

    +

    Fig 2:

    +
    +
    var intOrStr: oneof<int, string>;
    +
    +random::forSeed(20000)
    +  |> random::nextNonNegativeBoundedInt(^, 2)
    +  |> var r = ^;
    +
    +match (r) {
    +  case 0 -> intOrStr = 10;
    +  case _ -> intOrStr = "ten";
    +}
    +print("intOrStr: {intOrStr}");
    +
    +if (intOrStr instanceof int) {
    +  print("Found an int!");
    +} else {
    +  print("Found a string!");
    +}
    +
    +

    Output:

    +
    intOrStr: 10
    +Found an int!
    +
    +
    +
    +It's somewhat nonsensical to do an instanceof check on any concrete type so Claro statically rejects that. +
    +

    Fig 3:

    +
    +
    if (10 instanceof int) {
    +  print("Obviously an int");
    +}
    +if (10 instanceof string) {
    +  print("Obviously not a string");
    +}
    +
    +

    Compilation Errors:

    +
    oneofs_EX3_example.claro:1: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.
    +if (10 instanceof int) {
    +    ^^^^^^^^^^^^^^^^^
    +oneofs_EX3_example.claro:4: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.
    +if (10 instanceof string) {
    +    ^^^^^^^^^^^^^^^^^^^^
    +2 Errors
    +
    +
    +

    "Narrowing" / Type Guards

    +

    Inspired by TypeScript's support for this, when you perform an instanceof check on a variable with a oneof type +within a conditional statement, Claro automatically "narrows" the type of the variable to the checked type. This is +logically valid because the only way that control-flow could possibly reach that context is if that was actually the +type at runtime.

    +

    Fig 1:

    +
    +
    var intOrStr: oneof<int, string> = 10;
    +
    +if (intOrStr instanceof int) {
    +  # Claro automatically "narrows" the variable to have type `int`.
    +  var addRes = intOrStr + 10;
    +  print("{intOrStr} + 10 = {addRes}");
    +}
    +
    +

    Output:

    +
    10 + 10 = 20
    +
    +
    +
    +Note: Claro is not implementing full "flow typing" here. The type will be "widened" again to its originally declared +type if you assign a value of any type other than the narrowed type to a variable in a context where it's been narrowed. +
    +

    Fig 2:

    +
    +
    var intOrStr: oneof<int, string> = 10;
    +
    +if (intOrStr instanceof int) {
    +  # Claro automatically "narrows" the variable to have type `int`.
    +  var addRes = intOrStr + 10;
    +  print("{intOrStr} + 10 = {addRes}");
    +
    +  # Claro automatically "widens" the variable to `oneof<int, string>`.
    +  intOrStr = "ten";
    +  addRes = intOrStr + 10;  # <-- This is no longer valid.
    +}
    +
    +

    Compilation Errors:

    +
    narrowing_EX2_example.claro:10: Invalid type: found <oneof<int, string>>, but expected one of (<int, long, float, double>).
    +  addRes = intOrStr + 10;  # <-- This is no longer valid.
    +           ^^^^^^^^
    +1 Error
    +
    +
    +

    Non-Trivial Example Usage

    +

    For a less trivial example of working with oneof types, the below function is able to pretty-print a linked list by +checking if the current node is the end of the list or not by branching on the type of the next reference:

    +

    Fig 3:

    +
    +
    newtype LinkedNode<T> : struct {
    +  val: T,
    +  next: oneof<LinkedNode<T>, std::Nothing>
    +}
    +
    +alias SB : string_builder::StringBuilder
    +function renderLinkedList<T>(head: LinkedNode<T>, sb: SB) -> SB {
    +  _ = string_builder::add(sb, "{unwrap(head).val} -> ");
    +  var next = unwrap(head).next;
    +  if (next instanceof LinkedNode<T>) {
    +    return renderLinkedList(next, sb);   # <-- Type of `next` was "narrowed" to `LinkedNode<T>`.
    +  } else {
    +    return string_builder::add(sb, "*END*");
    +  }
    +}
    +
    +var linkedList = LinkedNode({val = 1, next = LinkedNode({val = 2, next = LinkedNode({val = 3, next = std::Nothing})})});
    +
    +string_builder::create()
    +  |> renderLinkedList(linkedList, ^)
    +  |> string_builder::build(^)
    +  |> print(^);
    +
    +

    Output:

    +
    1 -> 2 -> 3 -> *END*
    +
    +
    +

    The above example relies on concepts described in later sections, so consider checking out +User Defined Types and Generics +for some more info.

    +

    Atoms

    +

    Sometimes it's useful to represent a concept that doesn't necessarily have any meaningful "data" apart from a name. For +example, you may want to represent the states of a simple street-light (i.e. red, yellow, or green).

    +

    Claro's atoms provide a clean solution for modelling these states:

    +

    Fig 1:

    +
    +
    atom Red
    +atom Yellow
    +atom Green
    +
    +
    +

    Now, you can write code that directly uses these Red, Yellow and Green as values.

    +

    Fig 2:

    +
    +
    random::forSeed(1)
    +  |> random::nextNonNegativeBoundedInt(^, 3)
    +  |> var r = ^;
    +
    +var lightColor: oneof<Red, Yellow, Green>;
    +match (r) {
    +  case 0 -> lightColor = Red;
    +  case 1 -> lightColor = Yellow;
    +  case _ -> lightColor = Green;
    +}
    +print(lightColor);
    +
    +

    Output:

    +
    Red
    +
    +
    +

    Static Validation

    +
    +You could try to use strings for this purpose, but then you would need to do runtime string equality checks throughout +your codebase to distinguish one state from another as their types would all be the same, `string`, and even worse you +open yourself to simple typo bugs. +
    +

    Using atoms, Claro will catch any accidental typos for you at compile-time:

    +

    Fig 3:

    +
    +
    random::forSeed(1)
    +  |> random::nextNonNegativeBoundedInt(^, 3)
    +  |> var r = ^;
    +
    +var lightColor: oneof<Red, Yellow, Green>;
    +match (r) {
    +  case 0 -> lightColor = Red;
    +  case 1 -> lightColor = Yelow;  # <-- Claro will catch this misspelling for you.
    +  case _ -> lightColor = Green;
    +}
    +print(lightColor);
    +
    +

    Compilation Errors:

    +
    atoms_EX3_example.claro:8: No variable <Yelow> within the current scope!
    +  case 1 -> lightColor = Yelow;  # <-- Claro will catch this misspelling for you.
    +                         ^^^^^
    +atoms_EX3_example.claro:8: Invalid type: found <<UNKNOWABLE DUE TO PRIOR TYPE VALIDATION ERROR>>, but expected one of (<Red, Yellow, Green, oneof<Red, Yellow, Green>>).
    +  case 1 -> lightColor = Yelow;  # <-- Claro will catch this misspelling for you.
    +                         ^^^^^
    +2 Errors
    +
    +
    +

    Ad-Hoc "Enums"

    +

    Unlike many other languages, if you want to define a type that has only a limited set of possible values you don't have +to declare an "enum" ahead of time. Instead, Claro encourages modeling this using the builtin oneof<...> type as in +the example above. It can be useful to define an alias to represent the "enum" in a concise way if it's widely used:

    +

    Fig 4:

    +
    +
    alias LightColor : oneof<Red, Yellow, Green>
    +
    +random::forSeed(1)
    +  |> random::nextNonNegativeBoundedInt(^, 3)
    +  |> var r = ^;
    +
    +var lightColor: LightColor;
    +match (r) {
    +  case 0 -> lightColor = Red;
    +  case 1 -> lightColor = Yellow;
    +  case _ -> lightColor = Green;
    +}
    +print(lightColor);
    +
    +
    +

    Aliases

    +

    Aliases are a powerful feature that allow the expression of arbitrary types. In their simplest form, they may be used as +syntactic sugar to reduce keystrokes and cognitive overhead from typing out a full type literal.

    +

    Fig 1:

    +
    +
    # You can imagine that typing this out could be verbose/annoying.
    +alias IntsToTupleFn: function<|int, int| -> tuple<int, int>>
    +
    +consumer prettyPrint(name: string, fn: IntsToTupleFn, arg1: int, arg2: int) {
    +  var res = fn(arg1, arg2);
    +  print("{name}({arg1}, {arg2}) -> {res}");
    +}
    +
    +var swapped: IntsToTupleFn = lambda (a, b) -> (b, a);
    +prettyPrint("swapped", swapped, 1, 2);
    +
    +var doubled: IntsToTupleFn = lambda (a, b) -> (2*a, 2*b);
    +prettyPrint("doubled", doubled, 1, 2);
    +
    +

    Output:

    +
    swapped(1, 2) -> (2, 1)
    +doubled(1, 2) -> (2, 4)
    +
    +
    +

    Aliases are Syntactic Sugar

    +

    To be absolutely clear, Aliases are simply syntactic sugar as shown in the example above. They provide a mechanism for +reducing the amount of boilerplate code that may need to be written where full type annotations are explicitly required. +They also allow you to communicate some sort of "intent" where you would like to communicate the purpose of a value to +other developers (or your future self) without actually committing to defining a fully new custom type (though aliases +should be used for this purpose with caution). For example, below you'll see an example of using aliases to indicate +that different int values have different interpretations.

    +

    Fig 2:

    +
    +
    alias MPH : double
    +alias Hours : double # Arguably you should be using `duration::Duration`.
    +alias Miles : double
    +
    +function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours {
    +  return distanceTraveled / speed;
    +}
    +
    +var speed: MPH = 15.0;
    +var distance: Miles = 60.0;
    +print(timeTraveled(speed, distance));
    +
    +

    Output:

    +
    4.0
    +
    +
    +

    Overuse of Aliases Can be a Code Smell

    +
    +Keep in mind that excessive use of aliases can be a code smell. If you are using an alias to try to encode some semantic +distinction between values, it's very likely that you are writing highly bug-prone code as aliases do not provide any +level of compile time verification that values of different alias types don't get accidentally conflated. +
    +

    Fig 3:

    +
    +
    var mySpeed: MPH = 15.0;
    +var myDistance: Miles = 60.0;
    +
    +# Aliases provide zero compile-time protection from mistakenly passing these
    +# args out-of-order.
    +print(timeTraveled(myDistance, mySpeed));
    +
    +

    Output:

    +
    0.25
    +
    +
    +

    See User Defined Types for an example of how to +address this issue.

    +

    Aliases are Not a New Type Declaration

    +

    It's important to know that, in general, defining an Alias does not declare a "new type", instead it is just providing +a shorthand for referring to some type. With an Alias definition, you are simply defining an alternative, more +convenient way to refer to a type that is semantically equivalent to typing out the explicit type itself.

    +

    The example below demonstrates how variables with types declared using equivalent aliases, will in fact type-check as +having the same type:

    +

    Fig 1:

    +
    +
    alias IntList1 : [int]
    +alias IntList2 : [int]
    +
    +var i1: IntList1 = [1];
    +var i2: IntList2 = [2];
    +var i3: [int] = [3];
    +
    +i2 = i3;   # <-- IntList2 is equivalent to [int].
    +i1 = i2;   # <-- IntList1 is equivalent to IntList2.
    +
    +print(i1);
    +print(i2);
    +print(i3);
    +
    +

    Output:

    +
    [3]
    +[3]
    +[3]
    +
    +
    +

    Note on "Nominal Typing"

    +

    Nominal typing can actually be very useful for enforcing maintenance of semantic interpretations of even simple data +types, and even for maintaining inter-field invariants of more complex structured data types. So, of course, Claro also +provides a mechanism to define new, "nominally typed" type definitions. This will allow making a semantic distinction +between two "structurally equivalent" types that have different names.

    +

    For more on this, see: User Defined Types.

    +

    User Defined Types

    +

    Claro's type system already provides a very expansive expressive power to represent arbitrarily complex data structures, +so, technically speaking, there is no hard requirement for a user to ever define any new types in order write any +program. However, by using only the builtin primitive and collection types, you will not be able to leverage Claro's +static type validation to ensure that semantic differences between values with structurally equivalent types are +actually maintained.

    +

    This section will attempt to clarify how you can make use of user defined types to enforce semantic constraints +throughout your program.

    +

    Declaring a New Type

    +

    The example below demonstrates the declaration of a new type that wraps int.

    +

    Fig 1:

    +
    +
    newtype Foo : int
    +
    +
    +

    In fact, user defined types can wrap any type - even other user defined types:

    +

    Fig 2:

    +
    +
    # The order of `newtype` declarations is unimportant.
    +newtype Baz : int
    +newtype Foo : Bar
    +newtype Bar : Baz
    +
    +
    +

    Instantiating an Instance of a User Defined Type

    +

    Claro automatically provides a one-arg constructor that allows the user defined type to be instantiated by wrapping the +declared type.

    +

    Fig 3:

    +
    +
    var f = Foo(1);
    +print(f);
    +
    +

    Output:

    +
    Foo(1)
    +
    +
    +

    User Defined Types "Wrap" an Instance of Another Type

    +

    Because Claro's builtin types already enable modelling any arbitrary data structure, the purpose of user defined types +is solely to "wrap" an existing type in a statically enforceable, semantic layer that distinguishes instances of the +user defined type, from the type that is being wrapped. As such, Claro does not do any automatic conversions from the +wrapped type to the unwrapped type.

    +

    So, although newtype Foo : int simply wraps int, it is not interchangeable with int and therefore operations like ++ are not supported for Foo even though they are for int.

    +

    Fig 4:

    +
    +
    newtype Foo : int
    +var f = Foo(1);
    +print(f + 9);
    +
    +

    Compilation Errors:

    +
    user_defined_types_EX4_example.claro:3: Invalid type: found <Foo>, but expected one of (<int, long, float, double>).
    +print(f + 9);
    +      ^
    +1 Error
    +
    +
    +

    "Unwrapping" a User Defined Type

    +

    The wrapped type can be accessed by explicitly using the builtin unwrap() function.

    +

    Fig 5:

    +
    +
    newtype Foo : int
    +var f = Foo(1);
    +print(unwrap(f) + 9);
    +
    +

    Output:

    +
    10
    +
    +
    +

    Compile Time Enforcement

    +

    In the Aliases section an example was given that demonstrates the pitfall of the overuse of aliases. +One primary source of errors could be addressed by simply declaring a new type for each of MPH, Hours, and Miles. +In this case, this statically prevents accidentally passing args to the function out of order:

    +

    Fig 6:

    +
    +
    newtype MPH : double
    +newtype Hours : double # Arguably you should be using `duration::Duration`.
    +newtype Miles : double
    +
    +function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours {
    +  return Hours(unwrap(distanceTraveled) / unwrap(speed));
    +}
    +
    +# Claro can identify this type mismatch.
    +print(timeTraveled(Miles(60.0), MPH(15.0)));
    +
    +

    Compilation Errors:

    +
    user_defined_types_EX6_example.claro:10: Invalid type:
    +	Found:
    +		Miles
    +	Expected:
    +		MPH
    +print(timeTraveled(Miles(60.0), MPH(15.0)));
    +                   ^^^^^^^^^^^
    +user_defined_types_EX6_example.claro:10: Invalid type:
    +	Found:
    +		MPH
    +	Expected:
    +		Miles
    +print(timeTraveled(Miles(60.0), MPH(15.0)));
    +                                ^^^^^^^^^
    +2 Errors
    +
    +
    +

    The above error message would lead you to correct the order of arguments and thereby fix the problem:

    +

    Fig 7:

    +
    +
    print(timeTraveled(MPH(15.0), Miles(60.0)));
    +
    +

    Output:

    +
    Hours(4.0)
    +
    +
    +

    Parameterized Types

    +

    Claro supports the definition of types that may be parameterized with a generic type so that they can be used to contain +arbitrary types. For example the following is a definition of a type Maybe<T> that has the generic type param T:

    +

    Fig 1:

    +
    +
    newtype Maybe<T> : oneof<T, std::Error<std::Nothing>>
    +
    +
    +

    This type definition is useful for describing the generic concept of a value that may or may not be present, without +needing to define repeated declarations for each specific type that may or may not be present:

    +

    Note: Claro's error messaging is a work in progress - the below error message will be improved.

    +

    Fig 2:

    +
    +
    var maybeInt: Maybe<int> = Maybe(10);
    +print(maybeInt);
    +
    +var maybeStr = Maybe("hi");
    +print(maybeStr);
    +
    +

    Output:

    +
    Maybe(10)
    +Maybe(hi)
    +
    +
    +

    Generic Type Param Must be Referenced in Type Declaration

    +
    +The generic type param must be referenced somewhere in the type definition or Claro will statically reject the +definition with an explanation of the problem. +
    +

    Fig 3:

    +
    +
    newtype Invalid<X> : struct {row: int, col: int}
    +
    +

    Compilation Errors:

    +
    Warning! The following declared symbols are unused! [X]
    +1 Error
    +
    +
    +

    Concrete Type Inference

    +

    Claro is able to automatically infer the type of maybeStr whenever it would be possible to do so. Generally speaking, +this is possible when the concrete type is actually referenced in the initialization.

    +

    Fig 1:

    +
    +
    newtype Maybe<T> : oneof<T, std::Error<std::Nothing>>
    +
    +var maybeStr = Maybe("hi");
    +type(maybeStr);
    +print(maybeStr);
    +
    +

    Output:

    +
    Maybe<string>
    +Maybe(hi)
    +
    +
    +
    +It's not always possible to automatically infer the type of an instance of a parameterized type. In particular, the +below example is impossible to automatically infer as the concrete type is not actually referenced in the +initialization: +
    +

    Note: Claro's error messaging is a work in progress - the below error message will be improved.

    +

    Fig 2:

    +
    +
    var maybeStr = Maybe(std::Error(std::Nothing));
    +print(maybeStr);
    +
    +

    Compilation Errors:

    +
    concrete_type_inference_EX2_example.claro:1: Invalid Generic Procedure Call: For the call to the following generic procedure `Maybe$constructor` with the following signature:
    +		`function<oneof<T, [module at //stdlib:std]::Error<Nothing>> -> Maybe<T>> Generic Over {T} Requiring Impls for Contracts {}`
    +	The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.
    +var maybeStr = Maybe(std::Error(std::Nothing));
    +               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    In these situations Claro will require you to provide an explicit type annotation to disambiguate your intentions:

    +

    Fig 3:

    +
    +
    var maybeStr: Maybe<string> = Maybe(std::Error(std::Nothing));
    +print(maybeStr);
    +
    +

    Output:

    +
    Maybe(Error(Nothing))
    +
    +
    +

    Recursive Types

    +

    Claro supports the definition of new types that contain recursive self-references. For example a binary tree structure +is a classic recursive data structure where each Node in the tree contains a left and right child that may either be +another Node or nothing. The below is the definition of a Node that can only hold ints:

    +

    Fig 1:

    +
    +
    newtype IntNode : struct {
    +  val: int,
    +  left: oneof<IntNode, std::Nothing>,
    +  right: oneof<IntNode, std::Nothing>
    +}
    +
    +
    +

    For example, the following initializes a simple tree with the root pointing to two children that have no children of +their own:

    +

    Fig 2:

    +
    +
    var tree =
    +  IntNode({
    +    val = 1,
    +    left = IntNode({val = 2, left = std::Nothing, right = std::Nothing}),
    +    right = IntNode({val = 3, left = std::Nothing, right = std::Nothing})
    +  });
    +print(tree);
    +
    +

    Output:

    +
    IntNode({val = 1, left = IntNode({val = 2, left = Nothing, right = Nothing}), right = IntNode({val = 3, left = Nothing, right = Nothing})})
    +
    +
    +

    Parameterized Recursive Types

    +

    Of course, the above IntNode definition is too constrained, so ideally we'd define a single Node type that's able to +represent trees of arbitrary data types. So, a better Node type definition looks like:

    +

    Fig 3:

    +
    +
    newtype Node<T> : struct {
    +  val: T,
    +  left: oneof<Node<T>, std::Nothing>,
    +  right: oneof<Node<T>, std::Nothing>
    +}
    +
    +
    +

    Initialization looks exactly the same as in the concrete IntNode example above:

    +

    Fig 4:

    +
    +
    var tree =
    +  Node({
    +    val = 1,
    +    left = Node({val = 2, left = std::Nothing, right = std::Nothing}),
    +    right = Node({val = 3, left = std::Nothing, right = std::Nothing})
    +  });
    +print(tree);
    +
    +

    Output:

    +
    Node({val = 1, left = Node({val = 2, left = Nothing, right = Nothing}), right = Node({val = 3, left = Nothing, right = Nothing})})
    +
    +
    +

    Impossible-to-Initialize Recursive Alias Type Definitions

    +
    +Some recursive type definitions are rejected at compile-time because they would be impossible to instantiate. +
    +

    The issue with these type definitions is that the type recursion has no implicit "bottom" and implies an infinitely +nested value. Because it's impossible to ever initialize a value composed of infinitely many values (you'd never finish +typing the code), Claro lets you know right away at compile time that the infinitely recursive type is rejected for +being unusable.

    +

    The below recursive type definitions all trigger compile-time warnings from Claro indicating that these types aren't +usable and are therefore illegal.

    +

    Fig 1:

    +
    +
    newtype IllegalUnboundedRecursiveAlias : tuple<int, IllegalUnboundedRecursiveAlias>
    +newtype InfiniteRecursion : InfiniteRecursion
    +newtype PartialUnbounded : tuple<PartialUnbounded, [PartialUnbounded]>
    +
    +

    Compilation Errors:

    +
    Impossible Recursive Alias Type Definition: Alias `IllegalUnboundedRecursiveAlias` represents a type that is impossible to initialize in a finite number of steps. To define a recursive type you must ensure that there is an implicit "bottom" type to terminate the recursion. Try wrapping the Alias self-reference in some builtin empty-able collection:
    +	E.g.
    +		Instead of:
    +			alias BadType : tuple<int, BadType>
    +		Try something like:
    +			alias GoodType : tuple<int, [GoodType]>
    +1 Error
    +
    +
    +

    Type Inference

    +

    So far, through each code snippet you've seen, each variable has always included an explicit type declaration. This may +be useful for the sake of very explicit readability, however, these type annotations littering your entire codebase may +begin to feel very clunky and inconvenient - particularly when the type is very obvious to the reader, or sometimes if +it becomes very long to type (as the result of many layers of nested collections for example). In almost every case, +however, these explicit type annotations are optional in Claro!

    +

    Claro is smart enough to be able to infer the vast majority of types in any given program. So, unless you feel that the +type annotation being present makes the code more readable in a particular situation, then you can generally omit it +entirely! Please keep in mind, however, that while this may indeed make your code visually resemble something like +Python or JavaScript, Claro is 100% statically typed. Therefor, in this regard, Claro is much more alike +Rust/Java/Haskell than it is like any dynamic language. And, importantly, Claro is not an "Optionally Statically +Typed" language like Typescript - the compiler must always statically know the type of every value, you may at times +simply choose to avoid explicitly including the type annotation in the source code.

    +

    Examples

    +

    Instead of:

    +

    Fig 1:

    +
    +
    var i: int = 1;
    +var b: boolean = true;
    +var l: [tuple<int, boolean>] = [(1, true), (2, false)];
    +
    +
    +

    You could write:

    +

    Fig 2:

    +
    +
    var i = 1;
    +var b = true;
    +var l = [(1, true), (2, false)];
    +
    +
    +

    Each corresponding statement has exactly the same meaning. They differ only syntactically. Each variable is still +declared to have the same static type you'd expect.

    +

    Required Type Annotations

    +

    There are same specific situations where Claro will require a type annotation to understand your intent. Note that these +situations are not just a limitation of the compiler, even if Claro would somehow implicitly decide a type for you in +these situations, your colleagues (or your future self) would struggle to comprehend what type was being inferred.

    +

    For clarity and correctness in the following situations, you will be required to write an explicit type annotation:

    +

    Procedure Signatures

    +

    Most obvious is the fact that all procedure signatures must fully encode the types of any +arguments and, if the procedure returns a value, its return type.

    +

    Fig 1:

    +
    +
    function add(lhs: int, rhs: int) -> int {
    +  # ...
    +  return lhs + rhs;
    +}
    +
    +
    +
    +

    If you're thinking, "but sometimes I want to write procedures that can accept values of more than one type!", then you +have a couple options:

    +
      +
    • If you know the possible set of types ahead of time: use +oneof<...>
    • +
    • Otherwise: use generics
    • +
    +
    +

    Lambda Expressions assigned to variables

    +

    As lambdas are just anonymous procedures, they must either be used in a context that already "asserts" the lambda's +signature, such as in this variable declaration:

    +

    Fig 2:

    +
    +
    var add: function<|int, int| -> int> = lambda (lhs, rhs) -> lhs + rhs;
    +
    +
    +

    Note: Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression:

    +

    Fig 3:

    +
    +
    var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };
    +
    +
    +

    Initializing Empty Builtin Collections

    +

    Claro would have no way of knowing what type the below list was intended to be without an explicit type annotation:

    +

    Fig 4:

    +
    +
    var l: [int] = [];
    +
    +
    +

    Non-literal Tuple Subscript

    +

    Unlike with literal integer tuple subscript indices, when you use a non-literal tuple subscript index value, you have +hidden the index from Claro's type inference behind a layer of indirection that Claro will not attempt to follow. In +these cases you'll be required to assert your intent via a runtime type cast:

    +

    Fig 5:

    +
    +
    var t = (1, "one", 1.1);
    +var i = random::nextNonNegativeBoundedInt(random::create(), 3);
    +
    +# This program crashes at runtime a third of the time...
    +var t_int = cast(int , t[i]);
    +print(t_int);
    +
    +
    +
    +

    Warning: Claro allows this simply to avoid being too restrictive, but you should arguably take these runtime casts +as a code-smell and find a statically safe way to rewrite your code to avoid this sort of dynamic tuple subscripting.

    +
    +

    (Advanced) Calls to Generic Procedure With Unconstrained Return Type

    +

    When a generic return type can't be inferred from arg(s) referencing the same generic type, you must explicitly assert +the type that you intend for the procedure to return.

    +

    This is something that will likely only come up in more advanced usage of the language. Getting into this situation +requires using multiple language features together in a rather intentional way, but for completeness here's an example +of how this may happen:

    +

    Fig 6:

    +
    +
    function assertVariant<A, B, Asserted>(o: oneof<A, B>) -> oneof<Asserted, std::Error<std::Nothing>> {
    +  if (o instanceof Asserted) {
    +    return o;
    +  }
    +  return std::Error(std::Nothing);
    +}
    +
    +var myOneof: oneof<int, string> = "hello";
    +
    +var assertedInt = cast(oneof<int, std::Error<std::Nothing>>, assertVariant(myOneof));
    +var assertedStr = cast(oneof<string, std::Error<std::Nothing>>, assertVariant(myOneof));
    +
    +print(assertedInt);
    +print(assertedStr);
    +
    +

    Output:

    +
    Error(Nothing)
    +hello
    +
    +
    +

    See the Generic Return Type Inference +section for more on this.

    +

    Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position

    +

    Because Claro monomorphizes generic procedures, Claro must determine the called +procedure's concrete types based on the types of the arguments. In the case that the type of an argument expression is +ambiguous, it must be explicitly annotated with a cast:

    +

    Fig 7:

    +
    +
    consumer foo<A>(a: A) {
    +  # ...
    +  print(a);
    +}
    +
    +var t = (1, "one");
    +var i: int = # ...
    +  random::nextNonNegativeBoundedInt(random::create(), 2);
    +
    +foo(cast(int, t[i]));
    +
    +
    +

    However, the effect of this can be limited in generic procedures with multiple arguments. The type cast may not be +necessary if the type parameter is already constrained by another preceding argument:

    +

    Fig 8:

    +
    +
    consumer apply<A>(a: A, c: consumer<A>) {
    +  c(a);
    +}
    +
    +apply(1, x -> { print(x + 10); });
    +
    +

    Output:

    +
    11
    +
    +
    +

    Procedures

    +

    All languages tend to have a way to encapsulate a block of logic in one place so that it can be reused throughout the +program. Generally, however, languages tend to provide only a single tool for this job, the function. The problem I see +with this is that not all functions in these languages are created equal - but yet they're all forced to share the same +structure which has some unfortunate implications. The general idea is straightforward: a function takes in some data, +manipulates it somehow, and possibly returns some data. However, not all functions take input, and not all of them +return data ("void" is not data... looking at you, Java and friends). To me, this is very unclear using a single +structure, functions, for meaningfully different purposes. Claro addresses this by getting specific. Claro provides +"Procedures" broken into a few sub-categories: Functions, Consumers, and Providers.

    +

    Functions

    +

    A Procedure that takes in same data and returns some data.

    +

    Fig 1:

    +
    +
    function add(x: int, y: int) -> int {
    +    return x + y;
    +}
    +
    +print(add(10, 5));
    +
    +

    Output:

    +
    15
    +
    +
    +

    Consumers

    +

    A Procedure that takes in some data but doesn't return any data.

    +

    Fig 1:

    +
    +
    consumer show(s: string, age: int, heightFt: int) {
    +    # String formatting.
    +    print("{s} is {age} years old and {heightFt}ish feet tall.");
    +}
    +
    +# Calling the consumer. Syntactically, consumers are always used as statements,
    +# never as an expression (something that has a value).
    +show("Laura", 29, 5);
    +
    +

    Output:

    +
    Laura is 29 years old and 5ish feet tall.
    +
    +
    +
    +

    Note: Consumers tend to be an inherent waste of computation time unless that consumer does some side-effecting +operation observable outside the program scope. So, it may be a useful hint that if you're reading code that includes a +call to a consumer, some I/O is very likely taking place (if not, you should delete the call entirely as it's a waste of +work).

    +
    +

    Providers

    +

    A Procedure that takes in no data but returns some data.

    +

    Fig 1:

    +
    +
    provider getInt() -> int {
    +    return 10;
    +}
    +
    +print(getInt());
    +
    +

    Output:

    +
    10
    +
    +
    +

    Lambdas & First Class Procedures

    +

    Claro opens you up to taking full advantage of functional programming techniques by allowing you to assign Procedures to +variables and to pass them around as data, allowing you to hand them off to be called later.

    +

    Defining Lambdas

    +

    Lambdas expressions look something like the examples below.

    +

    Fig 1:

    +
    +
    var f: function<int -> int> = x -> x + 1;
    +var c: consumer<int> = x -> { print(x); };
    +var p: provider<int> = () -> 10;
    +
    +
    +
    +

    Note: lambdas require explicit type annotations +, but Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression:

    +
    +

    Fig 2:

    +
    +
    var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };
    +
    +
    +

    First Class Procedure References

    +

    You may also reference named procedures as first-class data just like lambdas:

    +

    Fig 3:

    +
    +
    function add(x: int, y: int) -> int {
    +  return x + y;
    +}
    +
    +var applyBiConsumer =
    +    lambda (x: int, y: int, mapFn: function<|int, int| -> int>) -> {
    +        print(mapFn(x, y));
    +    };
    +
    +# Pass a reference to the `add()` function as a first class arg.
    +applyBiConsumer(10, 5, add); #15.
    +
    +

    Output:

    +
    15
    +
    +
    +

    Lambdas are Restricted "Closures"

    +

    A "closure" is an anonymous procedure that is able to capture long-lived references to the variables defined outside +the body of the lambda, importantly, keeping that reference even as the lambda itself leaves the scope. This is exactly +how Python or Java lambdas work, for example.

    +

    Unfortunately, this leads to hard-to-understand code as you end up with "spooky action at a distance" where calling a +lambda can cause some faraway data to be changed without necessarily realizing or intending for that to be happening. +This would be fatal for Claro's more advanced "Fearless Concurrency" goal, because it represents hidden mutable +state which would invalidate Claro's goals of guaranteeing that multithreaded code unable to run into data races.

    +

    So, to address these issues, when lambdas reference variables in outer scopes, the variables are captured as a local +copy of the current value referenced by that variable. Claro's Lambdas have no mechanism to mutate anything not +passed in as an explicit argument, and they cannot carry any mutable state.

    +

    Static Validation

    +

    Claro will statically validate that lambdas don't violate the above restrictions:

    +

    Fig 1:

    +
    +
    var i = 0;
    +var f = (x: int) -> int {
    +    i = x + i; # `i` is captured, and illegally updated.
    +    return i;
    +};
    +
    +

    Compilation Errors:

    +
    lambda_closures_EX1_example.claro:3: Illegal Mutation of Lambda Captured Variable: The value of all variables captured within a lambda context are final and may not be changed. This restriction ensures that lambdas do not lead to so-called "spooky action at a distance" and is essential to guaranteeing that Graph Procedures are data-race free by construction.
    +    i = x + i; # `i` is captured, and illegally updated.
    +    ^
    +Warning! The following declared symbols are unused! [f]
    +2 Errors
    +
    +
    +

    Captured Variables "Shadow" Variables in the Outer Scope

    +

    When a lambda captures a variable from the outer scope, the captured variable inside the lambda is effectively +completely independent from the original variable in the outer scope. It simply "shadows" the name of the outer scope +variable. In this way, lambdas are guaranteed to be safe to call in any threading context as thread-related ordering +alone can't affect the value returned by the lambda:

    +

    Fig 2:

    +
    +
    var i = 1;
    +var f = (x: int) -> int {
    +    # This lambda captures a **copy** of the variable `i`.
    +    return x + i;
    +};
    +
    +for (x in [0, 1, 5, 5]) {
    +  print("i:    {i}");
    +  print("f({x}): {f(x)}\n");
    +  i = i * 10;  # <-- This update of `i` is not observed by the lambda.
    +}
    +
    +

    Output:

    +
    i:    1
    +f(0): 1
    +
    +i:    10
    +f(1): 2
    +
    +i:    100
    +f(5): 6
    +
    +i:    1000
    +f(5): 6
    +
    +
    +

    Manually Emulating Traditional "Closures"

    +

    While Claro's design decisions around Lambdas make sense in the name of enabling "Fearless Concurrency", the +restrictions may seem like they prevent certain design patterns that may be completely valid when used carefully in a +single-threaded context. But worry not! You can of course implement "closure" semantics yourself (albeit in a more C++ +style with explicit variable captures).

    +

    Fig 3:

    +
    +
    newtype ClosureFn<State, Out> : struct {
    +  state: State,
    +  fn: function<State -> Out>
    +}
    +
    +function callClosure<State, Out>(closureFn: ClosureFn<State, Out>) -> Out {
    +  var toApply = unwrap(closureFn).fn;
    +  return toApply(unwrap(closureFn).state);
    +}
    +
    +var mutList = mut [1];
    +var getAndIncrClosure: ClosureFn<mut [int], int> =
    +  ClosureFn({
    +    state = mutList,
    +    fn = l -> {
    +      var res = l[0];
    +      l[0] = l[0] + 1; # Update the "captured" state.
    +      return res;
    +    }
    +  });
    +
    +print(mutList);                        # mut [1]
    +print(callClosure(getAndIncrClosure)); # 1
    +print(callClosure(getAndIncrClosure)); # 2
    +print(callClosure(getAndIncrClosure)); # 3
    +# "Spooky Action at a Distance" mutating `mutList` on the lines above when
    +# `mutList` was never directly referenced.
    +print(mutList);                        # mut [4]
    +
    +

    Output:

    +
    mut [1]
    +1
    +2
    +3
    +mut [4]
    +
    +
    +
    +

    Note: The beauty of this design is that even though Claro doesn't prevent you from emulating traditional "closures" +on your own if you so chose, Claro can still statically identify that this ClosureFn<State, Out> type is unsafe for +multithreaded contexts and will be able to prevent you from using this to create a data race!

    +
    +

    Generics

    +

    Oftentimes, you'll find that some code patterns keep coming up over and over and you'll want to find same way to factor +out the major commonalities in logic from the minor specific details that you'd want to just plug in as needed. For +example, you might realize that you're writing loops to filter lists based on conditions all over your code; the only +difference between the implementation in any of these occurrences of filtering being the element types and the specific +condition. But because you want to filter lists of all kinds of types you might not immediately think you could write a +single function that could be called wherever filtering is needed. Enter Generics!

    +

    Fig 1:

    +
    +
    function reduce<A, B>(l: [A], fn: function<|B, A| -> B>, accum: B) -> B {
    +  for (e in l) {
    +    accum = fn(accum, e);
    +  }
    +  return accum;
    +}
    +
    +
    +

    The function reduce<A, B>(...) is defined to take a list of elements of some arbitrary (generic) type, A, and an +accumulation function that takes in the current accumulated value, of type B, and the current element of that generic +type, A. In this example, the particular types A and B are "unconstrained". The only constraint is the typical +constraint that the given function's first arg must have the same type as the initial accumulated value, and the second +arg must have the same type as the elements of the reduced list.

    +

    So, the generic types take on the "concrete" types of the data that happens to be passed into the function's callsite:

    +

    Fig 2:

    +
    +
    var sum: int = reduce([1, 2, 3, 4], lambda (accum, x) -> accum + x, 0);
    +
    +var totalChars: int =
    +  reduce(
    +    ["Count", "the", "total", "chars", "in", "these", "strings"],
    +    lambda (accum, s) -> accum + len(s),
    +    0
    +  );
    +
    +print(sum);
    +print(totalChars);
    +
    +

    Output:

    +
    10
    +32
    +
    +
    +

    Contracts

    +

    Consider the example of the generic function:

    +

    Fig 1:

    +
    +
    function filter<A>(l: [A], pred: function<A -> boolean>) -> [A] {
    +  # ...
    +  return [a | a in l where pred(a)];
    +}
    +
    +
    +

    If you really squint, you might notice that there's very little information available in the body of the +filter<T>(...) function to tell you about the type T. As a result, you're unable to do much with values of such an +unconstrained generic type beyond passing the value along to another generic function accepting an unconstrained generic +arg, or putting it into some collection defined over the same generic type. This would be very limiting if this was +all that could be done with generics.

    +

    Enter Contracts! It will take a bit of a buildup, but we should be able to write generic functions that will be able +to put constraints on the acceptable types, for example saying something like "this procedure will accept any type, T, +for which the function foo(arg1: T, arg2: T) exists."

    +

    For example, we should be able to write the following generic function:

    +

    Fig 2:

    +
    +
    requires(Operators<T>)    # <-- What is this `requires(...)`?
    +function sum<T>(l: [T]) -> T {
    +    var res = l[0];
    +    var i = 0;
    +    while (++i < len(l)) {
    +        res = Operators::add(res, l[i]); # <-- What is this `Operators::add`?
    +    }
    +    return res;
    +}
    +
    +
    +

    The function above has a new requires(...) clause in the signature which we haven't seen before. This is the mechanism +by which a function constrains the set of types that may be passed into this function to only types that definitely have +a certain associated procedure implementation existing. The requires(...) clause takes in a list of "Contracts" that +must be implemented over the generic type. In this case that contract's definition looks like:

    +

    Fig 3:

    +
    +
    contract Operators<X> {
    +    function add(lhs: X, rhs: X) -> X;
    +}
    +
    +
    +

    This Contract specifies a single function signature that any implementation of this Contract must implement. Other +Contracts may specify more than one signature, or even more than one generic type param. There are no restrictions on +where the generic Contract param(s) may be used in the procedure signatures, so it may even be included in the return +type as shown in the example above.

    +

    The only requirement on signatures is that each one must make use of each generic arg type listed in the +Contract's signature. This is mandatory as Claro looks up the particular implementations by inspecting the arg types +provided at the Contract procedure's call-sites.

    +

    Contracts are Not Interfaces

    +

    Coming from an Object-Oriented background, you may be tempted to compare Contracts to "Interfaces", but you'll find that +while they may be used to a similar effect, they are not the same thing. The intention of an "Interface" is to encode +subtyping relationships between types, whereas Claro has absolutely no notion of subtyping. All defined types are +strictly independent of one another. Claro asks you to simplify your mental model and simply think of Contracts as a +mechanism for encoding a required bit of functionality that needs to be implemented uniquely over values of unrelated, +arbitrary (generic) types.

    +

    Implementing a Contract

    +

    Simply defining a contract is not sufficient to actually be useful, however, since the definition itself doesn't provide +any logic. So, to actually use a Contract, we must implement it for a certain (set of) concrete type(s):

    +

    Fig 1:

    +
    +
    implement Operators<int> {
    +    function add(lhs: int, rhs: int) -> int {
    +        return lhs + rhs;
    +    }
    +}
    +
    +implement Operators<string> {
    +    function add(lhs: string, rhs: string) -> string {
    +        return "{lhs}{rhs}";
    +    }
    +}
    +
    +
    +

    Now that you have implementations, you can either call them directly:

    +

    Fig 2:

    +
    +
    print(Operators::add(10, 20));
    +print(Operators::add("Hello, ", "world"));
    +
    +

    Output:

    +
    30
    +Hello, world
    +
    +
    +

    Or, even more valuable, you can also call the generic sum function from the +previous section over concrete types int or string because the requirements are +met for both!

    +

    Fig 3:

    +
    +
    print(sum([1, 2, 3]));
    +print(sum(["a", "bc", "d"]));
    +
    +

    Output:

    +
    6
    +abcd
    +
    +
    +

    In this way, Claro's Contracts interact with Generics to create a powerful form of code reuse where custom behavior can +be uniquely dictated by type information. And, unlike in an Object-Oriented language, this code reuse did not rely on +creating any subtyping relationships.

    +

    A Note on Static Dispatch via "Monomorphization"

    +

    As a performance note - even beyond the conceptual simplification benefits of avoiding dependence on subtyping +relationships to achieve custom behaviors, Claro also achieves performance gains through its ability at compile-time to +statically know which custom Contract implementation will be called. In the Object-Oriented approach, generally +speaking the procedure receiving an arg of an interface type doesn't know which particular implementation will be called +at runtime. This leads to the situation where a runtime "dispatch table"/"vtable" lookup is required to determine which +particular implementation to call for each particular value passed into the procedure. Claro is a "monomorphizing" +compiler, meaning that during compilation each Generic Procedure has a customized implementation codegen'd for each set +of concrete types the procedure is actually called with. In this way, there's no runtime dispatch overhead when types +are statically known (which is always true unless you're explicitly calling a generic procedure over a oneof<...> +type - but in this case you're consciously opting into dynamic dispatch overhead).

    +

    Generic Return Type Inference

    +

    One very interesting capability that you get from the combination of Claro's bidirectional type inference and generics +is the ability to infer which Contract implementation to defer to based on the expected/requested return type at a +procedure call-site. Let's get more specific.

    +

    Fig 1:

    +
    +
    contract Index<T, R> {
    +    function get(l: T, ind: int) -> R;
    +}
    +
    +implement Index<[int], int> {
    +    function get(l: [int], ind: int) -> int {
    +        return l[ind];
    +    }
    +}
    +
    +atom IndexOutOfBounds
    +newtype SafeRes<T> : oneof<T, std::Error<IndexOutOfBounds>>
    +
    +implement Index<[int], SafeRes<int>> {
    +    function get(l: [int], ind: int) -> SafeRes<int> {
    +        if (ind >= 0 and ind < len(l)) {
    +            return SafeRes(l[ind]);
    +        }
    +        return SafeRes(std::Error(IndexOutOfBounds));
    +    }
    +}
    +
    +
    +

    For the above implementations of Index<T, R>, you'll notice that each function, Index::get, only differs in its +return type but not in the arg types. So, Claro must determine which implementation to defer to by way of the +contextually expected return type. This, I believe leads to some very convenient ergonomics for configurability, though +the onus for "appropriate" use of this feature is a design decision given to developers.

    +

    Fig 2:

    +
    +
    var l = [1,2,3];
    +
    +var unsafeRes: int = Index::get(l, 1);
    +var safeRes: SafeRes<int> = Index::get(l, 1);
    +
    +print(unsafeRes);
    +print(safeRes);
    +
    +safeRes = Index::get(l, 10);
    +print(safeRes);
    +
    +# Out of bounds runtime err.
    +# unsafeRes: int = Index::get(l, 10);
    +
    +

    Output:

    +
    2
    +SafeRes(2)
    +SafeRes(Error(IndexOutOfBounds))
    +
    +
    +

    Ambiguous Calls

    +

    As described in further detail in the section on +Required Type Annotations, +certain generic procedures that return a value of a generic type may require the call to be explicitly constrained by +context. In particular, this will be the case when the generic type does not appear in any of the procedure's declared +arguments.

    +

    For example, calling the above Index::get Contract Procedure will statically require the "requested" return type to be +statically constrained by context:

    +

    Fig 3:

    +
    +
    # Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?
    +var ambiguous = Index::get(l, 10);
    +
    +

    Compilation Errors:

    +
    generic_return_type_inference_EX3_example.claro:2: Ambiguous Contract Procedure Call: Calls to the procedure `Index$<T, R>::get` is ambiguous without an explicit type annotation to constrain the expected generic return type `R`.
    +var ambiguous = Index::get(l, 10);
    +                ^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    Ambiguity via Indirect Calls to Contracts

    +

    Note that while this specific ambiguity can only possibly arise as a result of calls to a Contract procedure, even +indirect calls can cause this problem:

    +

    Fig 4:

    +
    +
    requires(Index<C, R>)
    +function pickRandom<C, R>(collection: C, maxInd: int) -> R {
    +  return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));
    +}
    +
    +# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?
    +var ambiguous = pickRandom([1, 2, 3], 10);
    +
    +

    Compilation Errors:

    +
    generic_return_type_inference_EX4_example.claro:7: Invalid Generic Procedure Call: For the call to the following generic procedure `pickRandom` with the following signature:
    +		`function<|[int], int| -> R> Generic Over {[int], R} Requiring Impls for Contracts {Index$<[int], R>}`
    +	The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.
    +var ambiguous = pickRandom([1, 2, 3], 10);
    +                ^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    Again, you can resolve this issue by explicitly declaring the "requested" return type:

    +

    Fig 5:

    +
    +
    requires(Index<C, R>)
    +function pickRandom<C, R>(collection: C, maxInd: int) -> R {
    +  return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));
    +}
    +
    +# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?
    +var unambiguous: SafeRes<int> = pickRandom([1, 2, 3], 10);
    +print(unambiguous);
    +
    +

    Output:

    +
    SafeRes(Error(IndexOutOfBounds))
    +
    +
    +

    Copying Data

    +

    In the course of writing software, it can be very common that you'll need to copy some data. In particular, when dealing +with collections that are either themselves mutable, or contain mutable elements, copying can be needed so that one copy +of the data can be updated while leaving the other unchanged.

    +

    However, you may find that many languages (e.g. Java/C++) make this extremely simple task prohibitively difficult +requiring planning ahead to explicitly implement copying support on every data type that you think you'll want to copy +in the future. To address this, Claro supports deep copying out-of-the-box with the builtin copy(...) function.

    +

    Fig 1:

    +
    +
    var l = mut [1, 2, 3];
    +var myCopy = copy(l);
    +
    +print("Before update:");
    +print("l:      {l}");
    +print("myCopy: {myCopy}");
    +
    +myCopy[2] = -99999;
    +
    +print("\nAfter update:");
    +print("l:      {l}");
    +print("myCopy: {myCopy}");
    +
    +

    Output:

    +
    Before update:
    +l:      mut [1, 2, 3]
    +myCopy: mut [1, 2, 3]
    +
    +After update:
    +l:      mut [1, 2, 3]
    +myCopy: mut [1, 2, -99999]
    +
    +
    +

    Deep Copying

    +

    Claro's builtin copy(...) function performs a deep copy, meaning that the entire nested structure is traversed +and copied (as needed). The below example copies some nested data and demonstrates that the resulting internal data can +be mutated in isolation:

    +

    Fig 2:

    +
    +
    var original = {left = mut (1, [10]), right = (["aaa"], mut ["bbb"])};
    +var copied = copy(original);
    +
    +print(original);
    +print(copied);
    +print("");
    +
    +copied.left[0] = -99;
    +copied.right[1][0] = "MODIFIED";
    +
    +print(original);
    +print(copied);
    +print("");
    +
    +

    Output:

    +
    {left = mut (1, [10]), right = ([aaa], mut [bbb])}
    +{left = mut (1, [10]), right = ([aaa], mut [bbb])}
    +
    +{left = mut (1, [10]), right = ([aaa], mut [bbb])}
    +{left = mut (-99, [10]), right = ([aaa], mut [MODIFIED])}
    +
    +
    +

    Mutability Coercion on Copy

    +

    Claro's builtin copy(...) function supports the ability to coerce the mutability of the data being copied. This is +primarily a matter of convenience to, in as many cases as possible, avoid Claro programmers to needing to manually write +custom copy implementations.

    +

    In order to convey that a mutability coercion is being requested, the return type of the copy(...) call simply needs +to be constrained to some variant of the original value's type with mutability annotations updated as desired. Claro +will automatically codegen the appropriate logic to perform the requested copying + coercion. Note that this feature +relies on compile-time knowledge to ensure that any coercions would not actually invalidate any language semantics or +violate type system rules.

    +

    In the below example, a mut [[int]] is copied, with the type simultaneously coerced to [mut [int]]:

    +

    Fig 1:

    +
    +
    var original = mut [[1, 2, 3], [4, 5], [6]];
    +var coercedCopy: [mut [int]] = copy(original);
    +type(coercedCopy);
    +print("Elements of `coercedCopy` match `original`?: {checkElementsMatch(original, coercedCopy)}\n");
    +
    +# Now demonstrate that the lists are now independent.
    +print("Before mutation -");
    +print("original:    {original}");
    +print("coercedCopy: {coercedCopy}\n");
    +
    +original[0]       = [-11111111];
    +coercedCopy[0][0] = -22222222;  # <-- Outer list is now immutable, so modifying now mutable inner list.
    +
    +print("After mutation -");
    +print("original:    {original}");
    +print("coercedCopy: {coercedCopy}");
    +
    +function checkElementsMatch(original: mut [[int]], coercedCopy: [mut [int]]) -> boolean {
    +  # ...
    +  var i = 0;
    +  while (i < len(original)) {
    +    var j = 0;
    +    while (j < len(original[i])) {
    +      if (original[i][j] != coercedCopy[i][j]) {
    +        return false;
    +      }
    +      ++j;
    +    }
    +    ++i;
    +  }
    +  return true;
    +}
    +
    +

    Output:

    +
    [mut [int]]
    +Elements of `coercedCopy` match `original`?: true
    +
    +Before mutation -
    +original:    mut [[1, 2, 3], [4, 5], [6]]
    +coercedCopy: [mut [1, 2, 3], mut [4, 5], mut [6]]
    +
    +After mutation -
    +original:    mut [[-11111111], [4, 5], [6]]
    +coercedCopy: [mut [-22222222, 2, 3], mut [4, 5], mut [6]]
    +
    +
    +

    Mutability Coercion Can Apply to Type Parameters of a User Defined Type

    +

    It's worth noting explicitly that Claro's newtype declarations statically encode the mutability any collections they +happen to wrap. Claro's builtin copy(...) cannot be used to invalidate these explicit mutability declarations, +for example:

    +

    Fig 2:

    +
    +
    # There's nothing that can possibly be done to make Foo<T> wrap a mutable list.
    +newtype Foo<T> : [T]
    +
    +
    +

    However, parameterized User Defined Types may accept any concrete type in the place of the generic type parameter, and +Claro's builtin copy(...) function can be used to do mutability coercion on these values.

    +

    The below example demonstrates setting the concrete type T = mut tuple<string, int> meaning that Foo<T> originally +wraps the type [mut tuple<string, int>]. Then, upon copying the original value, the type is coerced to +T = tuple<string, int> resulting in Foo<T> wrapping the deeply immutable type [tuple<string, int>]:

    +

    Fig 3:

    +
    +
    newtype Foo<T> : [T]
    +
    +var original: Foo<mut tuple<string, int>> = Foo([mut ("original", 1)]);
    +var coercedCopy: Foo<tuple<string, int>> = copy(original);
    +
    +unwrap(original)[0][0] = "UPDATED";
    +unwrap(original)[0][1] = 2;
    +
    +print("original:    {original}");
    +print("coercedCopy: {coercedCopy}");
    +
    +

    Output:

    +
    original:    Foo([mut (UPDATED, 2)])
    +coercedCopy: Foo([(original, 1)])
    +
    +
    +

    Performance Optimizations

    +

    As Claro's builtin copy(...) performs a deep copy, performance becomes an important consideration when data can +become arbitrarily large (whether as a result of a deeply nested type or not). Fortunately, Claro is able to perform one +significant optimization that can have an incredible effect on the runtime performance of copying large data structures.

    +

    Claro's copy(...) is Aware of Mutability

    +

    The key observation that enables this performance optimization is that, as Claro does not expose a value's memory +location to users, if a piece of data is deeply-immutable (and in a few other situations that Claro takes advantage of), +there is no possible way to distinguish between the two situations below:

    +
      +
    1. having equal values located at different addresses in memory
    2. +
    3. having "shared references" to the exact same value in memory
    4. +
    +
    +

    Note: This exact same observation underpins Claro's "Fearless Concurrency" guarantees.

    +

    (TODO(steving) Link to section explicitly explaining the fact that Graph procedure inputs must be deeply immutable.)

    +
    +

    Claro takes advantage of this fact to generate the most efficient possible code to copy the specific type in question. +It does so by eliminating any actual copying of deeply immutable data found nested anywhere within a copied value.

    +

    For example, take the below mutable list containing immutable lists. When it is copied, a new mutable list must +be initialized to represent the outer list so that the original and copied values may be mutated independently. However, +the internal immutable lists can just be referenced directly in the copied list (thus establishing what are known as +"shared references" to the underlying memory).

    +

    Fig 1:

    +
    +
    var original = mut [[1, 2, 3], [4, 5], [6]];
    +var copied = copy(original);
    +
    +print(original);
    +print(copied);
    +
    +

    Output:

    +
    mut [[1, 2, 3], [4, 5], [6]]
    +mut [[1, 2, 3], [4, 5], [6]]
    +
    +
    +

    Demonstrating the Performance Win

    +

    Again, I'll reiterate that it's impossible to directly observe from Claro code itself that this optimization has taken +place as Claro doesn't provide any mechanism for actually checking a value's memory address. So, instead, I'll try to +demonstrate indirectly that this optimization must actually be occurring.

    +

    The below example sets up an experiment where a very large, nested list is populated and then copied twice. The first +copy is done manually using list comprehension. Then, the second copy uses the builtin copy(...). Each copy is timed +to get a sense of the impact of this optimization.

    +

    To make things interesting, the outermost level of the list is mutable so that the overall copy is not a no-op. +However, the performance gain comes from being able to avoid the unnecessary copies all of the inner lists.

    +
    +

    Note: I'm not claiming that this is a real "benchmark" of any sort - just that this broadly demonstrates the claim.

    +
    +

    Fig 2:

    +
    +
    # Claro's list comprehension needs to support unused elem variable: [someExpr | _ in coll]
    +function discardFirst<A,B>(a: A, b: B) -> B {
    +  _ = a;
    +  return b;
    +}
    +var numbers: mut [int] = mut [];
    +lists::ensureCapacity(numbers, 1000);
    +var i = 0;
    +while (i++ < 1000) {
    +  lists::add(numbers, i);
    +}
    +var GIANT_TEST_LIST: mut [[[int]]] = mut [];
    +repeat (100) {
    +  var innerList = [discardFirst(unused, [x | x in numbers]) | unused in numbers];
    +  lists::add(GIANT_TEST_LIST, innerList);
    +}
    +
    +# Compute the number of ints in the test list.
    +print("GIANT_TEST_LIST dimensions: {len(GIANT_TEST_LIST)}x{len(GIANT_TEST_LIST[0])}x{len(GIANT_TEST_LIST[0][0])}\n");
    +
    +# Now, manually copy the test lest using list comprehension.
    +var firstTestStart = instant::now();
    +var manuallyCopied = mut [[[x | x in l2] | l2 in l1] | l1 in GIANT_TEST_LIST];
    +var firstTestEnd = instant::now();
    +
    +# Now, copy using the builtin `copy(...)` function.
    +var secondTestStart = instant::now();
    +var efficientlyCopied = copy(GIANT_TEST_LIST);
    +var secondTestEnd = instant::now();
    +
    +# Let's see approximately how much time each took!
    +var MILLIS_PER_SECOND = 1000.0;
    +var NANOS_PER_SECOND = 1000000000.0;
    +duration::between(firstTestStart, firstTestEnd)
    +  |> duration::toMillis(^)
    +  |> print("Manual copy time:  {^/MILLIS_PER_SECOND} seconds");
    +duration::between(secondTestStart, secondTestEnd)
    +  |> duration::toNanos(^)
    +  |> print("Builtin copy time: {^/NANOS_PER_SECOND} seconds");
    +
    +# Now just to really finish the demonstration, let's confirm that these copies actually contain equal elements to the
    +# giant copied list.
    +print("\nmanuallyCopied == GIANT_TEST_LIST:    {manuallyCopied == GIANT_TEST_LIST}");
    +print("efficientlyCopied == GIANT_TEST_LIST: {efficientlyCopied == GIANT_TEST_LIST}");
    +
    +

    Output:

    +
    GIANT_TEST_LIST dimensions: 100x1000x1000
    +
    +Manual copy time:  2.679 seconds
    +Builtin copy time: 1.28E-4 seconds
    +
    +manuallyCopied == GIANT_TEST_LIST:    true
    +efficientlyCopied == GIANT_TEST_LIST: true
    +
    +
    +

    Known copy(...) Bugs

    +

    Currently Claro's copy implementation suffers from two different implementation problems that will be resolved in a +future release. I'll describe them below just for the sake of clarity.

    +
    Please feel free to reach out if you'd like to help to address these bugs!
    +

    Compiler Stack Overflows on Copying Recursive Types

    +

    Currently, the Claro compiler doesn't do any special handling of recursively defined types, and so as it attempts to +generate code for an inlined copy of a recursive type, it ends up infinitely looping over the codegen phase.

    +

    Fig 1:

    +
    +
    # This type is recursive (with int as its "bottom" to terminate recursion).
    +newtype ComplexData : oneof<int, tuple<ComplexData, ComplexData>, {ComplexData}>
    +
    +function generateRandomComplexData(rng: random::RandomNumberGenerator, maxDepth: int) -> ComplexData {
    +  # ...
    +  return generateRandomComplexData_impl(rng, 0, maxDepth);
    +}
    +
    +function generateRandomComplexData_impl(rng: random::RandomNumberGenerator, currDepth: int, maxDepth: int) -> ComplexData {
    +  if (currDepth == maxDepth) {
    +    return ComplexData(-1); # Let's just avoid attempting to create some infinitely large data structure.
    +  }
    +  var next = lambda () -> ComplexData { return generateRandomComplexData_impl(rng, currDepth + 1, maxDepth); };
    +  match (random::nextNonNegativeBoundedInt(rng, 3)) {
    +    case 0 -> # int
    +      return ComplexData(random::nextNonNegativeBoundedInt(rng, 100));
    +    case 1 -> # tuple<ComplexData, ComplexData>
    +      return ComplexData((next(), next()));
    +    case _ -> # {ComplexData}
    +      return ComplexData({next(), next(), next()});
    +  }
    +}
    +
    +var someComplexData = generateRandomComplexData(random::forSeed(3), 3);
    +print(someComplexData);
    +
    +# KNOWN COMPILER BUG: CURRENTLY CLARO IS UNABLE TO CORRECTLY GENERATE COPY LOGIC OVER RECURSIVE TYPES!
    +#     This currently causes the compiler to stack overflow. This will be resolved in a future release.
    +# var copied = copy(someComplexData);
    +# print(copied);
    +
    +

    Output:

    +
    ComplexData({ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(81), ComplexData(2), ComplexData(64)}), ComplexData({ComplexData(37), ComplexData(6), ComplexData((ComplexData(-1), ComplexData(-1)))})})
    +
    +
    +

    In the future, this will be fixed by statically identifying when a recursive type is being copied, and then generating +a custom copy function for that particular type that will actually recurse at runtime rather than at compile time. +Note, this will put the onus on the programmer to ensure that they never call copy(...) on any cyclical data +structure.

    +

    Generated Copy Logic Severs Shared References to Mutable Data

    +

    Potentially more nefarious than the previous bug, Claro's current copy implementation handles the copying of shared +references to mutable data in a way that is potentially likely to cause confusion or lead to bugs. A piece of nested +data that contains multiple fields of the same mutable type has the potential to contain shared references to the +same mutable value. This is a semantically meaningful feature, not just some esoteric feature of the low-level +memory layout. Mutation of this shared mutable data will be observable via each reference in the containing structure. +Problematically, when a copy is made, every single mutable value within the entire recursive structure will be +guaranteed to have a single, unique reference. This may be a useful guarantee in some contexts, but I believe that this +goes against Claro's goals of being as unsurprising as possible.

    +

    The copied data should have the exact same semantics as the original data that it was derived from, but in this one +subtle way that is not currently the case. This will be fixed in a future release.

    +

    Fig 2:

    +
    +
    var X = mut [99];
    +var l1 = [X, X];
    +var l2 = copy(l1);
    +print("l1: {l1}");
    +print("l2: {l2}");
    +
    +l1[0][0] = -1;
    +print("\nl1: {l1}  # <-- Notice that both list elements have updated after a single write to the shared reference.");
    +print("l2: {l2}");
    +
    +l2[0][0] = -2;
    +print("\nl1: {l1}");
    +print("l2: {l2}  # <-- This is arguably a bug. The shared reference was severed.");
    +
    +

    Output:

    +
    l1: [mut [99], mut [99]]
    +l2: [mut [99], mut [99]]
    +
    +l1: [mut [-1], mut [-1]]  # <-- Notice that both list elements have updated after a single write to the shared reference.
    +l2: [mut [99], mut [99]]
    +
    +l1: [mut [-1], mut [-1]]
    +l2: [mut [-2], mut [99]]  # <-- This is arguably a bug. The shared reference was severed.
    +
    +
    +

    Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions

    +

    User Defined Types support the declaration of initializers that restrict the usage of the type's default constructor +to only the procedures defined within the initializers block. Claro's builtin copy(...) currently provides a +backdoor to initialize and instance of a user defined type without actually using one its initializers.

    +

    This is fortunately of limited impact as the worst thing a user can do is create instances with a mutability declaration +that the type would otherwise not support. But regardless, this will be addressed in a future release.

    +

    Fig 3:

    +
    +
    newtype Foo<T> : T
    +
    +initializers Foo {
    +  # Calling this function should be the **only** way to get an instance of Foo<T>.
    +  function getFooForInts(ints: [int]) -> Foo<[int]> {
    +    return Foo(ints);
    +  }
    +}
    +
    +var original: Foo<[int]> = getFooForInts([0, 1, 2]);
    +
    +# The fact that this is somehow permitted is arguably a bug... why are you able
    +# to initialize a Foo<T> without invoking the declared initializer?? This seems
    +# to break the semantic intent of declaring initializers to restrict the direct
    +# instantiation of user defined types to have to "go through the front door".
    +var coercedCopy: Foo<mut [int]> = copy(original);
    +print(coercedCopy);
    +
    +

    Output:

    +
    Foo(mut [0, 1, 2])
    +
    +
    +

    Concurrency

    +

    There is one remaining significant factor that a programming language should provide builtin mechanisms for in order to +enable programmers to develop very highly performant code that can take full advantage of the available CPU hardware: +concurrency.

    +

    Sometimes you have already squeezed every last drop of performance out of your algorithmic designs, or you are +constrained by waiting for slow operations to complete (DB requests, networked API calls, file I/O) before your program +may even make progress through its workload. In these situations, often the only way possible to get more work done is +to do more than one thing at the same time.

    +

    In order to achieve this, Claro asks you to first think about the dependencies between the various steps in your desired +workflow. These dependencies come in the form of data, so you should be asking yourself, "At any given step in my +workflow, what data do I need to be available in order to make the decisions I'll need to make or to take the actions +needed?". When you start to reason in this way, you will likely come across opportunities where certain components of +your workflow are completely independent, in the sense that they do not rely at all upon the same data in order to do +their work. Examples of this are easy to see in web service request handling (each reg can typically be handled +independently of any others), or if you look a bit closer it can also be seen in MapReduce style batch processing (the +large input is partitioned for the workers to map independently of other partitions. There will be many more examples, +but the key takeaway is that if these work items can be partitioned to be completely independent like this, then they +should be run at exactly the same time rather than sequentially. In a single-machine context, you achieve this by using +multiple threads to execute your program, or portions of your program, concurrently.

    +

    Unfortunately, using threads is known to have inherent dangers. Mistakes with threaded programs have been known to +cause "deadlocking" or other issues where a program becomes completely stock and is unable to make forward progress. +Alternatively, you may run into "data races" where multiple threads attempt to read/write the same shared data +simultaneously, each not knowing that another thread may be impacting or be impacted by the state change - this leads to +consistency problems where threads end up operating on stale, corrupted, or inconsistent data. These have tended to be +reasons for people to fully avoid working with multithreaded code at all - but that caution is just leaving performance +on the table. Thankfully, Claro addresses these issues and provides convenient, fearless concurrency!

    +

    Graph Procedures

    +

    A Graph Procedure is much like a regular Procedure, with the only difference coming in how you structure code in +the body. As its mame implies, the body of a Graph Procedure will be structured as a graph of operations. Specifically +it is a DAG (directed-acyclic-graph) where each node in the DAG represents some isolated unit of work which may depend +on data produced by one or more other nodes and will produce its own resulting data. This structure is inherently +parallelizable as Claro can analyze the provided DAG to schedule nodes to run as soon as possible once all of the data +depended on by that node is ready. If any two nodes happen to have all of their dependent data ready at the same time, +then Claro may schedule those nodes to run concurrently.

    +

    In fact, not only does Claro enable concurrency, it actually is able to create the optimal schedule to run your nodes. +You don't need to think about scheduling at all, simply encode the data relationships between your operations, and Claro +does the rest.

    +

    All of this is achieved by scheduling nodes to run cooperatively on a threadpool currently configured to have a single +thread per CPU core (as of this writing, this default is the only option, but it will become configurable in the +future (i.e. Google Java services default to 50 request threads)). This allows you to trivially achieve significantly +better utilization of your available hardware resources than single threaded code, and much more safely and more easily +than can generally be achieved with a handcrafted threaded program.

    +

    The example below shows syntax vs DAG visualization:

    +

    Fig 1:

    +
    +
    graph function getWatchlist(userId: UserId) -> future<Watchlist> {
    +    root recWatchlist <- mergeTopTen(@movies, @shows);
    +    node movies <- getTopMovies(@profile);
    +    node shows <- getTopShows(@profile);
    +    node profile <- getUserFromDB(userId);
    +}
    +
    +
    +

    As you can see clearly in the diagram below, profile must run first but movies and shows may be computed +concurrently:

    +
    +    graph TD
    +    profile(profile) --> movies
    +    profile --> shows
    +    movies(movies) --> recWatchList
    +    shows(shows) --> recWatchList
    +
    +

    Graph Procedure Composition

    +

    Great! Now Graph Procedures have given us free concurrency just by structuring our code declaratively rather than +imperatively. But as we'd realistically only want to put a few nodes in a single Graph Procedure from a code maintenance +and readability point of view, how do we write DAGS that are larger than just a few nodes? Composition! By this I mean +simply calling another Graph Procedure from within the current one.

    +

    For Example:

    +

    Fig 1:

    +
    +
    graph function bar(argB: int, argC: C) -> future<BarRes> {
    +    root barRes <- doBar(@barA);
    +    node barA <- doBarA(@barB, @barC);
    +    node barB <- doBarB(argB);
    +    node barC <- doBarC(argC);
    +}
    +
    +
    +
    +    graph TD
    +    barC(barC) --> barA
    +    barB(barB) --> barA
    +    barA(barA) --> barRes
    +
    +

    Fig 2:

    +
    +
    graph function foo(argA: A) -> future<FooRes> {
    +    root fooRes <- doFoo(@fooA, @fooB);
    +    node fooA <- doFooA(@fooC);
    +    node fooB <- bar(10, @fooC); # <-- Graph Composition via Call to `bar`.
    +    node fooC <- doFooC(argA);
    +}
    +
    +
    +
    +    graph TD
    +    fooC --> fooA
    +    fooC --> fooB
    +    fooB --> fooRes
    +    fooA --> fooRes
    +
    +

    Because foo(...) includes a call to bar(...) as a subgraph, you can imagine that node fooB in graph foo actually +composes around the entire bar graph.

    +
    +graph TD
    +    fooC --> fooA
    +    fooC --> barC
    +    barRes --> fooRes
    +    subgraph fooB
    +        barC --> barA
    +        barB --> barA
    +        barA --> barRes
    +    end
    +    fooA --> fooRes
    +
    +

    This composition is extremely simple to understand in this way. The entire subgraph is started after all data +dependencies of the node wrapping it are ready.

    +

    Calling Graph Procedures

    +

    As you've already seen, if you call a Graph Procedure from within another Graph (composition) then Claro will +automatically handle the scheduling for you so that downstream nodes receive the value when it's ready. If you tried +calling a Graph Procedure from the top-level of a file, or from a non-Graph Procedure, then you'll see you receive a +value wrapped in a future<...>. This is because, as Claro follows the Async pattern for concurrent execution, some +nodes in the Graph Procedure may not be done running yet meaning that the overall Graph result may not be ready either.

    +

    For example, the getWatchlist Graph Procedure defined earlier could be +called as if it were a typical procedure call:

    +

    Fig 1:

    +
    +
    var someUserId: UserId = "Jake";
    +var graphRes: future<Watchlist> = getWatchlist(someUserId);
    +
    +
    +

    There's not much you can do with a future<...> as it's really just a handle representing work whose result you'd like +to be able to access when it's ready. In this situation (outside a Graph), as a future<...> represents some +computation that may not be done yet, the only way to get the actual result is to block the current thread until the +other threads running the graph backing the future<...> have finished. To do so, use the "blocking unwrap" op <-|:

    +

    Fig 2:

    +
    +
    var someUserId: UserId = "Jake";
    +var graphRes: Watchlist <-| getWatchlist(someUserId);
    +print(graphRes);
    +
    +

    Output:

    +
    Watchlist([{name = Arrival}, {name = Doctor Who, episodeCount = 1000}])
    +
    +
    +

    Graphs Execute off the "Main" Thread

    +

    The number one thing to keep in mind is that between calling a Graph and blocking on its result, any operations between +may be running concurrently with the graph backing the future<...> (you don't know when the graph actually finishes +except that it will certainly have finished after the <-| operation).

    +

    Fig 3:

    +
    +
    var graphFuture: future<Foo> = fooGraph(...);
    +
    +# These two instructions are likely running concurrently with respect to
    +# `graphFuture`, as `graphFuture` likely hasn't finished yet, but they are
    +# definitely serialized with respect to each other.
    +doSomething(...);
    +doAnotherThing(...);
    +
    +# Blocking the current thread to "unwrap" the `future<Foo>` into a raw `Foo`
    +# value we can operate on.
    +var graphRes: Foo <-| graphFuture;
    +
    +
    +

    (Advanced) Conditional Subgraph Execution

    +

    There will be times when you actually only want to execute some portion of the graph upon satisfying some condition. +In this case, you may inject the node to a procedure expecting a provider<future<...>> so that you may conditionally +trigger execution yourself after checking the condition:

    +

    Fig 1:

    +
    +
    graph function getHomepage(userId : UserId) -> future<Homepage> {
    +    root homepage <- renderPage(@basePage, @maybeUpgradeBanner);
    +    node basePage <- getBasePageFromDB();
    +    node maybeUpgradeBanner
    +        <- getOptionalUpgradeBannerFromDB(
    +               @userIsPremium,
    +               @upgradeBanner  # <-- "Lazy Subgraph" injection requested.
    +           );
    +    node userIsPremium <- checkPremiumFromDB(userId);
    +    node upgradeBanner <- getUpgradeBannerFromDB(@specialOffers);
    +    node specialOffers <- getSpecialOffers();
    +}
    +
    +function getOptionalUpgradeBannerFromDB(
    +    alreadyPremium: boolean,
    +    getUpgradeBannerFromDBProvider: provider<future<Html>>
    +) -> future<Html> {
    +    if (alreadyPremium) {
    +        return futures::immediateFuture(getBasicBanner());
    +    }
    +    # Actually invoke the lazy subgraph here since the user isn't premium.
    +    return getUpgradeBannerFromDBProvider();
    +}
    +
    +function getUpgradeBannerFromDB(specialOffers: [Offer]) -> future<Html> {
    +  # ...
    +  # Just an example - real implementation would send DB query.
    +  _ = specialOffers;
    +  return futures::immediateFuture(Html("<div>some html</div>"));
    +}
    +
    +provider getSpecialOffers() -> future<[Offer]> {
    +  # ...
    +  # Just an example - real implementation would send an RPC to some downstream service.
    +  var res: [Offer] = [];
    +  return futures::immediateFuture(res);
    +}
    +
    +# ...
    +
    +
    +

    Read closely above. The getOptionalUpgradeBannerFromDB() function above expects an arg of type +provider<future<Html>> which is injected as a lazy subgraph rooted at node upgradeBanner. In this way, two of the +nodes within the overall getHomepage() graph will only run conditionally upon determining that the user is not already +a "premium" member.

    +
    +    graph TD
    +    basePage --> homePage
    +    maybeUpgradeBanner --> homePage
    +    userIsPremium --> maybeUpgradeBanner
    +    upgradeBanner -.-> maybeUpgradeBanner
    +    specialOffers -.-> upgradeBanner
    +    subgraph Conditional Subgraph
    +        upgradeBanner
    +        specialOffers
    +    end 
    +
    +

    Guaranteed Deadlock-Free Concurrency

    +

    One of Claro's most powerful advantages is that it is able to statically analyze your concurrent code to determine that +it is impossible to run into a deadlock at runtime.

    +

    A deadlock is a situation where a thread blocks its execution waiting for another thread to complete or for some other +action to complete before it can continue, but the other thread or action never completes thereby leaving the +waiting thread permanently blocked. Threads are not free, and effectively losing access to a deadlocked thread has +costlier implications than just losing that unit of work completing. Each thread costs about 1MB of RAM and in a server +application deployed with a fixed number of threads, losing even one can lead to cascading failures such as thread +starvation (having no more threads in a healthy state available do meaningful work) or simply falling behind on incoming +request handling, leading to a server decreasing its effective throughput, causing other servers to pick up the load ( +making them more likely to fail in turn) or just straight up dropping user requests returning errors to them and +degrading product experience.

    +

    To mitigate these risks at scale, high-throughput, low-latency services turn to the async concurrency pattern to +handle all operations in a non-blocking way. Claro's Graph Procedures implement the async pattern for you for free, +while statically validating that your concurrent code is entirely non-blocking. It does so by modeling every Graph +node as an async operation that will not even be started until after all of its data dependencies are resolved. Once a +node is ready for execution it will be scheduled on a threadpool with as many threads as available CPU cores (will be +configurable in the future).

    +

    In this way, calling a Graph Procedure is actually an extremely lightweight operation from the perspective of the +calling thread. The calling thread simply

    +
      +
    1. traverses the Graph (without executing any nodes)
    2. +
    3. composes a future<...> representing a handle to the work to be done by the Graph
    4. +
    5. submits the Graph to the Graph Executor to schedule on its threadpool when threads become available
    6. +
    +

    After these steps the calling thread is completely freed to move on, knowing that the work represented by the Graph +Procedure's returned future<...> will be handled by other threads. As a result, in a web server, after calling a +request handling Graph the service thread is free to just immediately move on to accepting new requests. The service +thread never needs to block to wait for request handling business logic to complete. Now, a server built using this +approach will no longer be bound by the number of incoming requests as it will be able to continuously schedule incoming +requests to be processed when Graph Executor threads become available. Of course, the server may still fail due to heavy +load, though this will end up coming from OOMs (out-of-memory errors) as the result of storing all of the queued +requests. Even so, as a general rule, this will happen much later than if you were to execute request handling logic +using thread blocking operations, and it will almost always degrade more gracefully when it does eventually reach its +limit.

    +

    The only concession that you, as a programmer, have to make is simply defining all of your concurrent logic inside a +Graph Procedure. Claro will then manage all of the scheduling for you, while enforcing that you never block one of the +Graph Executor threads (you may not use the <-| operator in any code transitively reachable from your Graph, or else +you'll receive a compiler error). To provide a single, well-lit path for safely designing scalable services in Claro, +the only available mechanism to access threads are Graph Procedures.

    +

    Blocking Procedures

    +

    Whereas other languages with some form of builtin concurrency mechanism may tend to make it harder to write async code +than blocking code, Claro is very intentional about inverting that balance. Make the good things easy and the bad things +hard. So, you may write blacking code in Claro, but as it's really only intended to be used in limited contexts, Claro +forces your hand. Any procedure that makes use of the <-| operator either directly or indirectly, must be explicitly +annotated to be blocking:

    +

    Fig 1:

    +
    +
    blocking function doBlocking(x: int) -> Bar<Foo> {
    +  # ...do stuff...
    +  var unwrappedGraphRes: Foo <-| fooGraph(x);  # <-- Blocking unwrap.
    +  # ...do stuff using `unwrappedGraphRes`...
    +  return # ...
    +    Bar(unwrappedGraphRes);
    +}
    +
    +
    +

    Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)

    +

    To prevent deadlocking, procedures annotated blocking may not be called from a Graph:

    +

    Fig 2:

    +
    +
    graph function attemptToDeferToBlockingFn(x: int) -> future<Bar<Foo>> {
    +  root noopRes <- @defer;
    +  node defer   <- doBlocking(x);  # <-- Illegal call to blocking procedure in Graph.
    +}
    +
    +

    Compilation Errors:

    +
    Graph Function attemptToDeferToBlockingFn function<int -> future<Bar<Foo>>> has illegal transitive dep on the following blocking procedures [doBlocking blocking function<int -> Bar<Foo>>]. Blocking is forbidden within a Graph Function in order to avoid deadlocking.
    +1 Error
    +
    +
    +

    Therefore, you can be confident that the threading implementation of any logic defined within a Graph Procedure will +certainly not suffer from liveliness issues in the form of deadlocks (of course, you may still write code with bugs such +as infinite loops that may lead to a "livelock").

    +

    Re: "What Color is Your Function?"

    +

    (For context, the blog post +"What Color is Your Function?" by Bob +Nystrom is highly recommended reading.)

    +

    Unfortunately, introducing the blocking procedure type variant has the effect of "coloring" all functions that +transitively reach a blocking procedure. This ends up being a problem for any code that provides some generic +functionality over first-class procedure arguments that we would ideally like to be able to reuse and call from any +context, whether blocking or not.

    +

    Take, for example, Functional Programming's common filter function with the following signature:

    +

    Fig 1:

    +
    +
    function filter<T>(l: [T], pred: function<T -> boolean>) -> [T];
    +
    +
    +

    As currently defined, the filter function with the above signature could only be used over non-blocking pred +function args. You'd need to write a duplicate function explicitly accepting a blocking pred function in its signature +if you wanted to filter lists using a pred function that makes use of blocking operations:

    +

    Fig 2:

    +
    +
    blocking function filterBlocking<T>(l: [T], pred: blocking function<T -> boolean>) -> [T];
    +
    +
    +

    This duplication would be pervasive throughout functional-style code, and would discourage using functional-style at +all. Both of which are very undesirable outcomes. So, Claro handles this using one more form of generics inspired +by Rust's Keyword Generics Initiative, +"Blocking Generics".

    +

    (Advanced) Blocking Generics

    +

    You're able to define a procedure whose "blocking"-ness is generically determined by the type of the first-class +procedure arg that the function is called with. Taking inspiration +from Rust's Keyword Generics Initiative, a +Claro procedure may be declared "Blocking-Generic" with the following syntax:

    +

    Fig 1:

    +
    +
    # Explicitly annotate which arg(s) are blocking-generic.
    +blocking:pred function filter<T>(
    +    l: [T],
    +    pred: blocking? function<T -> boolean>  # <-- Accepting a blocking-generic function arg.
    +) -> [T] {
    +  return [x | x in l where pred(x)];
    +}
    +
    +
    +

    Now, with only a single implementation of your filter function, calls may be statically determined to be either a +blocking or non-blocking call depending on the type of the passed pred function arg. So now, from within a Graph, you +may call this "blocking-generic" function as long as you pass in a non-blocking pred function.

    +

    Fig 2:

    +
    +
    graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> {
    +  root noopRes <- @defer;
    +  # Legal call to non-blocking procedure in Graph.
    +  node defer   <- filter(l, (x: int) -> boolean { return x > 0; });
    +}
    +
    +var res <-| deferToBlockingGenericFn([-1, 5, 3, 0, 2]);
    +print(res);
    +
    +

    Output:

    +
    [5, 3, 2]
    +
    +
    +

    And of course, Claro will statically forbid calls to blocking-generic procedures when a blocking procedure is passed in:

    +

    Fig 3:

    +
    +
    graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> {
    +  root noopRes <- @defer;
    +  # Illegal call to blocking procedure in Graph.
    +  node defer   <- filter(l, doBlocking);
    +}
    +
    +blocking function doBlocking(x: int) -> boolean {
    +  var unwrappedGraphRes <-| futures::immediateFuture(x);  # <-- Blocking unwrap.
    + return unwrappedGraphRes > 0;
    +}
    +
    +

    Compilation Errors:

    +
    Graph Function deferToBlockingGenericFn function<[int] -> future<[int]>> has illegal transitive dep on the following blocking procedures []. Blocking is forbidden within a Graph Function in order to avoid deadlocking.
    +1 Error
    +
    +
    +

    Note: Claro's error messaging is a work in progress - the above error message will be improved.

    +

    Note on the blocking:argName and blocking? Syntax

    +

    Claro localizes Generics only to procedure signatures. This is done with the intention of making Generics more easily +understandable, such that Generics itself may be conceptualized simply as a form of "templating" (regardless of whether +this is how the compiler is actually implementing the feature).

    +

    As a result, these type modifier syntaxes are restricted to being used within top-level procedure definition signatures +only. In particular, you may not define a variable of a blocking-generic procedure type:

    +

    Fig 4:

    +
    +
    # Illegal use of `blocking:...`, and `blocking?` outside of top-level Procedure definition.
    +var myBlockingGenericFn:
    +    blocking:arg1 function<|[int], blocking? function<int -> boolean>| -> [int]>;
    +
    +

    Compilation Errors:

    +
    blocking_generics_EX4_main.claro:3: Unexpected token <:>
    +    blocking:arg1 function<|[int], blocking? function<int -> boolean>| -> [int]>;
    +            ^
    +Can't recover from previous error(s)
    +2 Errors
    +
    +
    +

    Note: Claro's error messaging is a work in progress - the above error message will be improved.

    +

    Lambdas Cannot Use Any Form of Generics

    +

    This has the implication that lambdas may not make use of blocking generics. But this is in line with Claro's single-use +intention for lambdas, encouraging the definition of lambdas that will only be used in a single limited scope. For any +cases that actually need to make use of blocking-generics, you are by definition defining a procedure that should have +more than one use case, and you should define a top-level procedure instead.

    +

    First-Class References to Blocking-Generic Top-Level Procedures

    +

    You can, however, still make first-class references to top-level blocking-generic procedures in order to pass them +around as data. The only restriction, is that you must statically declare which blocking variant the reference will take +on:

    +

    Fig 5:

    +
    +
    # A blocking function var, to which you may *only* pass blocking functions.
    +var myBlockingFn: blocking function<|[int], blocking function<int -> boolean>| -> [int]>
    +    = filter;
    +
    +# A non-blocking function var, to which you may *only* pass non-blocking functions.
    +var myNonBlockingFn: function<|[int], function<int -> boolean>| -> [int]>
    +    = filter;
    +
    +
    +

    Module System

    +

    All but the most trivial programs will require some mechanism for decomposing a larger program into smaller, reusable +components that can be composed into a larger whole. In Claro projects, this is accomplished via the Module System +whereby distinct functionality can be organized logically to facilitate encapsulation. In addition, Claro's Module +System is the source of Claro's build incrementality - modules are compiled in isolation, allowing caching such that +modules do not need to be recompiled unless its own or its dependencies implementations have changed.

    +

    Defining a Module

    +

    A Module exposes an API that is implemented by some set of source files which may depend on other modules.

    +

    API

    +

    Module APIs are explicitly defined using a .claro_module_api file that will list exported procedure signatures, type +declarations, static values, and Contract implementations that are publicly exposed to consumers that place a dependency +on this module.

    +
    # example.claro_module_api
    +
    +contract Numeric<T> {
    +  function add(lhs: T, rhs: T) -> T;
    +  function multiply(lhs: T, rhs: T) -> T;
    +}
    +
    +newtype Foo : int
    +implement Numeric<Foo>;
    +
    +consumer prettyPrint(lhs: Foo);
    +
    +

    Sources

    +

    An API alone simply defines an interface that the module will satisfy in its implementation sources. So implementations +must be provided in the form of one or more .claro files. The above API could be satisfied by the below implementation +files (note: this could be done in a single source file, but here it's split into multiple just as an example):

    +
    # contract_impl.claro
    +
    +implement Numeric<Foo> {
    +  function add(lhs: Foo, rhs: Foo) -> Foo {
    +    return Foo(unwrap(lhs) + unwrap(rhs));
    +  }
    +  function multiply(lhs: Foo, rhs: Foo) -> Foo {
    +    return Foo(unwrap(lhs) * unwrap(rhs));
    +  }
    +}
    +
    +
    # pretty_print.claro
    +
    +consumer prettyPrint(f: Foo) {
    +  unwrap(f)
    +    |> "Foo: {^}"
    +    |> Boxes::wrapInBox(^)  # <-- Calling dep Module function.
    +    |> print(^);
    +}
    +
    +

    Dependencies

    +

    While Modules are intended to be consumed as a reusable component, it may also itself depend on other modules in order +to implement its public API.

    +

    Notice that the implementation of prettyPrint above makes a call to Boxes::wrapInBox(...). This is an example of +calling a procedure from a downstream dep Module in Claro. In order to build, this Module must place a dep on some +Module that has at least the following signature in its API: function wrapInBox(s: string) -> string;. As you'll see +below, this Module will choose to give that downstream dependency Module the name Boxes, but any other name could've +been chosen.

    +

    Defining BUILD Target

    +

    A Claro Module is fully defined from the above pieces by adding a claro_module(...) definition to the corresponding +Bazel BUILD file:

    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +claro_module(
    +    name = "example",
    +    module_api_file = "example.claro_module_api",
    +    srcs = [
    +        "contract_impl.claro",
    +        "pretty_print.claro",
    +    ],
    +    deps = {
    +        "Boxes": ":box",  # <-- Notice the name "Boxes" is chosen by the consumer.
    +    },
    +    # This Module can be consumed by anyone.
    +    visibility = ["//visibility:public"],
    +)
    +
    +claro_module(
    +    name = "box",
    +    module_api_file = "boxes.claro_module_api",
    +    srcs = ["boxes.claro"],
    +    # No visibility declared means that this Module is private to this Bazel package.
    +)
    +
    +...
    +
    +

    Building a Module

    +

    In order to validate that a claro_module(...) target compiles successfully, you can run a Bazel command like the +following:

    +

    (Assuming the BUILD file is located at //path/to/target)

    +
    $ bazel build //path/to/target:example
    +
    +

    This will build the explicitly named target and its entire transitive closure of dependencies (assuming their build +results have not been previously cached in which case they'll be skipped and the cached artifacts reused).

    +

    Executable Using Above Example Module

    +

    To close the loop, the above example Module could be consumed and used in the following executable Claro program in the +following way.

    +
    # test.claro
    +
    +var f1 = Ex::Foo(1);
    +var f2 = Ex::Foo(2);
    +
    +var addRes = Ex::Numeric::add(f1, f2);
    +Ex::prettyPrint(addRes);
    +
    +var mulRes = Ex::Numeric::multiply(f2, Ex::Foo(5));
    +Ex::prettyPrint(mulRes);
    +
    +
    # BUILD
    +
    +load("@claro-lang//:rules.bzl", "claro_module", "claro_binary")
    +
    +...
    +
    +claro_binary(
    +    name = "test",
    +    main_file = "test.claro",
    +    deps = {
    +        "Ex": ":example",
    +    },
    +)
    +
    +

    Example Code

    +

    Complete source code for the examples above can be found +here

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/procedures.html b/procedures.html new file mode 100644 index 00000000..403e8251 --- /dev/null +++ b/procedures.html @@ -0,0 +1,243 @@ + + + + + + Procedures - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Procedures

    +

    All languages tend to have a way to encapsulate a block of logic in one place so that it can be reused throughout the +program. Generally, however, languages tend to provide only a single tool for this job, the function. The problem I see +with this is that not all functions in these languages are created equal - but yet they're all forced to share the same +structure which has some unfortunate implications. The general idea is straightforward: a function takes in some data, +manipulates it somehow, and possibly returns some data. However, not all functions take input, and not all of them +return data ("void" is not data... looking at you, Java and friends). To me, this is very unclear using a single +structure, functions, for meaningfully different purposes. Claro addresses this by getting specific. Claro provides +"Procedures" broken into a few sub-categories: Functions, Consumers, and Providers.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/procedures/consumers/BUILD b/procedures/consumers/BUILD new file mode 100644 index 00000000..6305539d --- /dev/null +++ b/procedures/consumers/BUILD @@ -0,0 +1,9 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "consumers", + doc_template = "consumers.tmpl.md", + examples = [ + "ex1.claro", + ], +) diff --git a/procedures/consumers/consumers.generated_docs.html b/procedures/consumers/consumers.generated_docs.html new file mode 100644 index 00000000..dcec4123 --- /dev/null +++ b/procedures/consumers/consumers.generated_docs.html @@ -0,0 +1,257 @@ + + + + + + Consumers - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Consumers

    +

    A Procedure that takes in some data but doesn't return any data.

    +

    Fig 1:

    +
    +
    consumer show(s: string, age: int, heightFt: int) {
    +    # String formatting.
    +    print("{s} is {age} years old and {heightFt}ish feet tall.");
    +}
    +
    +# Calling the consumer. Syntactically, consumers are always used as statements,
    +# never as an expression (something that has a value).
    +show("Laura", 29, 5);
    +
    +

    Output:

    +
    Laura is 29 years old and 5ish feet tall.
    +
    +
    +
    +

    Note: Consumers tend to be an inherent waste of computation time unless that consumer does some side-effecting +operation observable outside the program scope. So, it may be a useful hint that if you're reading code that includes a +call to a consumer, some I/O is very likely taking place (if not, you should delete the call entirely as it's a waste of +work).

    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/procedures/consumers/ex1.claro b/procedures/consumers/ex1.claro new file mode 100644 index 00000000..11a90c64 --- /dev/null +++ b/procedures/consumers/ex1.claro @@ -0,0 +1,8 @@ +consumer show(s: string, age: int, heightFt: int) { + # String formatting. + print("{s} is {age} years old and {heightFt}ish feet tall."); +} + +# Calling the consumer. Syntactically, consumers are always used as statements, +# never as an expression (something that has a value). +show("Laura", 29, 5); \ No newline at end of file diff --git a/procedures/functions/BUILD b/procedures/functions/BUILD new file mode 100644 index 00000000..9fcee826 --- /dev/null +++ b/procedures/functions/BUILD @@ -0,0 +1,9 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "functions", + doc_template = "functions.tmpl.md", + examples = [ + "ex1.claro", + ], +) diff --git a/procedures/functions/ex1.claro b/procedures/functions/ex1.claro new file mode 100644 index 00000000..de8d3b89 --- /dev/null +++ b/procedures/functions/ex1.claro @@ -0,0 +1,5 @@ +function add(x: int, y: int) -> int { + return x + y; +} + +print(add(10, 5)); \ No newline at end of file diff --git a/procedures/functions/functions.generated_docs.html b/procedures/functions/functions.generated_docs.html new file mode 100644 index 00000000..a49c6589 --- /dev/null +++ b/procedures/functions/functions.generated_docs.html @@ -0,0 +1,248 @@ + + + + + + Functions - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Functions

    +

    A Procedure that takes in same data and returns some data.

    +

    Fig 1:

    +
    +
    function add(x: int, y: int) -> int {
    +    return x + y;
    +}
    +
    +print(add(10, 5));
    +
    +

    Output:

    +
    15
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/procedures/providers/BUILD b/procedures/providers/BUILD new file mode 100644 index 00000000..8aac430c --- /dev/null +++ b/procedures/providers/BUILD @@ -0,0 +1,9 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "providers", + doc_template = "providers.tmpl.md", + examples = [ + "ex1.claro", + ], +) diff --git a/procedures/providers/ex1.claro b/procedures/providers/ex1.claro new file mode 100644 index 00000000..74e5bd21 --- /dev/null +++ b/procedures/providers/ex1.claro @@ -0,0 +1,5 @@ +provider getInt() -> int { + return 10; +} + +print(getInt()); diff --git a/procedures/providers/providers.generated_docs.html b/procedures/providers/providers.generated_docs.html new file mode 100644 index 00000000..ac01a279 --- /dev/null +++ b/procedures/providers/providers.generated_docs.html @@ -0,0 +1,248 @@ + + + + + + Providers - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Providers

    +

    A Procedure that takes in no data but returns some data.

    +

    Fig 1:

    +
    +
    provider getInt() -> int {
    +    return 10;
    +}
    +
    +print(getInt());
    +
    +

    Output:

    +
    10
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/searcher.js b/searcher.js new file mode 100644 index 00000000..d2b0aeed --- /dev/null +++ b/searcher.js @@ -0,0 +1,483 @@ +"use strict"; +window.search = window.search || {}; +(function search(search) { + // Search functionality + // + // You can use !hasFocus() to prevent keyhandling in your key + // event handlers while the user is typing their search. + + if (!Mark || !elasticlunr) { + return; + } + + //IE 11 Compatibility from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + if (!String.prototype.startsWith) { + String.prototype.startsWith = function(search, pos) { + return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; + }; + } + + var search_wrap = document.getElementById('search-wrapper'), + searchbar = document.getElementById('searchbar'), + searchbar_outer = document.getElementById('searchbar-outer'), + searchresults = document.getElementById('searchresults'), + searchresults_outer = document.getElementById('searchresults-outer'), + searchresults_header = document.getElementById('searchresults-header'), + searchicon = document.getElementById('search-toggle'), + content = document.getElementById('content'), + + searchindex = null, + doc_urls = [], + results_options = { + teaser_word_count: 30, + limit_results: 30, + }, + search_options = { + bool: "AND", + expand: true, + fields: { + title: {boost: 1}, + body: {boost: 1}, + breadcrumbs: {boost: 0} + } + }, + mark_exclude = [], + marker = new Mark(content), + current_searchterm = "", + URL_SEARCH_PARAM = 'search', + URL_MARK_PARAM = 'highlight', + teaser_count = 0, + + SEARCH_HOTKEY_KEYCODE = 83, + ESCAPE_KEYCODE = 27, + DOWN_KEYCODE = 40, + UP_KEYCODE = 38, + SELECT_KEYCODE = 13; + + function hasFocus() { + return searchbar === document.activeElement; + } + + function removeChildren(elem) { + while (elem.firstChild) { + elem.removeChild(elem.firstChild); + } + } + + // Helper to parse a url into its building blocks. + function parseURL(url) { + var a = document.createElement('a'); + a.href = url; + return { + source: url, + protocol: a.protocol.replace(':',''), + host: a.hostname, + port: a.port, + params: (function(){ + var ret = {}; + var seg = a.search.replace(/^\?/,'').split('&'); + var len = seg.length, i = 0, s; + for (;i': '>', + '"': '"', + "'": ''' + }; + var repl = function(c) { return MAP[c]; }; + return function(s) { + return s.replace(/[&<>'"]/g, repl); + }; + })(); + + function formatSearchMetric(count, searchterm) { + if (count == 1) { + return count + " search result for '" + searchterm + "':"; + } else if (count == 0) { + return "No search results for '" + searchterm + "'."; + } else { + return count + " search results for '" + searchterm + "':"; + } + } + + function formatSearchResult(result, searchterms) { + var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms); + teaser_count++; + + // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor + var url = doc_urls[result.ref].split("#"); + if (url.length == 1) { // no anchor found + url.push(""); + } + + // encodeURIComponent escapes all chars that could allow an XSS except + // for '. Due to that we also manually replace ' with its url-encoded + // representation (%27). + var searchterms = encodeURIComponent(searchterms.join(" ")).replace(/\'/g, "%27"); + + return '' + result.doc.breadcrumbs + '' + + '' + + teaser + ''; + } + + function makeTeaser(body, searchterms) { + // The strategy is as follows: + // First, assign a value to each word in the document: + // Words that correspond to search terms (stemmer aware): 40 + // Normal words: 2 + // First word in a sentence: 8 + // Then use a sliding window with a constant number of words and count the + // sum of the values of the words within the window. Then use the window that got the + // maximum sum. If there are multiple maximas, then get the last one. + // Enclose the terms in . + var stemmed_searchterms = searchterms.map(function(w) { + return elasticlunr.stemmer(w.toLowerCase()); + }); + var searchterm_weight = 40; + var weighted = []; // contains elements of ["word", weight, index_in_document] + // split in sentences, then words + var sentences = body.toLowerCase().split('. '); + var index = 0; + var value = 0; + var searchterm_found = false; + for (var sentenceindex in sentences) { + var words = sentences[sentenceindex].split(' '); + value = 8; + for (var wordindex in words) { + var word = words[wordindex]; + if (word.length > 0) { + for (var searchtermindex in stemmed_searchterms) { + if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) { + value = searchterm_weight; + searchterm_found = true; + } + }; + weighted.push([word, value, index]); + value = 2; + } + index += word.length; + index += 1; // ' ' or '.' if last word in sentence + }; + index += 1; // because we split at a two-char boundary '. ' + }; + + if (weighted.length == 0) { + return body; + } + + var window_weight = []; + var window_size = Math.min(weighted.length, results_options.teaser_word_count); + + var cur_sum = 0; + for (var wordindex = 0; wordindex < window_size; wordindex++) { + cur_sum += weighted[wordindex][1]; + }; + window_weight.push(cur_sum); + for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) { + cur_sum -= weighted[wordindex][1]; + cur_sum += weighted[wordindex + window_size][1]; + window_weight.push(cur_sum); + }; + + if (searchterm_found) { + var max_sum = 0; + var max_sum_window_index = 0; + // backwards + for (var i = window_weight.length - 1; i >= 0; i--) { + if (window_weight[i] > max_sum) { + max_sum = window_weight[i]; + max_sum_window_index = i; + } + }; + } else { + max_sum_window_index = 0; + } + + // add around searchterms + var teaser_split = []; + var index = weighted[max_sum_window_index][2]; + for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) { + var word = weighted[i]; + if (index < word[2]) { + // missing text from index to start of `word` + teaser_split.push(body.substring(index, word[2])); + index = word[2]; + } + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + index = word[2] + word[0].length; + teaser_split.push(body.substring(word[2], index)); + if (word[1] == searchterm_weight) { + teaser_split.push("") + } + }; + + return teaser_split.join(''); + } + + function init(config) { + results_options = config.results_options; + search_options = config.search_options; + searchbar_outer = config.searchbar_outer; + doc_urls = config.doc_urls; + searchindex = elasticlunr.Index.load(config.index); + + // Set up events + searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false); + searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false); + document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false); + // If the user uses the browser buttons, do the same as if a reload happened + window.onpopstate = function(e) { doSearchOrMarkFromUrl(); }; + // Suppress "submit" events so the page doesn't reload when the user presses Enter + document.addEventListener('submit', function(e) { e.preventDefault(); }, false); + + // If reloaded, do the search or mark again, depending on the current url parameters + doSearchOrMarkFromUrl(); + } + + function unfocusSearchbar() { + // hacky, but just focusing a div only works once + var tmp = document.createElement('input'); + tmp.setAttribute('style', 'position: absolute; opacity: 0;'); + searchicon.appendChild(tmp); + tmp.focus(); + tmp.remove(); + } + + // On reload or browser history backwards/forwards events, parse the url and do search or mark + function doSearchOrMarkFromUrl() { + // Check current URL for search request + var url = parseURL(window.location.href); + if (url.params.hasOwnProperty(URL_SEARCH_PARAM) + && url.params[URL_SEARCH_PARAM] != "") { + showSearch(true); + searchbar.value = decodeURIComponent( + (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20')); + searchbarKeyUpHandler(); // -> doSearch() + } else { + showSearch(false); + } + + if (url.params.hasOwnProperty(URL_MARK_PARAM)) { + var words = decodeURIComponent(url.params[URL_MARK_PARAM]).split(' '); + marker.mark(words, { + exclude: mark_exclude + }); + + var markers = document.querySelectorAll("mark"); + function hide() { + for (var i = 0; i < markers.length; i++) { + markers[i].classList.add("fade-out"); + window.setTimeout(function(e) { marker.unmark(); }, 300); + } + } + for (var i = 0; i < markers.length; i++) { + markers[i].addEventListener('click', hide); + } + } + } + + // Eventhandler for keyevents on `document` + function globalKeyHandler(e) { + if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text') { return; } + + if (e.keyCode === ESCAPE_KEYCODE) { + e.preventDefault(); + searchbar.classList.remove("active"); + setSearchUrlParameters("", + (searchbar.value.trim() !== "") ? "push" : "replace"); + if (hasFocus()) { + unfocusSearchbar(); + } + showSearch(false); + marker.unmark(); + } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) { + e.preventDefault(); + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) { + e.preventDefault(); + unfocusSearchbar(); + searchresults.firstElementChild.classList.add("focus"); + } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE + || e.keyCode === UP_KEYCODE + || e.keyCode === SELECT_KEYCODE)) { + // not `:focus` because browser does annoying scrolling + var focused = searchresults.querySelector("li.focus"); + if (!focused) return; + e.preventDefault(); + if (e.keyCode === DOWN_KEYCODE) { + var next = focused.nextElementSibling; + if (next) { + focused.classList.remove("focus"); + next.classList.add("focus"); + } + } else if (e.keyCode === UP_KEYCODE) { + focused.classList.remove("focus"); + var prev = focused.previousElementSibling; + if (prev) { + prev.classList.add("focus"); + } else { + searchbar.select(); + } + } else { // SELECT_KEYCODE + window.location.assign(focused.querySelector('a')); + } + } + } + + function showSearch(yes) { + if (yes) { + search_wrap.classList.remove('hidden'); + searchicon.setAttribute('aria-expanded', 'true'); + } else { + search_wrap.classList.add('hidden'); + searchicon.setAttribute('aria-expanded', 'false'); + var results = searchresults.children; + for (var i = 0; i < results.length; i++) { + results[i].classList.remove("focus"); + } + } + } + + function showResults(yes) { + if (yes) { + searchresults_outer.classList.remove('hidden'); + } else { + searchresults_outer.classList.add('hidden'); + } + } + + // Eventhandler for search icon + function searchIconClickHandler() { + if (search_wrap.classList.contains('hidden')) { + showSearch(true); + window.scrollTo(0, 0); + searchbar.select(); + } else { + showSearch(false); + } + } + + // Eventhandler for keyevents while the searchbar is focused + function searchbarKeyUpHandler() { + var searchterm = searchbar.value.trim(); + if (searchterm != "") { + searchbar.classList.add("active"); + doSearch(searchterm); + } else { + searchbar.classList.remove("active"); + showResults(false); + removeChildren(searchresults); + } + + setSearchUrlParameters(searchterm, "push_if_new_search_else_replace"); + + // Remove marks + marker.unmark(); + } + + // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor . + // `action` can be one of "push", "replace", "push_if_new_search_else_replace" + // and replaces or pushes a new browser history item. + // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet. + function setSearchUrlParameters(searchterm, action) { + var url = parseURL(window.location.href); + var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM); + if (searchterm != "" || action == "push_if_new_search_else_replace") { + url.params[URL_SEARCH_PARAM] = searchterm; + delete url.params[URL_MARK_PARAM]; + url.hash = ""; + } else { + delete url.params[URL_MARK_PARAM]; + delete url.params[URL_SEARCH_PARAM]; + } + // A new search will also add a new history item, so the user can go back + // to the page prior to searching. A updated search term will only replace + // the url. + if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) { + history.pushState({}, document.title, renderURL(url)); + } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) { + history.replaceState({}, document.title, renderURL(url)); + } + } + + function doSearch(searchterm) { + + // Don't search the same twice + if (current_searchterm == searchterm) { return; } + else { current_searchterm = searchterm; } + + if (searchindex == null) { return; } + + // Do the actual search + var results = searchindex.search(searchterm, search_options); + var resultcount = Math.min(results.length, results_options.limit_results); + + // Display search metrics + searchresults_header.innerText = formatSearchMetric(resultcount, searchterm); + + // Clear and insert results + var searchterms = searchterm.split(' '); + removeChildren(searchresults); + for(var i = 0; i < resultcount ; i++){ + var resultElem = document.createElement('li'); + resultElem.innerHTML = formatSearchResult(results[i], searchterms); + searchresults.appendChild(resultElem); + } + + // Display results + showResults(true); + } + + fetch(path_to_root + 'searchindex.json') + .then(response => response.json()) + .then(json => init(json)) + .catch(error => { // Try to load searchindex.js if fetch failed + var script = document.createElement('script'); + script.src = path_to_root + 'searchindex.js'; + script.onload = () => init(window.search); + document.head.appendChild(script); + }); + + // Exported functions + search.hasFocus = hasFocus; +})(window.search); diff --git a/searchindex.js b/searchindex.js new file mode 100644 index 00000000..e133e441 --- /dev/null +++ b/searchindex.js @@ -0,0 +1 @@ +Object.assign(window.search, {"doc_urls":["chapter_1.html#welcome-to-claro","chapter_1.html#claro-is-a-statically-typed-jvm-language-that-provides-a-well-lit-path-to-building-simple-highly-concurrent-and-scalable-applications","chapter_1.html#dependency-management-done-right","chapter_1.html#fearless-concurrency","chapter_1.html#data-oriented","chapter_1.html#unapologetically-practical","chapter_1.html#designed-to-scale-with-you","chapter_1.html#actively-in-development","chapter_1/hello_world.generated_docs.html#hello-world","getting_started/getting_started.html#create-your-first-claro-project-with-bazel","getting_started/getting_started.html#1---install-bazel-required","getting_started/getting_started.html#2---auto-generate-your-project","getting_started/getting_started.html#2-alternative---manually-copy-configuration-of-example-project","getting_started/getting_started.html#supported-operating-systems","getting_started/getting_started.html#your-first-claro-program","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#understanding-the-starter-project","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#modulebazel","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#modulename--example-claro-module","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#bazel_depname--claro-lang-version--01409","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#bazelversion","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#bazelrc","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#common---enable_bzlmod","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#common---java_runtime_versionremotejdk_11","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#build","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#loadclaro-langrulesbzl-claro_binary","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#claro_binary","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#inputtxt","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#democlaro","getting_started/first_program/first_program.generated_docs.html#your-first-program","getting_started/first_program/first_program.generated_docs.html#create-hello_worldclaro","getting_started/first_program/first_program.generated_docs.html#declare-a-new-claro_binary-target-in-your-build-file","getting_started/first_program/first_program.generated_docs.html#now-execute-your-program","getting_started/first_program/first_program.generated_docs.html#avoiding-bazels-extra-output","getting_started/first_program/first_program.generated_docs.html#generating-a-portable-executable-deploy-jar","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#intro-to-modules","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#create-examplestylingclaro","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#define-a-module-api-file","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#add-a-claro_modulename--styling--build-target","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#updated-load-statement","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#added-an-explicit-dependency-on-examplestyling","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#update-hello_worldclaro-to-use-stylewrapinbox","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#now-execute-your-updated-hello-world","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#on-your-own-update-exampledemo_bin-to-use-the-new-module","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#on-your-own-refactor-examplestyling-to-its-own-directory","common_programming_concepts.html#common-programming-concepts","common_programming_concepts/variables_and_types/variables_and_types.generated_docs.html#variables--primitive-types","common_programming_concepts/sep_var_decl_and_init/sep_var_decl_and_init.generated_docs.html#separate-variable-declaration--initialization","common_programming_concepts/var_reassignment/var_reassignment.generated_docs.html#variable-reassignment","control_flow.html#control-flow","control_flow/if_else/if_else.generated_docs.html#if-else","control_flow/while/while.generated_docs.html#while-loops","control_flow/while/while.generated_docs.html#exiting-a-while-loop-early","control_flow/while/while.generated_docs.html#skipping-to-the-next-iteration-of-the-while-loop","control_flow/for/for.generated_docs.html#for-loops","control_flow/for/for.generated_docs.html#for-loop-over-lists","control_flow/for/for.generated_docs.html#for-loop-over-sets","control_flow/for/for.generated_docs.html#for-loop-over-maps","control_flow/for/for.generated_docs.html#note-1-","control_flow/for/for.generated_docs.html#note-2-","control_flow/for/for.generated_docs.html#exiting-a-for-loop-early","control_flow/for/for.generated_docs.html#skipping-to-the-next-iteration-of-the-for-loop","control_flow/repeat/repeat.generated_docs.html#repeat-loops","control_flow/pipes/pipes.generated_docs.html#pipes","control_flow/pipes/pipes.generated_docs.html#textually-linear-data-flow","control_flow/match/match.generated_docs.html#pattern-matching","control_flow/match/match.generated_docs.html#default-case","control_flow/match/match.generated_docs.html#multi-statement-cases","control_flow/match/match.generated_docs.html#patterns-must-not-reference-existing-variables","control_flow/match/structed_data/structured_data.generated_docs.html#matching-structured-data","control_flow/match/structed_data/structured_data.generated_docs.html#matching-arbitrarily-nested-structured-types","control_flow/match/wildcards/wildcards.generated_docs.html#wildcard-patterns","control_flow/match/wildcards/wildcards.generated_docs.html#case-ordering-and-wildcards","control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html#static-exhaustiveness-checks","control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html#non-trivial-exhaustiveness-checks-example","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#collection-comprehension","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#list-comprehension","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#set-comprehension","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#map-comprehension","control_flow/collection_comprehension/more_than_syntax_sugar/more_than_syntax_sugar.generated_docs.html#comprehension-is-more-than-syntax-sugar","static_typing/static_typing.generated_docs.html#types","static_typing/builtin_colls/builtin_collections.generated_docs.html#builtin-collections","static_typing/builtin_colls/builtin_collections.generated_docs.html#ad-hoc-declarations","static_typing/builtin_colls/builtin_collections.generated_docs.html#mutability","static_typing/builtin_colls/builtin_collections.generated_docs.html#mutability-annotations-are-shallow","static_typing/builtin_colls/builtin_collections.generated_docs.html#data-race-safety-via-deep-immutability","static_typing/builtin_colls/list_type/list_type.generated_docs.html#lists","static_typing/builtin_colls/list_type/list_type.generated_docs.html#accessing-list-elements","static_typing/builtin_colls/list_type/list_type.generated_docs.html#mutable-list-element-reassignment","static_typing/builtin_colls/list_type/list_type.generated_docs.html#index-out-of-bounds","static_typing/builtin_colls/list_type/list_type.generated_docs.html#stdlib-lists-module","static_typing/builtin_colls/list_type/list_type.generated_docs.html#empty-lists","static_typing/builtin_colls/list_type/list_type.generated_docs.html#empty-list-type-inference-by-later-usage-will-never-be-supported","static_typing/builtin_colls/set_type/set_type.generated_docs.html#sets","static_typing/builtin_colls/set_type/set_type.generated_docs.html#adding-elements-to-a-mutable-set","static_typing/builtin_colls/map_type/map_type.generated_docs.html#maps","static_typing/builtin_colls/map_type/map_type.generated_docs.html#checking-if-a-key-exists","static_typing/builtin_colls/map_type/map_type.generated_docs.html#iterating-over-the-entries-of-a-map","static_typing/builtin_colls/map_type/map_type.generated_docs.html#stdlib-maps-module","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#tuples","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#compile-time-validated-indexing","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#runtime-validated-indexing","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#mutable-tuples","static_typing/builtin_colls/struct_type/struct_type.generated_docs.html#structs","static_typing/builtin_colls/struct_type/struct_type.generated_docs.html#field-access","static_typing/builtin_colls/struct_type/struct_type.generated_docs.html#mutable-structs","static_typing/oneofs/oneofs.generated_docs.html#oneofs","static_typing/oneofs/oneofs.generated_docs.html#check-the-concrete-type-of-a-oneof-with-the-instanceof-operator","static_typing/oneofs/narrowing/narrowing.generated_docs.html#narrowing--type-guards","static_typing/oneofs/narrowing/narrowing.generated_docs.html#non-trivial-example-usage","static_typing/atoms/atoms.generated_docs.html#atoms","static_typing/atoms/atoms.generated_docs.html#static-validation","static_typing/atoms/atoms.generated_docs.html#ad-hoc-enums","static_typing/aliases/aliases.generated_docs.html#aliases","static_typing/aliases/aliases.generated_docs.html#aliases-are-syntactic-sugar","static_typing/aliases/aliases.generated_docs.html#overuse-of-aliases-can-be-a-code-smell","static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html#aliases-are--not--a-new-type-declaration","static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html#note-on-nominal-typing","static_typing/user_defined_types/user_defined_types.generated_docs.html#user-defined-types","static_typing/user_defined_types/user_defined_types.generated_docs.html#declaring-a-new-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#instantiating-an-instance-of-a-user-defined-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#user-defined-types-wrap-an-instance-of-another-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#unwrapping-a-user-defined-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#compile-time-enforcement","static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html#parameterized-types","static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html#generic-type-param-must-be-referenced-in-type-declaration","static_typing/user_defined_types/parameterized_types/concrete_type_inference/concrete_type_inference.generated_docs.html#concrete-type-inference","static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html#recursive-types","static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html#parameterized-recursive-types","static_typing/user_defined_types/recursive_types/impossible_recursive_types/impossible_recursive_types.generated_docs.html#impossible-to-initialize-recursive-alias-type-definitions","type_inference/type_inference.generated_docs.html#type-inference","type_inference/type_inference.generated_docs.html#examples","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#required-type-annotations","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#procedure-signatures","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#lambda-expressions-assigned-to-variables","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#initializing-empty-builtin-collections","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#non-literal-tuple-subscript","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#advanced-calls-to-generic-procedure-with-unconstrained-return-type","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#any-ambiguously-typed-expression-passed-to-a-generic-function-arg-position","procedures.html#procedures","procedures/functions/functions.generated_docs.html#functions","procedures/consumers/consumers.generated_docs.html#consumers","procedures/providers/providers.generated_docs.html#providers","lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html#lambdas--first-class-procedures","lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html#defining-lambdas","lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html#first-class-procedure-references","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#lambdas-are-restricted-closures","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#static-validation","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#captured-variables-shadow-variables-in-the-outer-scope","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#manually-emulating-traditional-closures","generics.generated_docs.html#generics","generics/contracts/contracts.generated_docs.html#contracts","generics/contracts/contracts.generated_docs.html#contracts-are--not--interfaces","generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html#implementing-a-contract","generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html#a-note-on-static-dispatch-via-monomorphization","generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html#generic-return-type-inference","generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html#ambiguous-calls","generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html#ambiguity-via-indirect-calls-to-contracts","copying/copying.generated_docs.html#copying-data","copying/copying.generated_docs.html#deep-copying","copying/mutability_coercion/mutability_coercion.generated_docs.html#mutability-coercion-on-copy","copying/mutability_coercion/mutability_coercion.generated_docs.html#mutability-coercion-can-apply-to-type-parameters-of-a-user-defined-type","copying/performance/performance.generated_docs.html#performance-optimizations","copying/performance/performance.generated_docs.html#claros-copy-is-aware-of-mutability","copying/performance/performance.generated_docs.html#demonstrating-the-performance-win","copying/known_bugs/known_bugs.generated_docs.html#known-copy-bugs","copying/known_bugs/known_bugs.generated_docs.html#compiler-stack-overflows-on-copying-recursive-types","copying/known_bugs/known_bugs.generated_docs.html#generated-copy-logic-severs-shared-references-to-mutable-data","copying/known_bugs/known_bugs.generated_docs.html#mutability-coercion-can-circumvent-a-user-defined-types-initializers-restrictions","concurrency.html#concurrency","graph_procedures/graph_procedures.generated_docs.html#graph-procedures","graph_procedures/graph_procedure_composition/graph_procedure_composition.generated_docs.html#graph-procedure-composition","graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html#calling-graph-procedures","graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html#graphs-execute-off-the-main-thread","graph_procedures/conditional_subgraph_execution/conditional_subgraph_execution.generated_docs.html#advanced-conditional-subgraph-execution","guaranteed_deadlock_free.html#guaranteed-deadlock-free-concurrency","guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html#blocking-procedures","guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html#graph-procedures-may-not-call-any-blocking-procedures-directly-or-indirectly","guaranteed_deadlock_free/re_what_color_is_your_function.generated_docs.html#re-what-color-is-your-function","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#advanced-blocking-generics","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#note-on-the-blockingargname-and-blocking-syntax","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#lambdas-cannot-use-any-form-of-generics","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#first-class-references-to-blocking-generic-top-level-procedures","module_system.html#module-system","module_system.html#defining-a-module","module_system.html#api","module_system.html#sources","module_system.html#dependencies","module_system.html#defining-build-target","module_system.html#building-a-module","module_system.html#executable-using-above-example-module","module_system.html#example-code"],"index":{"documentStore":{"docInfo":{"0":{"body":0,"breadcrumbs":4,"title":2},"1":{"body":0,"breadcrumbs":17,"title":15},"10":{"body":39,"breadcrumbs":6,"title":4},"100":{"body":121,"breadcrumbs":7,"title":3},"101":{"body":126,"breadcrumbs":6,"title":2},"102":{"body":29,"breadcrumbs":5,"title":1},"103":{"body":27,"breadcrumbs":6,"title":2},"104":{"body":60,"breadcrumbs":6,"title":2},"105":{"body":81,"breadcrumbs":3,"title":1},"106":{"body":127,"breadcrumbs":8,"title":6},"107":{"body":136,"breadcrumbs":8,"title":3},"108":{"body":96,"breadcrumbs":9,"title":4},"109":{"body":75,"breadcrumbs":3,"title":1},"11":{"body":47,"breadcrumbs":6,"title":4},"110":{"body":105,"breadcrumbs":4,"title":2},"111":{"body":65,"breadcrumbs":5,"title":3},"112":{"body":79,"breadcrumbs":3,"title":1},"113":{"body":93,"breadcrumbs":5,"title":3},"114":{"body":67,"breadcrumbs":6,"title":4},"115":{"body":83,"breadcrumbs":10,"title":4},"116":{"body":49,"breadcrumbs":9,"title":3},"117":{"body":58,"breadcrumbs":7,"title":3},"118":{"body":38,"breadcrumbs":7,"title":3},"119":{"body":22,"breadcrumbs":9,"title":5},"12":{"body":17,"breadcrumbs":9,"title":7},"120":{"body":80,"breadcrumbs":11,"title":7},"121":{"body":20,"breadcrumbs":8,"title":4},"122":{"body":97,"breadcrumbs":7,"title":3},"123":{"body":67,"breadcrumbs":8,"title":2},"124":{"body":32,"breadcrumbs":12,"title":6},"125":{"body":127,"breadcrumbs":12,"title":3},"126":{"body":94,"breadcrumbs":8,"title":2},"127":{"body":82,"breadcrumbs":9,"title":3},"128":{"body":120,"breadcrumbs":15,"title":6},"129":{"body":122,"breadcrumbs":4,"title":2},"13":{"body":23,"breadcrumbs":5,"title":3},"130":{"body":49,"breadcrumbs":3,"title":1},"131":{"body":37,"breadcrumbs":8,"title":3},"132":{"body":48,"breadcrumbs":7,"title":2},"133":{"body":48,"breadcrumbs":9,"title":4},"134":{"body":16,"breadcrumbs":9,"title":4},"135":{"body":77,"breadcrumbs":9,"title":4},"136":{"body":81,"breadcrumbs":12,"title":7},"137":{"body":65,"breadcrumbs":13,"title":8},"138":{"body":76,"breadcrumbs":2,"title":1},"139":{"body":21,"breadcrumbs":3,"title":1},"14":{"body":9,"breadcrumbs":5,"title":3},"140":{"body":80,"breadcrumbs":3,"title":1},"141":{"body":15,"breadcrumbs":3,"title":1},"142":{"body":20,"breadcrumbs":8,"title":4},"143":{"body":53,"breadcrumbs":6,"title":2},"144":{"body":44,"breadcrumbs":8,"title":4},"145":{"body":94,"breadcrumbs":10,"title":3},"146":{"body":66,"breadcrumbs":9,"title":2},"147":{"body":78,"breadcrumbs":13,"title":6},"148":{"body":142,"breadcrumbs":11,"title":4},"149":{"body":172,"breadcrumbs":2,"title":1},"15":{"body":59,"breadcrumbs":8,"title":3},"150":{"body":215,"breadcrumbs":3,"title":1},"151":{"body":55,"breadcrumbs":4,"title":2},"152":{"body":110,"breadcrumbs":6,"title":2},"153":{"body":105,"breadcrumbs":9,"title":5},"154":{"body":141,"breadcrumbs":9,"title":4},"155":{"body":83,"breadcrumbs":7,"title":2},"156":{"body":135,"breadcrumbs":10,"title":5},"157":{"body":109,"breadcrumbs":4,"title":2},"158":{"body":83,"breadcrumbs":4,"title":2},"159":{"body":203,"breadcrumbs":8,"title":3},"16":{"body":20,"breadcrumbs":6,"title":1},"160":{"body":124,"breadcrumbs":13,"title":8},"161":{"body":33,"breadcrumbs":6,"title":2},"162":{"body":151,"breadcrumbs":8,"title":4},"163":{"body":255,"breadcrumbs":7,"title":3},"164":{"body":26,"breadcrumbs":8,"title":3},"165":{"body":175,"breadcrumbs":11,"title":6},"166":{"body":185,"breadcrumbs":13,"title":8},"167":{"body":111,"breadcrumbs":13,"title":8},"168":{"body":240,"breadcrumbs":2,"title":1},"169":{"body":193,"breadcrumbs":5,"title":2},"17":{"body":38,"breadcrumbs":9,"title":4},"170":{"body":168,"breadcrumbs":7,"title":3},"171":{"body":128,"breadcrumbs":7,"title":3},"172":{"body":60,"breadcrumbs":8,"title":4},"173":{"body":157,"breadcrumbs":9,"title":4},"174":{"body":344,"breadcrumbs":8,"title":4},"175":{"body":67,"breadcrumbs":8,"title":2},"176":{"body":77,"breadcrumbs":13,"title":7},"177":{"body":133,"breadcrumbs":10,"title":3},"178":{"body":200,"breadcrumbs":13,"title":3},"179":{"body":91,"breadcrumbs":14,"title":4},"18":{"body":51,"breadcrumbs":10,"title":5},"180":{"body":38,"breadcrumbs":14,"title":4},"181":{"body":53,"breadcrumbs":18,"title":8},"182":{"body":47,"breadcrumbs":4,"title":2},"183":{"body":9,"breadcrumbs":4,"title":2},"184":{"body":46,"breadcrumbs":3,"title":1},"185":{"body":65,"breadcrumbs":3,"title":1},"186":{"body":53,"breadcrumbs":3,"title":1},"187":{"body":53,"breadcrumbs":5,"title":3},"188":{"body":37,"breadcrumbs":4,"title":2},"189":{"body":43,"breadcrumbs":7,"title":5},"19":{"body":26,"breadcrumbs":6,"title":1},"190":{"body":7,"breadcrumbs":4,"title":2},"2":{"body":24,"breadcrumbs":6,"title":4},"20":{"body":16,"breadcrumbs":6,"title":1},"21":{"body":17,"breadcrumbs":7,"title":2},"22":{"body":27,"breadcrumbs":7,"title":2},"23":{"body":33,"breadcrumbs":6,"title":1},"24":{"body":31,"breadcrumbs":8,"title":3},"25":{"body":137,"breadcrumbs":6,"title":1},"26":{"body":10,"breadcrumbs":6,"title":1},"27":{"body":69,"breadcrumbs":6,"title":1},"28":{"body":16,"breadcrumbs":6,"title":2},"29":{"body":45,"breadcrumbs":6,"title":2},"3":{"body":43,"breadcrumbs":4,"title":2},"30":{"body":35,"breadcrumbs":10,"title":6},"31":{"body":26,"breadcrumbs":7,"title":3},"32":{"body":75,"breadcrumbs":8,"title":4},"33":{"body":82,"breadcrumbs":9,"title":5},"34":{"body":82,"breadcrumbs":6,"title":2},"35":{"body":25,"breadcrumbs":6,"title":2},"36":{"body":116,"breadcrumbs":8,"title":4},"37":{"body":54,"breadcrumbs":9,"title":5},"38":{"body":10,"breadcrumbs":7,"title":3},"39":{"body":74,"breadcrumbs":8,"title":4},"4":{"body":22,"breadcrumbs":4,"title":2},"40":{"body":21,"breadcrumbs":8,"title":4},"41":{"body":9,"breadcrumbs":9,"title":5},"42":{"body":17,"breadcrumbs":9,"title":5},"43":{"body":23,"breadcrumbs":7,"title":3},"44":{"body":0,"breadcrumbs":6,"title":3},"45":{"body":193,"breadcrumbs":9,"title":3},"46":{"body":32,"breadcrumbs":11,"title":4},"47":{"body":23,"breadcrumbs":7,"title":2},"48":{"body":46,"breadcrumbs":7,"title":2},"49":{"body":93,"breadcrumbs":5,"title":0},"5":{"body":14,"breadcrumbs":4,"title":2},"50":{"body":54,"breadcrumbs":6,"title":1},"51":{"body":21,"breadcrumbs":8,"title":3},"52":{"body":24,"breadcrumbs":9,"title":4},"53":{"body":13,"breadcrumbs":6,"title":1},"54":{"body":15,"breadcrumbs":8,"title":3},"55":{"body":11,"breadcrumbs":8,"title":3},"56":{"body":41,"breadcrumbs":8,"title":3},"57":{"body":30,"breadcrumbs":7,"title":2},"58":{"body":48,"breadcrumbs":7,"title":2},"59":{"body":22,"breadcrumbs":8,"title":3},"6":{"body":15,"breadcrumbs":4,"title":2},"60":{"body":26,"breadcrumbs":9,"title":4},"61":{"body":41,"breadcrumbs":8,"title":2},"62":{"body":154,"breadcrumbs":7,"title":1},"63":{"body":141,"breadcrumbs":10,"title":4},"64":{"body":109,"breadcrumbs":9,"title":2},"65":{"body":48,"breadcrumbs":9,"title":2},"66":{"body":53,"breadcrumbs":10,"title":3},"67":{"body":135,"breadcrumbs":11,"title":4},"68":{"body":71,"breadcrumbs":13,"title":3},"69":{"body":50,"breadcrumbs":15,"title":5},"7":{"body":31,"breadcrumbs":4,"title":2},"70":{"body":114,"breadcrumbs":11,"title":2},"71":{"body":108,"breadcrumbs":12,"title":3},"72":{"body":144,"breadcrumbs":13,"title":3},"73":{"body":336,"breadcrumbs":15,"title":5},"74":{"body":45,"breadcrumbs":9,"title":2},"75":{"body":73,"breadcrumbs":9,"title":2},"76":{"body":60,"breadcrumbs":9,"title":2},"77":{"body":74,"breadcrumbs":9,"title":2},"78":{"body":94,"breadcrumbs":15,"title":4},"79":{"body":51,"breadcrumbs":2,"title":1},"8":{"body":45,"breadcrumbs":4,"title":2},"80":{"body":30,"breadcrumbs":5,"title":2},"81":{"body":115,"breadcrumbs":6,"title":3},"82":{"body":74,"breadcrumbs":4,"title":1},"83":{"body":100,"breadcrumbs":6,"title":3},"84":{"body":37,"breadcrumbs":9,"title":6},"85":{"body":68,"breadcrumbs":5,"title":1},"86":{"body":20,"breadcrumbs":7,"title":3},"87":{"body":25,"breadcrumbs":8,"title":4},"88":{"body":64,"breadcrumbs":7,"title":3},"89":{"body":35,"breadcrumbs":7,"title":3},"9":{"body":70,"breadcrumbs":7,"title":5},"90":{"body":27,"breadcrumbs":6,"title":2},"91":{"body":79,"breadcrumbs":12,"title":8},"92":{"body":31,"breadcrumbs":5,"title":1},"93":{"body":70,"breadcrumbs":8,"title":4},"94":{"body":36,"breadcrumbs":5,"title":1},"95":{"body":29,"breadcrumbs":7,"title":3},"96":{"body":33,"breadcrumbs":8,"title":4},"97":{"body":62,"breadcrumbs":7,"title":3},"98":{"body":9,"breadcrumbs":5,"title":1},"99":{"body":154,"breadcrumbs":8,"title":4}},"docs":{"0":{"body":"","breadcrumbs":"Welcome to Claro! » Welcome to Claro!","id":"0","title":"Welcome to Claro!"},"1":{"body":"","breadcrumbs":"Welcome to Claro! » Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications.","id":"1","title":"Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications."},"10":{"body":"Simply install Bazel - follow these instructions to install via Bazelisk. Important: Installing Bazel via Bazelisk makes managing Bazel versions an automated process. It's highly recommended you\ndon't bother managing Bazel's versioning manually. Note: It's an explicit non-goal of Claro to support any other non-Bazel build environment .","breadcrumbs":"Getting Started! » 1 - Install Bazel (Required)","id":"10","title":"1 - Install Bazel (Required)"},"100":{"body":"If your index value is hidden behind some indirection, Claro can't know the type at compile-time and will require a runtime type cast (which is slow & opens the door to runtime Panics if the actual type doesn't match the asserted type). Claro will warn you at compile-time when this is necessary: Fig 3: var myPair: tuple = (1, \"one\"); # Claro requires a type cast for non-literal index.\nvar index: int = 0;\nvar myInt = myPair[index];\nprint(myInt); Compilation Errors: tuple_type_EX3_example.claro:5: The type of this expression is UNDECIDED at compile-time! You must explicitly cast the Expr to the expected type to assert this type at compile-time.\nvar myInt = myPair[index]; ^^^^^^^^^^^^^\ntuple_type_EX3_example.claro:6: No variable within the current scope!\nprint(myInt); ^^^^^\n2 Errors Fix the error by explicitly asserting the expected type by casting: Fig 4: var myPair: tuple = (1, \"one\"); # Claro requires a type cast for non-literal index.\nvar index: int = 0;\nvar myInt = cast(int, myPair[index]); # OK, opting into runtime type validation.\nprint(myInt); Output: 1","breadcrumbs":"Types » Builtin Collections » Tuples » Runtime Validated Indexing","id":"100","title":"Runtime Validated Indexing"},"101":{"body":"Unlike some other languages with tuple support, Claro imposes no arbitrary restriction that all tuples must necessarily be immutable. Just like any other builtin collection type, a Claro tuple may be declared mutable using the mut keyword when declaring a variable or initializing the value. You may then update element values at will as long as the initial type declaration for each element is honored. Claro won't allow you to mutate a tuple that isn't explicitly declared mutable: Fig 5: var myPair = (1, \"one\"); # <-- This is an **immutable** tuple.\nprint(myPair); myPair[0] = 99; # <-- Illegal attempted mutation happens here.\nprint(myPair); Compilation Errors: tuple_type_EX5_example.claro:4: Illegal Mutation of Immutable Value: Mutation of immutable values is forbidden! Found the immutable type: tuple In order to mutate this value, the value's type would need to be updated to: mut tuple\nmyPair[0] = 99; # <-- Illegal attempted mutation happens here.\n^^^^^^\n1 Error The mutation is legal when the tuple is explicitly annotated mut: Fig 6: var myPair = mut (1, \"one\"); # <-- This is now a **mutable** tuple.\nprint(myPair); myPair[0] = 99; # <-- Mutation happens here.\nprint(myPair); Output: mut (1, one)\nmut (99, one)","breadcrumbs":"Types » Builtin Collections » Tuples » Mutable Tuples","id":"101","title":"Mutable Tuples"},"102":{"body":"Structs are similar to tuples with named field values of arbitrary pre-declared types. Fig 1: var myStruct: struct {x: int, y: int} = {x = 1, y = 2};\nprint(myStruct); Output: {x = 1, y = 2}","breadcrumbs":"Types » Builtin Collections » Structs » Structs","id":"102","title":"Structs"},"103":{"body":"Struct field values can be directly accessed using \"dot-notation\" as below: Fig 2: var myStruct: struct {x: int, y: int} = {x = 1, y = 2};\nprint(myStruct.x);\nprint(myStruct.y); Output: 1\n2","breadcrumbs":"Types » Builtin Collections » Structs » Field Access","id":"103","title":"Field Access"},"104":{"body":"Just like any other builtin collection type, a Claro struct may be declared mutable using the mut keyword when declaring a variable or initializing the value. You may then update element values at will as long as the initial type declaration for each element is honored. Fig 3: var myStruct = mut {name = \"Jason\", age = 29}; # <-- Omitting optional type annotation.\nprint(myStruct); myStruct.name = \"Claro\"; # <-- Mutation happens here.\nmyStruct.age = 3; # <-- Mutation happens here.\nprint(myStruct); Output: mut {name = Jason, age = 29}\nmut {name = Claro, age = 3}","breadcrumbs":"Types » Builtin Collections » Structs » Mutable Structs","id":"104","title":"Mutable Structs"},"105":{"body":"Something that's often left unaddressed by statically typed programming languages is the ability to model a value that can take on one of an arbitrary set of types. Many other languages approximate this sort of ability through a notion of \"sub-typing\" relationships between a hierarchy of types. While sub-typing as found broad use and much support throughout the programming languages ecosystem, Claro has been designed under the belief that sub-typing leaves much to be desired and opens the door to all sorts of unwanted and unnecessary complexity and leads to error-prone coding patterns. So, on principle, Claro will never support sub-typing, and instead provides support for oneof types (also known as tagged-unions in other languages). Fig 1: var intOrStr: oneof;","breadcrumbs":"Types » Oneofs » Oneofs","id":"105","title":"Oneofs"},"106":{"body":"The entire point of a oneof type is to be able to write branching logic on the concrete type that is actually represented by the oneof at runtime. One way of achieving this is with the instanceof boolean operator that allows you to check the concrete type at runtime: Fig 2: $$var intOrStr: oneof;\n$$\n$$random::forSeed(20000)\n$$ |> random::nextNonNegativeBoundedInt(^, 2)\n$$ |> var r = ^;\n$$\nmatch (r) { case 0 -> intOrStr = 10; case _ -> intOrStr = \"ten\";\n}\nprint(\"intOrStr: {intOrStr}\"); if (intOrStr instanceof int) { print(\"Found an int!\");\n} else { print(\"Found a string!\");\n} Output: intOrStr: 10\nFound an int! It's somewhat nonsensical to do an instanceof check on any concrete type so Claro statically rejects that. Fig 3: if (10 instanceof int) { print(\"Obviously an int\");\n}\nif (10 instanceof string) { print(\"Obviously not a string\");\n} Compilation Errors: oneofs_EX3_example.claro:1: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.\nif (10 instanceof int) { ^^^^^^^^^^^^^^^^^\noneofs_EX3_example.claro:4: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.\nif (10 instanceof string) { ^^^^^^^^^^^^^^^^^^^^\n2 Errors","breadcrumbs":"Types » Oneofs » Check the Concrete Type of a Oneof With the instanceof Operator","id":"106","title":"Check the Concrete Type of a Oneof With the instanceof Operator"},"107":{"body":"Inspired by TypeScript's support for this, when you perform an instanceof check on a variable with a oneof type within a conditional statement, Claro automatically \"narrows\" the type of the variable to the checked type. This is logically valid because the only way that control-flow could possibly reach that context is if that was actually the type at runtime. Fig 1: $$var intOrStr: oneof = 10;\n$$\nif (intOrStr instanceof int) { # Claro automatically \"narrows\" the variable to have type `int`. var addRes = intOrStr + 10; print(\"{intOrStr} + 10 = {addRes}\");\n} Output: 10 + 10 = 20 Note: Claro is not implementing full \"flow typing\" here. The type will be \"widened\" again to its originally declared\ntype if you assign a value of any type other than the narrowed type to a variable in a context where it's been narrowed. Fig 2: $$var intOrStr: oneof = 10;\n$$\nif (intOrStr instanceof int) { # Claro automatically \"narrows\" the variable to have type `int`. var addRes = intOrStr + 10; print(\"{intOrStr} + 10 = {addRes}\"); # Claro automatically \"widens\" the variable to `oneof`. intOrStr = \"ten\"; addRes = intOrStr + 10; # <-- This is no longer valid.\n} Compilation Errors: narrowing_EX2_example.claro:10: Invalid type: found >, but expected one of (). addRes = intOrStr + 10; # <-- This is no longer valid. ^^^^^^^^\n1 Error","breadcrumbs":"Types » Oneofs » \"Narrowing\" / Type Guards » \"Narrowing\" / Type Guards","id":"107","title":"\"Narrowing\" / Type Guards"},"108":{"body":"For a less trivial example of working with oneof types, the below function is able to pretty-print a linked list by checking if the current node is the end of the list or not by branching on the type of the next reference: Fig 3: newtype LinkedNode : struct { val: T, next: oneof, std::Nothing>\n} alias SB : string_builder::StringBuilder\nfunction renderLinkedList(head: LinkedNode, sb: SB) -> SB { _ = string_builder::add(sb, \"{unwrap(head).val} -> \"); var next = unwrap(head).next; if (next instanceof LinkedNode) { return renderLinkedList(next, sb); # <-- Type of `next` was \"narrowed\" to `LinkedNode`. } else { return string_builder::add(sb, \"*END*\"); }\n} var linkedList = LinkedNode({val = 1, next = LinkedNode({val = 2, next = LinkedNode({val = 3, next = std::Nothing})})}); string_builder::create() |> renderLinkedList(linkedList, ^) |> string_builder::build(^) |> print(^); Output: 1 -> 2 -> 3 -> *END* The above example relies on concepts described in later sections, so consider checking out User Defined Types and Generics for some more info.","breadcrumbs":"Types » Oneofs » \"Narrowing\" / Type Guards » Non-Trivial Example Usage","id":"108","title":"Non-Trivial Example Usage"},"109":{"body":"Sometimes it's useful to represent a concept that doesn't necessarily have any meaningful \"data\" apart from a name. For example, you may want to represent the states of a simple street-light (i.e. red, yellow, or green). Claro's atoms provide a clean solution for modelling these states: Fig 1: atom Red\natom Yellow\natom Green Now, you can write code that directly uses these Red, Yellow and Green as values. Fig 2: random::forSeed(1) |> random::nextNonNegativeBoundedInt(^, 3) |> var r = ^; var lightColor: oneof;\nmatch (r) { case 0 -> lightColor = Red; case 1 -> lightColor = Yellow; case _ -> lightColor = Green;\n}\nprint(lightColor); Output: Red","breadcrumbs":"Types » Atoms » Atoms","id":"109","title":"Atoms"},"11":{"body":"Get create_claro_project.sh from the latest Release and run this command: $ ./create_claro_project.sh Note: The below recording was made with asciinema - try pausing and copying any text. The first time you build/run a Claro program, you will actually be building the Claro compiler and its dependencies from\nsource. This may take several minutes the first time, but Bazel will cache the built compiler after that first build. You can delete the create_claro_project.sh script once you're done with this initial setup.","breadcrumbs":"Getting Started! » 2 - Auto-Generate Your Project","id":"11","title":"2 - Auto-Generate Your Project"},"110":{"body":"You could try to use strings for this purpose, but then you would need to do runtime string equality checks throughout your codebase to distinguish one state from another as their types would all be the same, `string`, and even worse you open yourself to simple typo bugs. Using atoms, Claro will catch any accidental typos for you at compile-time: Fig 3: $$random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 3)\n$$ |> var r = ^;\n$$\n$$var lightColor: oneof;\n$$match (r) {\n$$ case 0 -> lightColor = Red; case 1 -> lightColor = Yelow; # <-- Claro will catch this misspelling for you.\n$$ case _ -> lightColor = Green;\n$$}\n$$print(lightColor); Compilation Errors: atoms_EX3_example.claro:8: No variable within the current scope! case 1 -> lightColor = Yelow; # <-- Claro will catch this misspelling for you. ^^^^^\natoms_EX3_example.claro:8: Invalid type: found <>, but expected one of (>). case 1 -> lightColor = Yelow; # <-- Claro will catch this misspelling for you. ^^^^^\n2 Errors","breadcrumbs":"Types » Atoms » Static Validation","id":"110","title":"Static Validation"},"111":{"body":"Unlike many other languages, if you want to define a type that has only a limited set of possible values you don't have to declare an \"enum\" ahead of time. Instead, Claro encourages modeling this using the builtin oneof<...> type as in the example above. It can be useful to define an alias to represent the \"enum\" in a concise way if it's widely used: Fig 4: alias LightColor : oneof $$random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 3)\n$$ |> var r = ^;\n$$\nvar lightColor: LightColor;\n$$match (r) {\n$$ case 0 -> lightColor = Red;\n$$ case 1 -> lightColor = Yellow;\n$$ case _ -> lightColor = Green;\n$$}\n$$print(lightColor);","breadcrumbs":"Types » Atoms » Ad-Hoc \"Enums\"","id":"111","title":"Ad-Hoc \"Enums\""},"112":{"body":"Aliases are a powerful feature that allow the expression of arbitrary types. In their simplest form, they may be used as syntactic sugar to reduce keystrokes and cognitive overhead from typing out a full type literal. Fig 1: # You can imagine that typing this out could be verbose/annoying.\nalias IntsToTupleFn: function<|int, int| -> tuple> consumer prettyPrint(name: string, fn: IntsToTupleFn, arg1: int, arg2: int) { var res = fn(arg1, arg2); print(\"{name}({arg1}, {arg2}) -> {res}\");\n} var swapped: IntsToTupleFn = lambda (a, b) -> (b, a);\nprettyPrint(\"swapped\", swapped, 1, 2); var doubled: IntsToTupleFn = lambda (a, b) -> (2*a, 2*b);\nprettyPrint(\"doubled\", doubled, 1, 2); Output: swapped(1, 2) -> (2, 1)\ndoubled(1, 2) -> (2, 4)","breadcrumbs":"Types » Aliases » Aliases","id":"112","title":"Aliases"},"113":{"body":"To be absolutely clear, Aliases are simply syntactic sugar as shown in the example above. They provide a mechanism for reducing the amount of boilerplate code that may need to be written where full type annotations are explicitly required. They also allow you to communicate some sort of \"intent\" where you would like to communicate the purpose of a value to other developers (or your future self) without actually committing to defining a fully new custom type (though aliases should be used for this purpose with caution). For example, below you'll see an example of using aliases to indicate that different int values have different interpretations. Fig 2: alias MPH : double\nalias Hours : double # Arguably you should be using `duration::Duration`.\nalias Miles : double function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours { return distanceTraveled / speed;\n} var speed: MPH = 15.0;\nvar distance: Miles = 60.0;\nprint(timeTraveled(speed, distance)); Output: 4.0","breadcrumbs":"Types » Aliases » Aliases are Syntactic Sugar","id":"113","title":"Aliases are Syntactic Sugar"},"114":{"body":"Keep in mind that excessive use of aliases can be a code smell. If you are using an alias to try to encode some semantic\ndistinction between values, it's very likely that you are writing highly bug-prone code as aliases do not provide any level of compile time verification that values of different alias types don't get accidentally conflated. Fig 3: var mySpeed: MPH = 15.0;\nvar myDistance: Miles = 60.0; # Aliases provide zero compile-time protection from mistakenly passing these\n# args out-of-order.\nprint(timeTraveled(myDistance, mySpeed)); Output: 0.25 See User Defined Types for an example of how to address this issue.","breadcrumbs":"Types » Aliases » Overuse of Aliases Can be a Code Smell","id":"114","title":"Overuse of Aliases Can be a Code Smell"},"115":{"body":"It's important to know that, in general, defining an Alias does not declare a \"new type\", instead it is just providing a shorthand for referring to some type. With an Alias definition, you are simply defining an alternative, more convenient way to refer to a type that is semantically equivalent to typing out the explicit type itself. The example below demonstrates how variables with types declared using equivalent aliases, will in fact type-check as having the same type: Fig 1: alias IntList1 : [int]\nalias IntList2 : [int] var i1: IntList1 = [1];\nvar i2: IntList2 = [2];\nvar i3: [int] = [3]; i2 = i3; # <-- IntList2 is equivalent to [int].\ni1 = i2; # <-- IntList1 is equivalent to IntList2. print(i1);\nprint(i2);\nprint(i3); Output: [3]\n[3]\n[3]","breadcrumbs":"Types » Aliases » Aliases are Not a New Type Declaration » Aliases are Not a New Type Declaration","id":"115","title":"Aliases are Not a New Type Declaration"},"116":{"body":"Nominal typing can actually be very useful for enforcing maintenance of semantic interpretations of even simple data types, and even for maintaining inter-field invariants of more complex structured data types. So, of course, Claro also provides a mechanism to define new, \"nominally typed\" type definitions. This will allow making a semantic distinction between two \"structurally equivalent\" types that have different names. For more on this, see: User Defined Types .","breadcrumbs":"Types » Aliases » Aliases are Not a New Type Declaration » Note on \"Nominal Typing\"","id":"116","title":"Note on \"Nominal Typing\""},"117":{"body":"Claro's type system already provides a very expansive expressive power to represent arbitrarily complex data structures, so, technically speaking, there is no hard requirement for a user to ever define any new types in order write any program. However, by using only the builtin primitive and collection types, you will not be able to leverage Claro's static type validation to ensure that semantic differences between values with structurally equivalent types are actually maintained. This section will attempt to clarify how you can make use of user defined types to enforce semantic constraints throughout your program.","breadcrumbs":"Types » User Defined Types » User Defined Types","id":"117","title":"User Defined Types"},"118":{"body":"The example below demonstrates the declaration of a new type that wraps int. Fig 1: newtype Foo : int In fact, user defined types can wrap any type - even other user defined types: Fig 2: # The order of `newtype` declarations is unimportant.\nnewtype Baz : int\nnewtype Foo : Bar\nnewtype Bar : Baz","breadcrumbs":"Types » User Defined Types » Declaring a New Type","id":"118","title":"Declaring a New Type"},"119":{"body":"Claro automatically provides a one-arg constructor that allows the user defined type to be instantiated by wrapping the declared type. Fig 3: var f = Foo(1);\nprint(f); Output: Foo(1)","breadcrumbs":"Types » User Defined Types » Instantiating an Instance of a User Defined Type","id":"119","title":"Instantiating an Instance of a User Defined Type"},"12":{"body":"Follow the example Claro project configuration at examples/bzlmod/. Important: In your MODULE.bazel file, you'll want to choose the latest release published to:\nhttps://registry.bazel.build/modules/claro-lang","breadcrumbs":"Getting Started! » 2 (Alternative) - Manually Copy Configuration of Example Project","id":"12","title":"2 (Alternative) - Manually Copy Configuration of Example Project"},"120":{"body":"Because Claro's builtin types already enable modelling any arbitrary data structure, the purpose of user defined types is solely to \"wrap\" an existing type in a statically enforceable, semantic layer that distinguishes instances of the user defined type, from the type that is being wrapped. As such, Claro does not do any automatic conversions from the wrapped type to the unwrapped type. So, although newtype Foo : int simply wraps int, it is not interchangeable with int and therefore operations like + are not supported for Foo even though they are for int. Fig 4: newtype Foo : int\nvar f = Foo(1);\nprint(f + 9); Compilation Errors: user_defined_types_EX4_example.claro:3: Invalid type: found , but expected one of ().\nprint(f + 9); ^\n1 Error","breadcrumbs":"Types » User Defined Types » User Defined Types \"Wrap\" an Instance of Another Type","id":"120","title":"User Defined Types \"Wrap\" an Instance of Another Type"},"121":{"body":"The wrapped type can be accessed by explicitly using the builtin unwrap() function. Fig 5: newtype Foo : int\nvar f = Foo(1);\nprint(unwrap(f) + 9); Output: 10","breadcrumbs":"Types » User Defined Types » \"Unwrapping\" a User Defined Type","id":"121","title":"\"Unwrapping\" a User Defined Type"},"122":{"body":"In the Aliases section an example was given that demonstrates the pitfall of the overuse of aliases . One primary source of errors could be addressed by simply declaring a new type for each of MPH, Hours, and Miles. In this case, this statically prevents accidentally passing args to the function out of order: Fig 6: newtype MPH : double\nnewtype Hours : double # Arguably you should be using `duration::Duration`.\nnewtype Miles : double function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours { return Hours(unwrap(distanceTraveled) / unwrap(speed));\n} # Claro can identify this type mismatch.\nprint(timeTraveled(Miles(60.0), MPH(15.0))); Compilation Errors: user_defined_types_EX6_example.claro:10: Invalid type: Found: Miles Expected: MPH\nprint(timeTraveled(Miles(60.0), MPH(15.0))); ^^^^^^^^^^^\nuser_defined_types_EX6_example.claro:10: Invalid type: Found: MPH Expected: Miles\nprint(timeTraveled(Miles(60.0), MPH(15.0))); ^^^^^^^^^\n2 Errors The above error message would lead you to correct the order of arguments and thereby fix the problem: Fig 7: print(timeTraveled(MPH(15.0), Miles(60.0))); Output: Hours(4.0)","breadcrumbs":"Types » User Defined Types » Compile Time Enforcement","id":"122","title":"Compile Time Enforcement"},"123":{"body":"Claro supports the definition of types that may be parameterized with a generic type so that they can be used to contain arbitrary types. For example the following is a definition of a type Maybe that has the generic type param T: Fig 1: newtype Maybe : oneof> This type definition is useful for describing the generic concept of a value that may or may not be present, without needing to define repeated declarations for each specific type that may or may not be present: Note: Claro's error messaging is a work in progress - the below error message will be improved. Fig 2: var maybeInt: Maybe = Maybe(10);\nprint(maybeInt); var maybeStr = Maybe(\"hi\");\nprint(maybeStr); Output: Maybe(10)\nMaybe(hi)","breadcrumbs":"Types » User Defined Types » Parameterized Types » Parameterized Types","id":"123","title":"Parameterized Types"},"124":{"body":"The generic type param must be referenced somewhere in the type definition or Claro will statically reject the definition with an explanation of the problem. Fig 3: newtype Invalid : struct {row: int, col: int} Compilation Errors: Warning! The following declared symbols are unused! [X]\n1 Error","breadcrumbs":"Types » User Defined Types » Parameterized Types » Generic Type Param Must be Referenced in Type Declaration","id":"124","title":"Generic Type Param Must be Referenced in Type Declaration"},"125":{"body":"Claro is able to automatically infer the type of maybeStr whenever it would be possible to do so. Generally speaking, this is possible when the concrete type is actually referenced in the initialization. Fig 1: newtype Maybe : oneof> var maybeStr = Maybe(\"hi\");\ntype(maybeStr);\nprint(maybeStr); Output: Maybe\nMaybe(hi) It's not always possible to automatically infer the type of an instance of a parameterized type. In particular, the below example is impossible to automatically infer as the concrete type is not actually referenced in the initialization: Note: Claro's error messaging is a work in progress - the below error message will be improved. Fig 2: var maybeStr = Maybe(std::Error(std::Nothing));\nprint(maybeStr); Compilation Errors: concrete_type_inference_EX2_example.claro:1: Invalid Generic Procedure Call: For the call to the following generic procedure `Maybe$constructor` with the following signature: `function> -> Maybe> Generic Over {T} Requiring Impls for Contracts {}` The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.\nvar maybeStr = Maybe(std::Error(std::Nothing)); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error In these situations Claro will require you to provide an explicit type annotation to disambiguate your intentions: Fig 3: var maybeStr: Maybe = Maybe(std::Error(std::Nothing));\nprint(maybeStr); Output: Maybe(Error(Nothing))","breadcrumbs":"Types » User Defined Types » Parameterized Types » Concrete Type Inference » Concrete Type Inference","id":"125","title":"Concrete Type Inference"},"126":{"body":"Claro supports the definition of new types that contain recursive self-references. For example a binary tree structure is a classic recursive data structure where each Node in the tree contains a left and right child that may either be another Node or nothing. The below is the definition of a Node that can only hold ints: Fig 1: newtype IntNode : struct { val: int, left: oneof, right: oneof\n} For example, the following initializes a simple tree with the root pointing to two children that have no children of their own: Fig 2: var tree = IntNode({ val = 1, left = IntNode({val = 2, left = std::Nothing, right = std::Nothing}), right = IntNode({val = 3, left = std::Nothing, right = std::Nothing}) });\nprint(tree); Output: IntNode({val = 1, left = IntNode({val = 2, left = Nothing, right = Nothing}), right = IntNode({val = 3, left = Nothing, right = Nothing})})","breadcrumbs":"Types » User Defined Types » Recursive Types » Recursive Types","id":"126","title":"Recursive Types"},"127":{"body":"Of course, the above IntNode definition is too constrained, so ideally we'd define a single Node type that's able to represent trees of arbitrary data types. So, a better Node type definition looks like: Fig 3: newtype Node : struct { val: T, left: oneof, std::Nothing>, right: oneof, std::Nothing>\n} Initialization looks exactly the same as in the concrete IntNode example above: Fig 4: var tree = Node({ val = 1, left = Node({val = 2, left = std::Nothing, right = std::Nothing}), right = Node({val = 3, left = std::Nothing, right = std::Nothing}) });\nprint(tree); Output: Node({val = 1, left = Node({val = 2, left = Nothing, right = Nothing}), right = Node({val = 3, left = Nothing, right = Nothing})})","breadcrumbs":"Types » User Defined Types » Recursive Types » Parameterized Recursive Types","id":"127","title":"Parameterized Recursive Types"},"128":{"body":"Some recursive type definitions are rejected at compile-time because they would be impossible to instantiate. The issue with these type definitions is that the type recursion has no implicit \"bottom\" and implies an infinitely nested value. Because it's impossible to ever initialize a value composed of infinitely many values (you'd never finish typing the code), Claro lets you know right away at compile time that the infinitely recursive type is rejected for being unusable. The below recursive type definitions all trigger compile-time warnings from Claro indicating that these types aren't usable and are therefore illegal. Fig 1: newtype IllegalUnboundedRecursiveAlias : tuple\nnewtype InfiniteRecursion : InfiniteRecursion\nnewtype PartialUnbounded : tuple Compilation Errors: Impossible Recursive Alias Type Definition: Alias `IllegalUnboundedRecursiveAlias` represents a type that is impossible to initialize in a finite number of steps. To define a recursive type you must ensure that there is an implicit \"bottom\" type to terminate the recursion. Try wrapping the Alias self-reference in some builtin empty-able collection: E.g. Instead of: alias BadType : tuple Try something like: alias GoodType : tuple\n1 Error","breadcrumbs":"Types » User Defined Types » Recursive Types » Impossible Recursive Types » Impossible-to-Initialize Recursive Alias Type Definitions","id":"128","title":"Impossible-to-Initialize Recursive Alias Type Definitions"},"129":{"body":"So far, through each code snippet you've seen, each variable has always included an explicit type declaration. This may be useful for the sake of very explicit readability, however, these type annotations littering your entire codebase may begin to feel very clunky and inconvenient - particularly when the type is very obvious to the reader, or sometimes if it becomes very long to type (as the result of many layers of nested collections for example). In almost every case, however, these explicit type annotations are optional in Claro! Claro is smart enough to be able to infer the vast majority of types in any given program. So, unless you feel that the type annotation being present makes the code more readable in a particular situation, then you can generally omit it entirely! Please keep in mind, however, that while this may indeed make your code visually resemble something like Python or JavaScript, Claro is 100% statically typed. Therefor, in this regard, Claro is much more alike Rust/Java/Haskell than it is like any dynamic language. And, importantly, Claro is not an \"Optionally Statically Typed\" language like Typescript - the compiler must always statically know the type of every value, you may at times simply choose to avoid explicitly including the type annotation in the source code.","breadcrumbs":"Type Inference » Type Inference","id":"129","title":"Type Inference"},"13":{"body":"As Claro is still firmly in development, it has only been tested on macOS . You may run into trouble running it on another OS as there are some known portability issues building the Claro compiler from source (currently the only supported way to consume the compiler).","breadcrumbs":"Getting Started! » Supported Operating Systems","id":"13","title":"Supported Operating Systems"},"130":{"body":"Instead of: Fig 1: var i: int = 1;\nvar b: boolean = true;\nvar l: [tuple] = [(1, true), (2, false)]; You could write: Fig 2: var i = 1;\nvar b = true;\nvar l = [(1, true), (2, false)]; Each corresponding statement has exactly the same meaning. They differ only syntactically. Each variable is still declared to have the same static type you'd expect.","breadcrumbs":"Type Inference » Examples","id":"130","title":"Examples"},"131":{"body":"There are same specific situations where Claro will require a type annotation to understand your intent. Note that these situations are not just a limitation of the compiler, even if Claro would somehow implicitly decide a type for you in these situations, your colleagues (or your future self) would struggle to comprehend what type was being inferred. For clarity and correctness in the following situations, you will be required to write an explicit type annotation:","breadcrumbs":"Type Inference » Required Type Annotations » Required Type Annotations","id":"131","title":"Required Type Annotations"},"132":{"body":"Most obvious is the fact that all procedure signatures must fully encode the types of any arguments and, if the procedure returns a value, its return type. Fig 1: function add(lhs: int, rhs: int) -> int { # ...\n$$ return lhs + rhs;\n} If you're thinking, \"but sometimes I want to write procedures that can accept values of more than one type!\" , then you have a couple options: If you know the possible set of types ahead of time: use oneof<...> Otherwise: use generics","breadcrumbs":"Type Inference » Required Type Annotations » Procedure Signatures","id":"132","title":"Procedure Signatures"},"133":{"body":"As lambdas are just anonymous procedures, they must either be used in a context that already \"asserts\" the lambda's signature, such as in this variable declaration: Fig 2: var add: function<|int, int| -> int> = lambda (lhs, rhs) -> lhs + rhs; Note: Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression: Fig 3: var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };","breadcrumbs":"Type Inference » Required Type Annotations » Lambda Expressions assigned to variables","id":"133","title":"Lambda Expressions assigned to variables"},"134":{"body":"Claro would have no way of knowing what type the below list was intended to be without an explicit type annotation: Fig 4: var l: [int] = [];","breadcrumbs":"Type Inference » Required Type Annotations » Initializing Empty Builtin Collections","id":"134","title":"Initializing Empty Builtin Collections"},"135":{"body":"Unlike with literal integer tuple subscript indices, when you use a non-literal tuple subscript index value, you have hidden the index from Claro's type inference behind a layer of indirection that Claro will not attempt to follow. In these cases you'll be required to assert your intent via a runtime type cast: Fig 5: var t = (1, \"one\", 1.1);\nvar i = random::nextNonNegativeBoundedInt(random::create(), 3); # This program crashes at runtime a third of the time...\nvar t_int = cast(int , t[i]);\nprint(t_int); Warning : Claro allows this simply to avoid being too restrictive, but you should arguably take these runtime casts as a code-smell and find a statically safe way to rewrite your code to avoid this sort of dynamic tuple subscripting.","breadcrumbs":"Type Inference » Required Type Annotations » Non-literal Tuple Subscript","id":"135","title":"Non-literal Tuple Subscript"},"136":{"body":"When a generic return type can't be inferred from arg(s) referencing the same generic type, you must explicitly assert the type that you intend for the procedure to return. This is something that will likely only come up in more advanced usage of the language. Getting into this situation requires using multiple language features together in a rather intentional way, but for completeness here's an example of how this may happen: Fig 6: function assertVariant(o: oneof) -> oneof> { if (o instanceof Asserted) { return o; } return std::Error(std::Nothing);\n} var myOneof: oneof = \"hello\"; var assertedInt = cast(oneof>, assertVariant(myOneof));\nvar assertedStr = cast(oneof>, assertVariant(myOneof)); print(assertedInt);\nprint(assertedStr); Output: Error(Nothing)\nhello See the Generic Return Type Inference section for more on this.","breadcrumbs":"Type Inference » Required Type Annotations » (Advanced) Calls to Generic Procedure With Unconstrained Return Type","id":"136","title":"(Advanced) Calls to Generic Procedure With Unconstrained Return Type"},"137":{"body":"Because Claro monomorphizes generic procedures , Claro must determine the called procedure's concrete types based on the types of the arguments. In the case that the type of an argument expression is ambiguous, it must be explicitly annotated with a cast: Fig 7: consumer foo(a: A) { # ...\n$$ print(a);\n} var t = (1, \"one\");\nvar i: int = # ...\n$$ random::nextNonNegativeBoundedInt(random::create(), 2); foo(cast(int, t[i])); However, the effect of this can be limited in generic procedures with multiple arguments. The type cast may not be necessary if the type parameter is already constrained by another preceding argument: Fig 8: consumer apply(a: A, c: consumer) { c(a);\n} apply(1, x -> { print(x + 10); }); Output: 11","breadcrumbs":"Type Inference » Required Type Annotations » Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position","id":"137","title":"Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position"},"138":{"body":"All languages tend to have a way to encapsulate a block of logic in one place so that it can be reused throughout the program. Generally, however, languages tend to provide only a single tool for this job, the function. The problem I see with this is that not all functions in these languages are created equal - but yet they're all forced to share the same structure which has some unfortunate implications. The general idea is straightforward: a function takes in some data, manipulates it somehow, and possibly returns some data. However, not all functions take input, and not all of them return data (\"void\" is not data... looking at you, Java and friends). To me, this is very unclear using a single structure, functions, for meaningfully different purposes. Claro addresses this by getting specific. Claro provides \"Procedures\" broken into a few sub-categories: Functions, Consumers, and Providers.","breadcrumbs":"Procedures » Procedures","id":"138","title":"Procedures"},"139":{"body":"A Procedure that takes in same data and returns some data. Fig 1: function add(x: int, y: int) -> int { return x + y;\n} print(add(10, 5)); Output: 15","breadcrumbs":"Procedures » Functions » Functions","id":"139","title":"Functions"},"14":{"body":"Continue on to the next section to learn how to build and run your first Claro program!","breadcrumbs":"Getting Started! » Your First Claro Program","id":"14","title":"Your First Claro Program"},"140":{"body":"A Procedure that takes in some data but doesn't return any data. Fig 1: consumer show(s: string, age: int, heightFt: int) { # String formatting. print(\"{s} is {age} years old and {heightFt}ish feet tall.\");\n} # Calling the consumer. Syntactically, consumers are always used as statements,\n# never as an expression (something that has a value).\nshow(\"Laura\", 29, 5); Output: Laura is 29 years old and 5ish feet tall. Note: Consumers tend to be an inherent waste of computation time unless that consumer does some side-effecting operation observable outside the program scope. So, it may be a useful hint that if you're reading code that includes a call to a consumer, some I/O is very likely taking place (if not, you should delete the call entirely as it's a waste of work).","breadcrumbs":"Procedures » Consumers » Consumers","id":"140","title":"Consumers"},"141":{"body":"A Procedure that takes in no data but returns some data. Fig 1: provider getInt() -> int { return 10;\n} print(getInt()); Output: 10","breadcrumbs":"Procedures » Providers » Providers","id":"141","title":"Providers"},"142":{"body":"Claro opens you up to taking full advantage of functional programming techniques by allowing you to assign Procedures to variables and to pass them around as data, allowing you to hand them off to be called later.","breadcrumbs":"Lambdas & First Class Procedures » Lambdas & First Class Procedures","id":"142","title":"Lambdas & First Class Procedures"},"143":{"body":"Lambdas expressions look something like the examples below. Fig 1: var f: function int> = x -> x + 1;\nvar c: consumer = x -> { print(x); };\nvar p: provider = () -> 10; Note : lambdas require explicit type annotations , but Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression: Fig 2: var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };","breadcrumbs":"Lambdas & First Class Procedures » Defining Lambdas","id":"143","title":"Defining Lambdas"},"144":{"body":"You may also reference named procedures as first-class data just like lambdas: Fig 3: function add(x: int, y: int) -> int { return x + y;\n} var applyBiConsumer = lambda (x: int, y: int, mapFn: function<|int, int| -> int>) -> { print(mapFn(x, y)); }; # Pass a reference to the `add()` function as a first class arg.\napplyBiConsumer(10, 5, add); #15. Output: 15","breadcrumbs":"Lambdas & First Class Procedures » First Class Procedure References","id":"144","title":"First Class Procedure References"},"145":{"body":"A \"closure\" is an anonymous procedure that is able to capture long-lived references to the variables defined outside the body of the lambda, importantly, keeping that reference even as the lambda itself leaves the scope. This is exactly how Python or Java lambdas work, for example. Unfortunately, this leads to hard-to-understand code as you end up with \"spooky action at a distance\" where calling a lambda can cause some faraway data to be changed without necessarily realizing or intending for that to be happening. This would be fatal for Claro's more advanced \" Fearless Concurrency \" goal, because it represents hidden mutable state which would invalidate Claro's goals of guaranteeing that multithreaded code unable to run into data races. So, to address these issues, when lambdas reference variables in outer scopes, the variables are captured as a local copy of the current value referenced by that variable. Claro's Lambdas have no mechanism to mutate anything not passed in as an explicit argument, and they cannot carry any mutable state .","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Lambdas are Restricted \"Closures\"","id":"145","title":"Lambdas are Restricted \"Closures\""},"146":{"body":"Claro will statically validate that lambdas don't violate the above restrictions: Fig 1: var i = 0;\nvar f = (x: int) -> int { i = x + i; # `i` is captured, and illegally updated. return i;\n}; Compilation Errors: lambda_closures_EX1_example.claro:3: Illegal Mutation of Lambda Captured Variable: The value of all variables captured within a lambda context are final and may not be changed. This restriction ensures that lambdas do not lead to so-called \"spooky action at a distance\" and is essential to guaranteeing that Graph Procedures are data-race free by construction. i = x + i; # `i` is captured, and illegally updated. ^\nWarning! The following declared symbols are unused! [f]\n2 Errors","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Static Validation","id":"146","title":"Static Validation"},"147":{"body":"When a lambda captures a variable from the outer scope, the captured variable inside the lambda is effectively completely independent from the original variable in the outer scope. It simply \"shadows\" the name of the outer scope variable. In this way, lambdas are guaranteed to be safe to call in any threading context as thread-related ordering alone can't affect the value returned by the lambda: Fig 2: var i = 1;\nvar f = (x: int) -> int { # This lambda captures a **copy** of the variable `i`. return x + i;\n}; for (x in [0, 1, 5, 5]) { print(\"i: {i}\"); print(\"f({x}): {f(x)}\\n\"); i = i * 10; # <-- This update of `i` is not observed by the lambda.\n} Output: i: 1\nf(0): 1 i: 10\nf(1): 2 i: 100\nf(5): 6 i: 1000\nf(5): 6","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Captured Variables \"Shadow\" Variables in the Outer Scope","id":"147","title":"Captured Variables \"Shadow\" Variables in the Outer Scope"},"148":{"body":"While Claro's design decisions around Lambdas make sense in the name of enabling \"Fearless Concurrency\", the restrictions may seem like they prevent certain design patterns that may be completely valid when used carefully in a single-threaded context. But worry not! You can of course implement \"closure\" semantics yourself (albeit in a more C++ style with explicit variable captures). Fig 3: newtype ClosureFn : struct { state: State, fn: function Out>\n} function callClosure(closureFn: ClosureFn) -> Out { var toApply = unwrap(closureFn).fn; return toApply(unwrap(closureFn).state);\n} var mutList = mut [1];\nvar getAndIncrClosure: ClosureFn = ClosureFn({ state = mutList, fn = l -> { var res = l[0]; l[0] = l[0] + 1; # Update the \"captured\" state. return res; } }); print(mutList); # mut [1]\nprint(callClosure(getAndIncrClosure)); # 1\nprint(callClosure(getAndIncrClosure)); # 2\nprint(callClosure(getAndIncrClosure)); # 3\n# \"Spooky Action at a Distance\" mutating `mutList` on the lines above when\n# `mutList` was never directly referenced.\nprint(mutList); # mut [4] Output: mut [1]\n1\n2\n3\nmut [4] Note : The beauty of this design is that even though Claro doesn't prevent you from emulating traditional \"closures\" on your own if you so chose, Claro can still statically identify that this ClosureFn type is unsafe for multithreaded contexts and will be able to prevent you from using this to create a data race!","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Manually Emulating Traditional \"Closures\"","id":"148","title":"Manually Emulating Traditional \"Closures\""},"149":{"body":"Oftentimes, you'll find that some code patterns keep coming up over and over and you'll want to find same way to factor out the major commonalities in logic from the minor specific details that you'd want to just plug in as needed. For example, you might realize that you're writing loops to filter lists based on conditions all over your code; the only difference between the implementation in any of these occurrences of filtering being the element types and the specific condition. But because you want to filter lists of all kinds of types you might not immediately think you could write a single function that could be called wherever filtering is needed. Enter Generics! Fig 1: function reduce(l: [A], fn: function<|B, A| -> B>, accum: B) -> B { for (e in l) { accum = fn(accum, e); } return accum;\n} The function reduce(...) is defined to take a list of elements of some arbitrary (generic) type, A, and an accumulation function that takes in the current accumulated value, of type B, and the current element of that generic type, A. In this example, the particular types A and B are \"unconstrained\". The only constraint is the typical constraint that the given function's first arg must have the same type as the initial accumulated value, and the second arg must have the same type as the elements of the reduced list. So, the generic types take on the \"concrete\" types of the data that happens to be passed into the function's callsite: Fig 2: var sum: int = reduce([1, 2, 3, 4], lambda (accum, x) -> accum + x, 0); var totalChars: int = reduce( [\"Count\", \"the\", \"total\", \"chars\", \"in\", \"these\", \"strings\"], lambda (accum, s) -> accum + len(s), 0 ); print(sum);\nprint(totalChars); Output: 10\n32","breadcrumbs":"Generics » Generics","id":"149","title":"Generics"},"15":{"body":"The create_claro_project.sh script generated several files: Fig 1: demo\n|-- .bazelrc\n|-- .bazelversion\n|-- MODULE.bazel\n|-- README.md\n`-- example |-- BUILD |-- demo.claro `-- input.txt 1 directory, 7 files Let's take a brief tour through each file to get a high level understanding of what's going on. If you're already familiar with Bazel, jump ahead to writing your first Claro program . You do not need to be a Bazel expert to get up to speed with Claro! But, if you want a deeper understanding of Bazel as\na whole, check out Bazel's official concepts guide.","breadcrumbs":"Getting Started! » Understanding the Starter Project » Understanding the Starter Project","id":"15","title":"Understanding the Starter Project"},"150":{"body":"Consider the example of the generic function: Fig 1: function filter(l: [A], pred: function boolean>) -> [A] { # ...\n$$ return [a | a in l where pred(a)];\n} If you really squint, you might notice that there's very little information available in the body of the filter(...) function to tell you about the type T. As a result, you're unable to do much with values of such an unconstrained generic type beyond passing the value along to another generic function accepting an unconstrained generic arg, or putting it into some collection defined over the same generic type. This would be very limiting if this was all that could be done with generics. Enter Contracts! It will take a bit of a buildup, but we should be able to write generic functions that will be able to put constraints on the acceptable types, for example saying something like \"this procedure will accept any type, T, for which the function foo(arg1: T, arg2: T) exists.\" For example, we should be able to write the following generic function: Fig 2: requires(Operators) # <-- What is this `requires(...)`?\nfunction sum(l: [T]) -> T { var res = l[0]; var i = 0; while (++i < len(l)) { res = Operators::add(res, l[i]); # <-- What is this `Operators::add`? } return res;\n} The function above has a new requires(...) clause in the signature which we haven't seen before. This is the mechanism by which a function constrains the set of types that may be passed into this function to only types that definitely have a certain associated procedure implementation existing. The requires(...) clause takes in a list of \"Contracts\" that must be implemented over the generic type. In this case that contract's definition looks like: Fig 3: contract Operators { function add(lhs: X, rhs: X) -> X;\n} This Contract specifies a single function signature that any implementation of this Contract must implement. Other Contracts may specify more than one signature, or even more than one generic type param. There are no restrictions on where the generic Contract param(s) may be used in the procedure signatures, so it may even be included in the return type as shown in the example above. The only requirement on signatures is that each one must make use of each generic arg type listed in the Contract's signature. This is mandatory as Claro looks up the particular implementations by inspecting the arg types provided at the Contract procedure's call-sites.","breadcrumbs":"Generics » Contracts » Contracts","id":"150","title":"Contracts"},"151":{"body":"Coming from an Object-Oriented background, you may be tempted to compare Contracts to \"Interfaces\", but you'll find that while they may be used to a similar effect, they are not the same thing. The intention of an \"Interface\" is to encode subtyping relationships between types, whereas Claro has absolutely no notion of subtyping . All defined types are strictly independent of one another. Claro asks you to simplify your mental model and simply think of Contracts as a mechanism for encoding a required bit of functionality that needs to be implemented uniquely over values of unrelated, arbitrary (generic) types.","breadcrumbs":"Generics » Contracts » Contracts are Not Interfaces","id":"151","title":"Contracts are Not Interfaces"},"152":{"body":"Simply defining a contract is not sufficient to actually be useful, however, since the definition itself doesn't provide any logic. So, to actually use a Contract, we must implement it for a certain (set of) concrete type(s): Fig 1: implement Operators { function add(lhs: int, rhs: int) -> int { return lhs + rhs; }\n} implement Operators { function add(lhs: string, rhs: string) -> string { return \"{lhs}{rhs}\"; }\n} Now that you have implementations, you can either call them directly: Fig 2: print(Operators::add(10, 20));\nprint(Operators::add(\"Hello, \", \"world\")); Output: 30\nHello, world Or, even more valuable, you can also call the generic sum function from the previous section over concrete types int or string because the requirements are met for both! Fig 3: print(sum([1, 2, 3]));\nprint(sum([\"a\", \"bc\", \"d\"])); Output: 6\nabcd In this way, Claro's Contracts interact with Generics to create a powerful form of code reuse where custom behavior can be uniquely dictated by type information. And, unlike in an Object-Oriented language, this code reuse did not rely on creating any subtyping relationships.","breadcrumbs":"Generics » Contracts » Implementing a Contract » Implementing a Contract","id":"152","title":"Implementing a Contract"},"153":{"body":"As a performance note - even beyond the conceptual simplification benefits of avoiding dependence on subtyping relationships to achieve custom behaviors, Claro also achieves performance gains through its ability at compile-time to statically know which custom Contract implementation will be called. In the Object-Oriented approach, generally speaking the procedure receiving an arg of an interface type doesn't know which particular implementation will be called at runtime. This leads to the situation where a runtime \"dispatch table\"/\"vtable\" lookup is required to determine which particular implementation to call for each particular value passed into the procedure. Claro is a \"monomorphizing\" compiler, meaning that during compilation each Generic Procedure has a customized implementation codegen'd for each set of concrete types the procedure is actually called with. In this way, there's no runtime dispatch overhead when types are statically known (which is always true unless you're explicitly calling a generic procedure over a oneof<...> type - but in this case you're consciously opting into dynamic dispatch overhead).","breadcrumbs":"Generics » Contracts » Implementing a Contract » A Note on Static Dispatch via \"Monomorphization\"","id":"153","title":"A Note on Static Dispatch via \"Monomorphization\""},"154":{"body":"One very interesting capability that you get from the combination of Claro's bidirectional type inference and generics is the ability to infer which Contract implementation to defer to based on the expected/requested return type at a procedure call-site. Let's get more specific. Fig 1: contract Index { function get(l: T, ind: int) -> R;\n} implement Index<[int], int> { function get(l: [int], ind: int) -> int { return l[ind]; }\n} atom IndexOutOfBounds\nnewtype SafeRes : oneof> implement Index<[int], SafeRes> { function get(l: [int], ind: int) -> SafeRes { if (ind >= 0 and ind < len(l)) { return SafeRes(l[ind]); } return SafeRes(std::Error(IndexOutOfBounds)); }\n} For the above implementations of Index, you'll notice that each function, Index::get, only differs in its return type but not in the arg types. So, Claro must determine which implementation to defer to by way of the contextually expected return type. This, I believe leads to some very convenient ergonomics for configurability, though the onus for \"appropriate\" use of this feature is a design decision given to developers. Fig 2: var l = [1,2,3]; var unsafeRes: int = Index::get(l, 1);\nvar safeRes: SafeRes = Index::get(l, 1); print(unsafeRes);\nprint(safeRes); safeRes = Index::get(l, 10);\nprint(safeRes); # Out of bounds runtime err.\n# unsafeRes: int = Index::get(l, 10); Output: 2\nSafeRes(2)\nSafeRes(Error(IndexOutOfBounds))","breadcrumbs":"Generics » Generic Return Type Inference » Generic Return Type Inference","id":"154","title":"Generic Return Type Inference"},"155":{"body":"As described in further detail in the section on Required Type Annotations , certain generic procedures that return a value of a generic type may require the call to be explicitly constrained by context. In particular, this will be the case when the generic type does not appear in any of the procedure's declared arguments. For example, calling the above Index::get Contract Procedure will statically require the \"requested\" return type to be statically constrained by context: Fig 3: # Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?\nvar ambiguous = Index::get(l, 10); Compilation Errors: generic_return_type_inference_EX3_example.claro:2: Ambiguous Contract Procedure Call: Calls to the procedure `Index$::get` is ambiguous without an explicit type annotation to constrain the expected generic return type `R`.\nvar ambiguous = Index::get(l, 10); ^^^^^^^^^^^^^^^^^\n1 Error","breadcrumbs":"Generics » Generic Return Type Inference » Ambiguous Calls","id":"155","title":"Ambiguous Calls"},"156":{"body":"Note that while this specific ambiguity can only possibly arise as a result of calls to a Contract procedure, even indirect calls can cause this problem: Fig 4: requires(Index)\nfunction pickRandom(collection: C, maxInd: int) -> R { return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));\n} # Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?\nvar ambiguous = pickRandom([1, 2, 3], 10); Compilation Errors: generic_return_type_inference_EX4_example.claro:7: Invalid Generic Procedure Call: For the call to the following generic procedure `pickRandom` with the following signature: `function<|[int], int| -> R> Generic Over {[int], R} Requiring Impls for Contracts {Index$<[int], R>}` The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.\nvar ambiguous = pickRandom([1, 2, 3], 10); ^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error Again, you can resolve this issue by explicitly declaring the \"requested\" return type: Fig 5: $$requires(Index)\n$$function pickRandom(collection: C, maxInd: int) -> R {\n$$ return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));\n$$}\n$$\n# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?\nvar unambiguous: SafeRes = pickRandom([1, 2, 3], 10);\nprint(unambiguous); Output: SafeRes(Error(IndexOutOfBounds))","breadcrumbs":"Generics » Generic Return Type Inference » Ambiguity via Indirect Calls to Contracts","id":"156","title":"Ambiguity via Indirect Calls to Contracts"},"157":{"body":"In the course of writing software, it can be very common that you'll need to copy some data. In particular, when dealing with collections that are either themselves mutable, or contain mutable elements, copying can be needed so that one copy of the data can be updated while leaving the other unchanged. However, you may find that many languages (e.g. Java/C++) make this extremely simple task prohibitively difficult requiring planning ahead to explicitly implement copying support on every data type that you think you'll want to copy in the future. To address this, Claro supports deep copying out-of-the-box with the builtin copy(...) function. Fig 1: var l = mut [1, 2, 3];\nvar myCopy = copy(l); print(\"Before update:\");\nprint(\"l: {l}\");\nprint(\"myCopy: {myCopy}\"); myCopy[2] = -99999; print(\"\\nAfter update:\");\nprint(\"l: {l}\");\nprint(\"myCopy: {myCopy}\"); Output: Before update:\nl: mut [1, 2, 3]\nmyCopy: mut [1, 2, 3] After update:\nl: mut [1, 2, 3]\nmyCopy: mut [1, 2, -99999]","breadcrumbs":"Copying Data » Copying Data","id":"157","title":"Copying Data"},"158":{"body":"Claro's builtin copy(...) function performs a deep copy , meaning that the entire nested structure is traversed and copied (as needed). The below example copies some nested data and demonstrates that the resulting internal data can be mutated in isolation: Fig 2: var original = {left = mut (1, [10]), right = ([\"aaa\"], mut [\"bbb\"])};\nvar copied = copy(original); print(original);\nprint(copied);\nprint(\"\"); copied.left[0] = -99;\ncopied.right[1][0] = \"MODIFIED\"; print(original);\nprint(copied);\nprint(\"\"); Output: {left = mut (1, [10]), right = ([aaa], mut [bbb])}\n{left = mut (1, [10]), right = ([aaa], mut [bbb])} {left = mut (1, [10]), right = ([aaa], mut [bbb])}\n{left = mut (-99, [10]), right = ([aaa], mut [MODIFIED])}","breadcrumbs":"Copying Data » Deep Copying","id":"158","title":"Deep Copying"},"159":{"body":"Claro's builtin copy(...) function supports the ability to coerce the mutability of the data being copied. This is primarily a matter of convenience to, in as many cases as possible, avoid Claro programmers to needing to manually write custom copy implementations. In order to convey that a mutability coercion is being requested, the return type of the copy(...) call simply needs to be constrained to some variant of the original value's type with mutability annotations updated as desired. Claro will automatically codegen the appropriate logic to perform the requested copying + coercion. Note that this feature relies on compile-time knowledge to ensure that any coercions would not actually invalidate any language semantics or violate type system rules. In the below example, a mut [[int]] is copied, with the type simultaneously coerced to [mut [int]]: Fig 1: var original = mut [[1, 2, 3], [4, 5], [6]];\nvar coercedCopy: [mut [int]] = copy(original);\ntype(coercedCopy);\nprint(\"Elements of `coercedCopy` match `original`?: {checkElementsMatch(original, coercedCopy)}\\n\"); # Now demonstrate that the lists are now independent.\nprint(\"Before mutation -\");\nprint(\"original: {original}\");\nprint(\"coercedCopy: {coercedCopy}\\n\"); original[0] = [-11111111];\ncoercedCopy[0][0] = -22222222; # <-- Outer list is now immutable, so modifying now mutable inner list. print(\"After mutation -\");\nprint(\"original: {original}\");\nprint(\"coercedCopy: {coercedCopy}\"); function checkElementsMatch(original: mut [[int]], coercedCopy: [mut [int]]) -> boolean { # ...\n$$ var i = 0;\n$$ while (i < len(original)) {\n$$ var j = 0;\n$$ while (j < len(original[i])) {\n$$ if (original[i][j] != coercedCopy[i][j]) {\n$$ return false;\n$$ }\n$$ ++j;\n$$ }\n$$ ++i;\n$$ }\n$$ return true;\n} Output: [mut [int]]\nElements of `coercedCopy` match `original`?: true Before mutation -\noriginal: mut [[1, 2, 3], [4, 5], [6]]\ncoercedCopy: [mut [1, 2, 3], mut [4, 5], mut [6]] After mutation -\noriginal: mut [[-11111111], [4, 5], [6]]\ncoercedCopy: [mut [-22222222, 2, 3], mut [4, 5], mut [6]]","breadcrumbs":"Copying Data » Mutability Coercion on Copy » Mutability Coercion on Copy","id":"159","title":"Mutability Coercion on Copy"},"16":{"body":"See: Official Bazel reference - This file marks the root of your Bazel project. Fig 2: module(name = \"example-claro-module\") bazel_dep(name = \"claro-lang\", version = \"0.1.409\")","breadcrumbs":"Getting Started! » Understanding the Starter Project » MODULE.bazel","id":"16","title":"MODULE.bazel"},"160":{"body":"It's worth noting explicitly that Claro's newtype declarations statically encode the mutability any collections they happen to wrap. Claro's builtin copy(...) cannot be used to invalidate these explicit mutability declarations, for example: Fig 2: # There's nothing that can possibly be done to make Foo wrap a mutable list.\nnewtype Foo : [T] However, parameterized User Defined Types may accept any concrete type in the place of the generic type parameter, and Claro's builtin copy(...) function can be used to do mutability coercion on these values. The below example demonstrates setting the concrete type T = mut tuple meaning that Foo originally wraps the type [mut tuple]. Then, upon copying the original value, the type is coerced to T = tuple resulting in Foo wrapping the deeply immutable type [tuple]: Fig 3: newtype Foo : [T] var original: Foo> = Foo([mut (\"original\", 1)]);\nvar coercedCopy: Foo> = copy(original); unwrap(original)[0][0] = \"UPDATED\";\nunwrap(original)[0][1] = 2; print(\"original: {original}\");\nprint(\"coercedCopy: {coercedCopy}\"); Output: original: Foo([mut (UPDATED, 2)])\ncoercedCopy: Foo([(original, 1)])","breadcrumbs":"Copying Data » Mutability Coercion on Copy » Mutability Coercion Can Apply to Type Parameters of a User Defined Type","id":"160","title":"Mutability Coercion Can Apply to Type Parameters of a User Defined Type"},"161":{"body":"As Claro's builtin copy(...) performs a deep copy , performance becomes an important consideration when data can become arbitrarily large (whether as a result of a deeply nested type or not). Fortunately, Claro is able to perform one significant optimization that can have an incredible effect on the runtime performance of copying large data structures.","breadcrumbs":"Copying Data » Performance Optimizations » Performance Optimizations","id":"161","title":"Performance Optimizations"},"162":{"body":"The key observation that enables this performance optimization is that, as Claro does not expose a value's memory location to users, if a piece of data is deeply-immutable (and in a few other situations that Claro takes advantage of), there is no possible way to distinguish between the two situations below: having equal values located at different addresses in memory having \"shared references\" to the exact same value in memory Note : This exact same observation underpins Claro's \" Fearless Concurrency \" guarantees. (TODO(steving) Link to section explicitly explaining the fact that Graph procedure inputs must be deeply immutable.) Claro takes advantage of this fact to generate the most efficient possible code to copy the specific type in question. It does so by eliminating any actual copying of deeply immutable data found nested anywhere within a copied value. For example, take the below mutable list containing immutable lists. When it is copied, a new mutable list must be initialized to represent the outer list so that the original and copied values may be mutated independently. However, the internal immutable lists can just be referenced directly in the copied list (thus establishing what are known as \"shared references\" to the underlying memory). Fig 1: var original = mut [[1, 2, 3], [4, 5], [6]];\nvar copied = copy(original); print(original);\nprint(copied); Output: mut [[1, 2, 3], [4, 5], [6]]\nmut [[1, 2, 3], [4, 5], [6]]","breadcrumbs":"Copying Data » Performance Optimizations » Claro's copy(...) is Aware of Mutability","id":"162","title":"Claro's copy(...) is Aware of Mutability"},"163":{"body":"Again, I'll reiterate that it's impossible to directly observe from Claro code itself that this optimization has taken place as Claro doesn't provide any mechanism for actually checking a value's memory address. So, instead, I'll try to demonstrate indirectly that this optimization must actually be occurring. The below example sets up an experiment where a very large, nested list is populated and then copied twice. The first copy is done manually using list comprehension. Then, the second copy uses the builtin copy(...). Each copy is timed to get a sense of the impact of this optimization. To make things interesting, the outermost level of the list is mutable so that the overall copy is not a no-op . However, the performance gain comes from being able to avoid the unnecessary copies all of the inner lists. Note : I'm not claiming that this is a real \"benchmark\" of any sort - just that this broadly demonstrates the claim. Fig 2: $$# Claro's list comprehension needs to support unused elem variable: [someExpr | _ in coll]\n$$function discardFirst(a: A, b: B) -> B {\n$$ _ = a;\n$$ return b;\n$$}\n$$var numbers: mut [int] = mut [];\n$$lists::ensureCapacity(numbers, 1000);\n$$var i = 0;\n$$while (i++ < 1000) {\n$$ lists::add(numbers, i);\n$$}\n$$var GIANT_TEST_LIST: mut [[[int]]] = mut [];\n$$repeat (100) {\n$$ var innerList = [discardFirst(unused, [x | x in numbers]) | unused in numbers];\n$$ lists::add(GIANT_TEST_LIST, innerList);\n$$}\n$$\n# Compute the number of ints in the test list.\nprint(\"GIANT_TEST_LIST dimensions: {len(GIANT_TEST_LIST)}x{len(GIANT_TEST_LIST[0])}x{len(GIANT_TEST_LIST[0][0])}\\n\"); # Now, manually copy the test lest using list comprehension.\nvar firstTestStart = instant::now();\nvar manuallyCopied = mut [[[x | x in l2] | l2 in l1] | l1 in GIANT_TEST_LIST];\nvar firstTestEnd = instant::now(); # Now, copy using the builtin `copy(...)` function.\nvar secondTestStart = instant::now();\nvar efficientlyCopied = copy(GIANT_TEST_LIST);\nvar secondTestEnd = instant::now(); # Let's see approximately how much time each took!\nvar MILLIS_PER_SECOND = 1000.0;\nvar NANOS_PER_SECOND = 1000000000.0;\nduration::between(firstTestStart, firstTestEnd) |> duration::toMillis(^) |> print(\"Manual copy time: {^/MILLIS_PER_SECOND} seconds\");\nduration::between(secondTestStart, secondTestEnd) |> duration::toNanos(^) |> print(\"Builtin copy time: {^/NANOS_PER_SECOND} seconds\"); # Now just to really finish the demonstration, let's confirm that these copies actually contain equal elements to the\n# giant copied list.\nprint(\"\\nmanuallyCopied == GIANT_TEST_LIST: {manuallyCopied == GIANT_TEST_LIST}\");\nprint(\"efficientlyCopied == GIANT_TEST_LIST: {efficientlyCopied == GIANT_TEST_LIST}\"); Output: GIANT_TEST_LIST dimensions: 100x1000x1000 Manual copy time: 2.679 seconds\nBuiltin copy time: 1.28E-4 seconds manuallyCopied == GIANT_TEST_LIST: true\nefficientlyCopied == GIANT_TEST_LIST: true","breadcrumbs":"Copying Data » Performance Optimizations » Demonstrating the Performance Win","id":"163","title":"Demonstrating the Performance Win"},"164":{"body":"Currently Claro's copy implementation suffers from two different implementation problems that will be resolved in a future release. I'll describe them below just for the sake of clarity. Please feel free to reach out if you'd like to help to address these bugs!","breadcrumbs":"Copying Data » Known Copy Bugs » Known copy(...) Bugs","id":"164","title":"Known copy(...) Bugs"},"165":{"body":"Currently, the Claro compiler doesn't do any special handling of recursively defined types, and so as it attempts to generate code for an inlined copy of a recursive type, it ends up infinitely looping over the codegen phase. Fig 1: # This type is recursive (with int as its \"bottom\" to terminate recursion).\nnewtype ComplexData : oneof, {ComplexData}> function generateRandomComplexData(rng: random::RandomNumberGenerator, maxDepth: int) -> ComplexData { # ...\n$$ return generateRandomComplexData_impl(rng, 0, maxDepth);\n}\n$$\n$$function generateRandomComplexData_impl(rng: random::RandomNumberGenerator, currDepth: int, maxDepth: int) -> ComplexData {\n$$ if (currDepth == maxDepth) {\n$$ return ComplexData(-1); # Let's just avoid attempting to create some infinitely large data structure.\n$$ }\n$$ var next = lambda () -> ComplexData { return generateRandomComplexData_impl(rng, currDepth + 1, maxDepth); };\n$$ match (random::nextNonNegativeBoundedInt(rng, 3)) {\n$$ case 0 -> # int\n$$ return ComplexData(random::nextNonNegativeBoundedInt(rng, 100));\n$$ case 1 -> # tuple\n$$ return ComplexData((next(), next()));\n$$ case _ -> # {ComplexData}\n$$ return ComplexData({next(), next(), next()});\n$$ }\n$$} var someComplexData = generateRandomComplexData(random::forSeed(3), 3);\nprint(someComplexData); # KNOWN COMPILER BUG: CURRENTLY CLARO IS UNABLE TO CORRECTLY GENERATE COPY LOGIC OVER RECURSIVE TYPES!\n# This currently causes the compiler to stack overflow. This will be resolved in a future release.\n# var copied = copy(someComplexData);\n# print(copied); Output: ComplexData({ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(81), ComplexData(2), ComplexData(64)}), ComplexData({ComplexData(37), ComplexData(6), ComplexData((ComplexData(-1), ComplexData(-1)))})}) In the future, this will be fixed by statically identifying when a recursive type is being copied, and then generating a custom copy function for that particular type that will actually recurse at runtime rather than at compile time. Note, this will put the onus on the programmer to ensure that they never call copy(...) on any cyclical data structure .","breadcrumbs":"Copying Data » Known Copy Bugs » Compiler Stack Overflows on Copying Recursive Types","id":"165","title":"Compiler Stack Overflows on Copying Recursive Types"},"166":{"body":"Potentially more nefarious than the previous bug, Claro's current copy implementation handles the copying of shared references to mutable data in a way that is potentially likely to cause confusion or lead to bugs. A piece of nested data that contains multiple fields of the same mutable type has the potential to contain shared references to the same mutable value. This is a semantically meaningful feature, not just some esoteric feature of the low-level memory layout. Mutation of this shared mutable data will be observable via each reference in the containing structure. Problematically, when a copy is made, every single mutable value within the entire recursive structure will be guaranteed to have a single, unique reference. This may be a useful guarantee in some contexts, but I believe that this goes against Claro's goals of being as unsurprising as possible. The copied data should have the exact same semantics as the original data that it was derived from, but in this one subtle way that is not currently the case. This will be fixed in a future release. Fig 2: var X = mut [99];\nvar l1 = [X, X];\nvar l2 = copy(l1);\nprint(\"l1: {l1}\");\nprint(\"l2: {l2}\"); l1[0][0] = -1;\nprint(\"\\nl1: {l1} # <-- Notice that both list elements have updated after a single write to the shared reference.\");\nprint(\"l2: {l2}\"); l2[0][0] = -2;\nprint(\"\\nl1: {l1}\");\nprint(\"l2: {l2} # <-- This is arguably a bug. The shared reference was severed.\"); Output: l1: [mut [99], mut [99]]\nl2: [mut [99], mut [99]] l1: [mut [-1], mut [-1]] # <-- Notice that both list elements have updated after a single write to the shared reference.\nl2: [mut [99], mut [99]] l1: [mut [-1], mut [-1]]\nl2: [mut [-2], mut [99]] # <-- This is arguably a bug. The shared reference was severed.","breadcrumbs":"Copying Data » Known Copy Bugs » Generated Copy Logic Severs Shared References to Mutable Data","id":"166","title":"Generated Copy Logic Severs Shared References to Mutable Data"},"167":{"body":"User Defined Types support the declaration of initializers that restrict the usage of the type's default constructor to only the procedures defined within the initializers block. Claro's builtin copy(...) currently provides a backdoor to initialize and instance of a user defined type without actually using one its initializers . This is fortunately of limited impact as the worst thing a user can do is create instances with a mutability declaration that the type would otherwise not support. But regardless, this will be addressed in a future release. Fig 3: newtype Foo : T initializers Foo { # Calling this function should be the **only** way to get an instance of Foo. function getFooForInts(ints: [int]) -> Foo<[int]> { return Foo(ints); }\n} var original: Foo<[int]> = getFooForInts([0, 1, 2]); # The fact that this is somehow permitted is arguably a bug... why are you able\n# to initialize a Foo without invoking the declared initializer?? This seems\n# to break the semantic intent of declaring initializers to restrict the direct\n# instantiation of user defined types to have to \"go through the front door\".\nvar coercedCopy: Foo = copy(original);\nprint(coercedCopy); Output: Foo(mut [0, 1, 2])","breadcrumbs":"Copying Data » Known Copy Bugs » Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions","id":"167","title":"Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions"},"168":{"body":"There is one remaining significant factor that a programming language should provide builtin mechanisms for in order to enable programmers to develop very highly performant code that can take full advantage of the available CPU hardware: concurrency. Sometimes you have already squeezed every last drop of performance out of your algorithmic designs, or you are constrained by waiting for slow operations to complete (DB requests, networked API calls, file I/O) before your program may even make progress through its workload. In these situations, often the only way possible to get more work done is to do more than one thing at the same time. In order to achieve this, Claro asks you to first think about the dependencies between the various steps in your desired workflow. These dependencies come in the form of data, so you should be asking yourself, \"At any given step in my workflow, what data do I need to be available in order to make the decisions I'll need to make or to take the actions needed?\". When you start to reason in this way, you will likely come across opportunities where certain components of your workflow are completely independent, in the sense that they do not rely at all upon the same data in order to do their work. Examples of this are easy to see in web service request handling (each reg can typically be handled independently of any others), or if you look a bit closer it can also be seen in MapReduce style batch processing (the large input is partitioned for the workers to map independently of other partitions. There will be many more examples, but the key takeaway is that if these work items can be partitioned to be completely independent like this, then they should be run at exactly the same time rather than sequentially. In a single-machine context, you achieve this by using multiple threads to execute your program, or portions of your program, concurrently. Unfortunately, using threads is known to have inherent dangers. Mistakes with threaded programs have been known to cause \"deadlocking\" or other issues where a program becomes completely stock and is unable to make forward progress. Alternatively, you may run into \"data races\" where multiple threads attempt to read/write the same shared data simultaneously, each not knowing that another thread may be impacting or be impacted by the state change - this leads to consistency problems where threads end up operating on stale, corrupted, or inconsistent data. These have tended to be reasons for people to fully avoid working with multithreaded code at all - but that caution is just leaving performance on the table. Thankfully, Claro addresses these issues and provides convenient, fearless concurrency!","breadcrumbs":"Concurrency » Concurrency","id":"168","title":"Concurrency"},"169":{"body":"A Graph Procedure is much like a regular Procedure, with the only difference coming in how you structure code in the body. As its mame implies, the body of a Graph Procedure will be structured as a graph of operations. Specifically it is a DAG (directed-acyclic-graph) where each node in the DAG represents some isolated unit of work which may depend on data produced by one or more other nodes and will produce its own resulting data. This structure is inherently parallelizable as Claro can analyze the provided DAG to schedule nodes to run as soon as possible once all of the data depended on by that node is ready. If any two nodes happen to have all of their dependent data ready at the same time, then Claro may schedule those nodes to run concurrently. In fact, not only does Claro enable concurrency, it actually is able to create the optimal schedule to run your nodes. You don't need to think about scheduling at all, simply encode the data relationships between your operations, and Claro does the rest. All of this is achieved by scheduling nodes to run cooperatively on a threadpool currently configured to have a single thread per CPU core (as of this writing, this default is the only option, but it will become configurable in the future (i.e. Google Java services default to 50 request threads)). This allows you to trivially achieve significantly better utilization of your available hardware resources than single threaded code, and much more safely and more easily than can generally be achieved with a handcrafted threaded program. The example below shows syntax vs DAG visualization: Fig 1: graph function getWatchlist(userId: UserId) -> future { root recWatchlist <- mergeTopTen(@movies, @shows); node movies <- getTopMovies(@profile); node shows <- getTopShows(@profile); node profile <- getUserFromDB(userId);\n} As you can see clearly in the diagram below, profile must run first but movies and shows may be computed concurrently: graph TD profile(profile) --> movies profile --> shows movies(movies) --> recWatchList shows(shows) --> recWatchList","breadcrumbs":"Concurrency » Graph Procedures » Graph Procedures","id":"169","title":"Graph Procedures"},"17":{"body":"This is the one place where you'll see the term \"module\" overloaded to refer to Bazel's concept of Modules relating to Bazel's external package management solution. So, the name you pick for your top-level module(name = \"...\") declaration should be something that you would be ok with using to publicly present your project to downstream users if you chose to publish your project to the Bazel Central Registry later on.","breadcrumbs":"Getting Started! » Understanding the Starter Project » module(name = \"example-claro-module\")","id":"17","title":"module(name = \"example-claro-module\")"},"170":{"body":"Great! Now Graph Procedures have given us free concurrency just by structuring our code declaratively rather than imperatively. But as we'd realistically only want to put a few nodes in a single Graph Procedure from a code maintenance and readability point of view, how do we write DAGS that are larger than just a few nodes? Composition! By this I mean simply calling another Graph Procedure from within the current one. For Example: Fig 1: graph function bar(argB: int, argC: C) -> future { root barRes <- doBar(@barA); node barA <- doBarA(@barB, @barC); node barB <- doBarB(argB); node barC <- doBarC(argC);\n} graph TD barC(barC) --> barA barB(barB) --> barA barA(barA) --> barRes Fig 2: graph function foo(argA: A) -> future { root fooRes <- doFoo(@fooA, @fooB); node fooA <- doFooA(@fooC); node fooB <- bar(10, @fooC); # <-- Graph Composition via Call to `bar`. node fooC <- doFooC(argA);\n} graph TD fooC --> fooA fooC --> fooB fooB --> fooRes fooA --> fooRes Because foo(...) includes a call to bar(...) as a subgraph, you can imagine that node fooB in graph foo actually composes around the entire bar graph. graph TD fooC --> fooA fooC --> barC barRes --> fooRes subgraph fooB barC --> barA barB --> barA barA --> barRes end fooA --> fooRes This composition is extremely simple to understand in this way. The entire subgraph is started after all data dependencies of the node wrapping it are ready.","breadcrumbs":"Concurrency » Graph Procedure Composition » Graph Procedure Composition","id":"170","title":"Graph Procedure Composition"},"171":{"body":"As you've already seen, if you call a Graph Procedure from within another Graph (composition) then Claro will automatically handle the scheduling for you so that downstream nodes receive the value when it's ready. If you tried calling a Graph Procedure from the top-level of a file, or from a non-Graph Procedure, then you'll see you receive a value wrapped in a future<...>. This is because, as Claro follows the Async pattern for concurrent execution, some nodes in the Graph Procedure may not be done running yet meaning that the overall Graph result may not be ready either. For example, the getWatchlist Graph Procedure defined earlier could be called as if it were a typical procedure call: Fig 1: $$var someUserId: UserId = \"Jake\";\nvar graphRes: future = getWatchlist(someUserId); There's not much you can do with a future<...> as it's really just a handle representing work whose result you'd like to be able to access when it's ready. In this situation (outside a Graph), as a future<...> represents some computation that may not be done yet, the only way to get the actual result is to block the current thread until the other threads running the graph backing the future<...> have finished. To do so, use the \"blocking unwrap\" op <-|: Fig 2: $$var someUserId: UserId = \"Jake\";\nvar graphRes: Watchlist <-| getWatchlist(someUserId);\nprint(graphRes); Output: Watchlist([{name = Arrival}, {name = Doctor Who, episodeCount = 1000}])","breadcrumbs":"Concurrency » Calling Graph Procedures » Calling Graph Procedures","id":"171","title":"Calling Graph Procedures"},"172":{"body":"The number one thing to keep in mind is that between calling a Graph and blocking on its result, any operations between may be running concurrently with the graph backing the future<...> (you don't know when the graph actually finishes except that it will certainly have finished after the <-| operation). Fig 3: var graphFuture: future = fooGraph(...); # These two instructions are likely running concurrently with respect to\n# `graphFuture`, as `graphFuture` likely hasn't finished yet, but they are\n# definitely serialized with respect to each other.\ndoSomething(...);\ndoAnotherThing(...); # Blocking the current thread to \"unwrap\" the `future` into a raw `Foo`\n# value we can operate on.\nvar graphRes: Foo <-| graphFuture;","breadcrumbs":"Concurrency » Calling Graph Procedures » Graphs Execute off the \"Main\" Thread","id":"172","title":"Graphs Execute off the \"Main\" Thread"},"173":{"body":"There will be times when you actually only want to execute some portion of the graph upon satisfying some condition. In this case, you may inject the node to a procedure expecting a provider> so that you may conditionally trigger execution yourself after checking the condition: Fig 1: graph function getHomepage(userId : UserId) -> future { root homepage <- renderPage(@basePage, @maybeUpgradeBanner); node basePage <- getBasePageFromDB(); node maybeUpgradeBanner <- getOptionalUpgradeBannerFromDB( @userIsPremium, @upgradeBanner # <-- \"Lazy Subgraph\" injection requested. ); node userIsPremium <- checkPremiumFromDB(userId); node upgradeBanner <- getUpgradeBannerFromDB(@specialOffers); node specialOffers <- getSpecialOffers();\n} function getOptionalUpgradeBannerFromDB( alreadyPremium: boolean, getUpgradeBannerFromDBProvider: provider>\n) -> future { if (alreadyPremium) { return futures::immediateFuture(getBasicBanner()); } # Actually invoke the lazy subgraph here since the user isn't premium. return getUpgradeBannerFromDBProvider();\n} function getUpgradeBannerFromDB(specialOffers: [Offer]) -> future { # ...\n$$ # Just an example - real implementation would send DB query.\n$$ _ = specialOffers;\n$$ return futures::immediateFuture(Html(\"
    some html
    \"));\n} provider getSpecialOffers() -> future<[Offer]> { # ...\n$$ # Just an example - real implementation would send an RPC to some downstream service.\n$$ var res: [Offer] = [];\n$$ return futures::immediateFuture(res);\n} # ... Read closely above . The getOptionalUpgradeBannerFromDB() function above expects an arg of type provider> which is injected as a lazy subgraph rooted at node upgradeBanner. In this way, two of the nodes within the overall getHomepage() graph will only run conditionally upon determining that the user is not already a \"premium\" member. graph TD basePage --> homePage maybeUpgradeBanner --> homePage userIsPremium --> maybeUpgradeBanner upgradeBanner -.-> maybeUpgradeBanner specialOffers -.-> upgradeBanner subgraph Conditional Subgraph upgradeBanner specialOffers end","breadcrumbs":"Concurrency » (Advanced) Conditional Subgraph Execution » (Advanced) Conditional Subgraph Execution","id":"173","title":"(Advanced) Conditional Subgraph Execution"},"174":{"body":"One of Claro's most powerful advantages is that it is able to statically analyze your concurrent code to determine that it is impossible to run into a deadlock at runtime. A deadlock is a situation where a thread blocks its execution waiting for another thread to complete or for some other action to complete before it can continue, but the other thread or action never completes thereby leaving the waiting thread permanently blocked. Threads are not free, and effectively losing access to a deadlocked thread has costlier implications than just losing that unit of work completing. Each thread costs about 1MB of RAM and in a server application deployed with a fixed number of threads, losing even one can lead to cascading failures such as thread starvation (having no more threads in a healthy state available do meaningful work) or simply falling behind on incoming request handling, leading to a server decreasing its effective throughput, causing other servers to pick up the load ( making them more likely to fail in turn) or just straight up dropping user requests returning errors to them and degrading product experience. To mitigate these risks at scale, high-throughput, low-latency services turn to the async concurrency pattern to handle all operations in a non-blocking way. Claro's Graph Procedures implement the async pattern for you for free, while statically validating that your concurrent code is entirely non-blocking . It does so by modeling every Graph node as an async operation that will not even be started until after all of its data dependencies are resolved. Once a node is ready for execution it will be scheduled on a threadpool with as many threads as available CPU cores (will be configurable in the future). In this way, calling a Graph Procedure is actually an extremely lightweight operation from the perspective of the calling thread. The calling thread simply traverses the Graph (without executing any nodes) composes a future<...> representing a handle to the work to be done by the Graph submits the Graph to the Graph Executor to schedule on its threadpool when threads become available After these steps the calling thread is completely freed to move on, knowing that the work represented by the Graph Procedure's returned future<...> will be handled by other threads. As a result, in a web server, after calling a request handling Graph the service thread is free to just immediately move on to accepting new requests. The service thread never needs to block to wait for request handling business logic to complete. Now, a server built using this approach will no longer be bound by the number of incoming requests as it will be able to continuously schedule incoming requests to be processed when Graph Executor threads become available. Of course, the server may still fail due to heavy load, though this will end up coming from OOMs (out-of-memory errors) as the result of storing all of the queued requests. Even so, as a general rule, this will happen much later than if you were to execute request handling logic using thread blocking operations, and it will almost always degrade more gracefully when it does eventually reach its limit. The only concession that you, as a programmer, have to make is simply defining all of your concurrent logic inside a Graph Procedure. Claro will then manage all of the scheduling for you, while enforcing that you never block one of the Graph Executor threads (you may not use the <-| operator in any code transitively reachable from your Graph, or else you'll receive a compiler error). To provide a single, well-lit path for safely designing scalable services in Claro, the only available mechanism to access threads are Graph Procedures.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Guaranteed Deadlock-Free Concurrency","id":"174","title":"Guaranteed Deadlock-Free Concurrency"},"175":{"body":"Whereas other languages with some form of builtin concurrency mechanism may tend to make it harder to write async code than blocking code, Claro is very intentional about inverting that balance. Make the good things easy and the bad things hard. So, you may write blacking code in Claro, but as it's really only intended to be used in limited contexts, Claro forces your hand. Any procedure that makes use of the <-| operator either directly or indirectly, must be explicitly annotated to be blocking: Fig 1: blocking function doBlocking(x: int) -> Bar { # ...do stuff... var unwrappedGraphRes: Foo <-| fooGraph(x); # <-- Blocking unwrap. # ...do stuff using `unwrappedGraphRes`... return # ...\n$$ Bar(unwrappedGraphRes);\n}","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Blocking Procedures","id":"175","title":"Blocking Procedures"},"176":{"body":"To prevent deadlocking, procedures annotated blocking may not be called from a Graph: Fig 2: graph function attemptToDeferToBlockingFn(x: int) -> future> { root noopRes <- @defer; node defer <- doBlocking(x); # <-- Illegal call to blocking procedure in Graph.\n} Compilation Errors: Graph Function attemptToDeferToBlockingFn function future>> has illegal transitive dep on the following blocking procedures [doBlocking blocking function Bar>]. Blocking is forbidden within a Graph Function in order to avoid deadlocking.\n1 Error Therefore, you can be confident that the threading implementation of any logic defined within a Graph Procedure will certainly not suffer from liveliness issues in the form of deadlocks (of course, you may still write code with bugs such as infinite loops that may lead to a \"livelock\").","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)","id":"176","title":"Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)"},"177":{"body":"( For context, the blog post \"What Color is Your Function?\" by Bob Nystrom is highly recommended reading. ) Unfortunately, introducing the blocking procedure type variant has the effect of \"coloring\" all functions that transitively reach a blocking procedure. This ends up being a problem for any code that provides some generic functionality over first-class procedure arguments that we would ideally like to be able to reuse and call from any context, whether blocking or not. Take, for example, Functional Programming's common filter function with the following signature: Fig 1: function filter(l: [T], pred: function boolean>) -> [T]; As currently defined, the filter function with the above signature could only be used over non-blocking pred function args. You'd need to write a duplicate function explicitly accepting a blocking pred function in its signature if you wanted to filter lists using a pred function that makes use of blocking operations: Fig 2: blocking function filterBlocking(l: [T], pred: blocking function boolean>) -> [T]; This duplication would be pervasive throughout functional-style code, and would discourage using functional-style at all. Both of which are very undesirable outcomes. So, Claro handles this using one more form of generics inspired by Rust's Keyword Generics Initiative , \"Blocking Generics\".","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » Re: \"What Color is Your Function?\"","id":"177","title":"Re: \"What Color is Your Function?\""},"178":{"body":"You're able to define a procedure whose \"blocking\"-ness is generically determined by the type of the first-class procedure arg that the function is called with. Taking inspiration from Rust's Keyword Generics Initiative , a Claro procedure may be declared \"Blocking-Generic\" with the following syntax: Fig 1: # Explicitly annotate which arg(s) are blocking-generic.\nblocking:pred function filter( l: [T], pred: blocking? function boolean> # <-- Accepting a blocking-generic function arg.\n) -> [T] { return [x | x in l where pred(x)];\n} Now, with only a single implementation of your filter function, calls may be statically determined to be either a blocking or non-blocking call depending on the type of the passed pred function arg. So now, from within a Graph, you may call this \"blocking-generic\" function as long as you pass in a non-blocking pred function. Fig 2: graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> { root noopRes <- @defer; # Legal call to non-blocking procedure in Graph. node defer <- filter(l, (x: int) -> boolean { return x > 0; });\n} var res <-| deferToBlockingGenericFn([-1, 5, 3, 0, 2]);\nprint(res); Output: [5, 3, 2] And of course, Claro will statically forbid calls to blocking-generic procedures when a blocking procedure is passed in: Fig 3: graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> { root noopRes <- @defer; # Illegal call to blocking procedure in Graph. node defer <- filter(l, doBlocking);\n} blocking function doBlocking(x: int) -> boolean {\n$$ var unwrappedGraphRes <-| futures::immediateFuture(x); # <-- Blocking unwrap.\n$$ return unwrappedGraphRes > 0;\n} Compilation Errors: Graph Function deferToBlockingGenericFn function<[int] -> future<[int]>> has illegal transitive dep on the following blocking procedures []. Blocking is forbidden within a Graph Function in order to avoid deadlocking.\n1 Error Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » (Advanced) Blocking Generics","id":"178","title":"(Advanced) Blocking Generics"},"179":{"body":"Claro localizes Generics only to procedure signatures. This is done with the intention of making Generics more easily understandable, such that Generics itself may be conceptualized simply as a form of \"templating\" (regardless of whether this is how the compiler is actually implementing the feature). As a result, these type modifier syntaxes are restricted to being used within top-level procedure definition signatures only. In particular, you may not define a variable of a blocking-generic procedure type: Fig 4: # Illegal use of `blocking:...`, and `blocking?` outside of top-level Procedure definition.\nvar myBlockingGenericFn: blocking:arg1 function<|[int], blocking? function boolean>| -> [int]>; Compilation Errors: blocking_generics_EX4_main.claro:3: Unexpected token <:> blocking:arg1 function<|[int], blocking? function boolean>| -> [int]>; ^\nCan't recover from previous error(s)\n2 Errors Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » Note on the blocking:argName and blocking? Syntax","id":"179","title":"Note on the blocking:argName and blocking? Syntax"},"18":{"body":"This file is where you will declare your external dependencies for Bazel to resolve at build time. Every Claro project will need to declare an external dependency on the claro-lang project to get access to the Build Rules (e.g. claro_binary() and claro_module()) as well as the compiler itself. Keeping your installation of Claro up-to-date is as simple as bumping the version number listed here. Claro has been published to the BCR at https://registry.bazel.build/modules/claro-lang. Check for new releases there to make sure that you're using the latest and greatest.","breadcrumbs":"Getting Started! » Understanding the Starter Project » bazel_dep(name = \"claro-lang\", version = \"0.1.409\")","id":"18","title":"bazel_dep(name = \"claro-lang\", version = \"0.1.409\")"},"180":{"body":"This has the implication that lambdas may not make use of blocking generics. But this is in line with Claro's single-use intention for lambdas, encouraging the definition of lambdas that will only be used in a single limited scope. For any cases that actually need to make use of blocking-generics, you are by definition defining a procedure that should have more than one use case, and you should define a top-level procedure instead.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » Lambdas Cannot Use Any Form of Generics","id":"180","title":"Lambdas Cannot Use Any Form of Generics"},"181":{"body":"You can, however, still make first-class references to top-level blocking-generic procedures in order to pass them around as data. The only restriction, is that you must statically declare which blocking variant the reference will take on: Fig 5: # A blocking function var, to which you may *only* pass blocking functions.\nvar myBlockingFn: blocking function<|[int], blocking function boolean>| -> [int]> = filter; # A non-blocking function var, to which you may *only* pass non-blocking functions.\nvar myNonBlockingFn: function<|[int], function boolean>| -> [int]> = filter;","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » First-Class References to Blocking-Generic Top-Level Procedures","id":"181","title":"First-Class References to Blocking-Generic Top-Level Procedures"},"182":{"body":"All but the most trivial programs will require some mechanism for decomposing a larger program into smaller, reusable components that can be composed into a larger whole. In Claro projects, this is accomplished via the Module System whereby distinct functionality can be organized logically to facilitate encapsulation. In addition, Claro's Module System is the source of Claro's build incrementality - modules are compiled in isolation, allowing caching such that modules do not need to be recompiled unless its own or its dependencies implementations have changed.","breadcrumbs":"Module System » Module System","id":"182","title":"Module System"},"183":{"body":"A Module exposes an API that is implemented by some set of source files which may depend on other modules.","breadcrumbs":"Module System » Defining a Module","id":"183","title":"Defining a Module"},"184":{"body":"Module APIs are explicitly defined using a .claro_module_api file that will list exported procedure signatures, type declarations, static values, and Contract implementations that are publicly exposed to consumers that place a dependency on this module. # example.claro_module_api contract Numeric { function add(lhs: T, rhs: T) -> T; function multiply(lhs: T, rhs: T) -> T;\n} newtype Foo : int\nimplement Numeric; consumer prettyPrint(lhs: Foo);","breadcrumbs":"Module System » API","id":"184","title":"API"},"185":{"body":"An API alone simply defines an interface that the module will satisfy in its implementation sources. So implementations must be provided in the form of one or more .claro files. The above API could be satisfied by the below implementation files (note: this could be done in a single source file, but here it's split into multiple just as an example): # contract_impl.claro implement Numeric { function add(lhs: Foo, rhs: Foo) -> Foo { return Foo(unwrap(lhs) + unwrap(rhs)); } function multiply(lhs: Foo, rhs: Foo) -> Foo { return Foo(unwrap(lhs) * unwrap(rhs)); }\n} # pretty_print.claro consumer prettyPrint(f: Foo) { unwrap(f) |> \"Foo: {^}\" |> Boxes::wrapInBox(^) # <-- Calling dep Module function. |> print(^);\n}","breadcrumbs":"Module System » Sources","id":"185","title":"Sources"},"186":{"body":"While Modules are intended to be consumed as a reusable component, it may also itself depend on other modules in order to implement its public API. Notice that the implementation of prettyPrint above makes a call to Boxes::wrapInBox(...). This is an example of calling a procedure from a downstream dep Module in Claro. In order to build, this Module must place a dep on some Module that has at least the following signature in its API: function wrapInBox(s: string) -> string;. As you'll see below, this Module will choose to give that downstream dependency Module the name Boxes, but any other name could've been chosen.","breadcrumbs":"Module System » Dependencies","id":"186","title":"Dependencies"},"187":{"body":"A Claro Module is fully defined from the above pieces by adding a claro_module(...) definition to the corresponding Bazel BUILD file: # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") claro_module( name = \"example\", module_api_file = \"example.claro_module_api\", srcs = [ \"contract_impl.claro\", \"pretty_print.claro\", ], deps = { \"Boxes\": \":box\", # <-- Notice the name \"Boxes\" is chosen by the consumer. }, # This Module can be consumed by anyone. visibility = [\"//visibility:public\"],\n) claro_module( name = \"box\", module_api_file = \"boxes.claro_module_api\", srcs = [\"boxes.claro\"], # No visibility declared means that this Module is private to this Bazel package.\n) ...","breadcrumbs":"Module System » Defining BUILD Target","id":"187","title":"Defining BUILD Target"},"188":{"body":"In order to validate that a claro_module(...) target compiles successfully, you can run a Bazel command like the following: (Assuming the BUILD file is located at //path/to/target) $ bazel build //path/to/target:example This will build the explicitly named target and its entire transitive closure of dependencies (assuming their build results have not been previously cached in which case they'll be skipped and the cached artifacts reused).","breadcrumbs":"Module System » Building a Module","id":"188","title":"Building a Module"},"189":{"body":"To close the loop, the above example Module could be consumed and used in the following executable Claro program in the following way. # test.claro var f1 = Ex::Foo(1);\nvar f2 = Ex::Foo(2); var addRes = Ex::Numeric::add(f1, f2);\nEx::prettyPrint(addRes); var mulRes = Ex::Numeric::multiply(f2, Ex::Foo(5));\nEx::prettyPrint(mulRes); # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") ... claro_binary( name = \"test\", main_file = \"test.claro\", deps = { \"Ex\": \":example\", },\n)","breadcrumbs":"Module System » Executable Using Above Example Module","id":"189","title":"Executable Using Above Example Module"},"19":{"body":"See: Official Bazelisk reference - This file configures Bazelisk to use the declared Bazel version. Fig 3: 6.4.0 Claro depends on Bzlmod which was introduced in Bazel version 6, so you'll need to use at least version 6.","breadcrumbs":"Getting Started! » Understanding the Starter Project » .bazelversion","id":"19","title":".bazelversion"},"190":{"body":"Complete source code for the examples above can be found here","breadcrumbs":"Module System » Example Code","id":"190","title":"Example Code"},"2":{"body":"Claro was designed with modern build tooling in mind: Swap any dependency without changing a single line of source code Runtime \"Dependency Injection\" frameworks are a thing of the past First class Module system","breadcrumbs":"Welcome to Claro! » Dependency Management Done Right","id":"2","title":"Dependency Management Done Right"},"20":{"body":"See: Official Bazel reference - This file is used to configure optional Bazel flags. Fig 4: common --enable_bzlmod\ncommon --java_runtime_version=remotejdk_11","breadcrumbs":"Getting Started! » Understanding the Starter Project » .bazelrc","id":"20","title":".bazelrc"},"21":{"body":"This configures Bazel to opt in to enabling the Bzlmod, external package manager. This will be necessary in all Claro projects to at least enable Bazel to resolve your dependency on the Claro compiler.","breadcrumbs":"Getting Started! » Understanding the Starter Project » common --enable_bzlmod","id":"21","title":"common --enable_bzlmod"},"22":{"body":"This configures Bazel to download a remote version of the JVM to execute compiled Claro programs. Technically, you can opt in to using a local Java install, but keeping this flag as is ensures that you're running a JVM version that Claro's actually been tested against.","breadcrumbs":"Getting Started! » Understanding the Starter Project » common --java_runtime_version=remotejdk_11","id":"22","title":"common --java_runtime_version=remotejdk_11"},"23":{"body":"See: Official Bazel reference - BUILD files are the fundamental building block of a Bazel project. Here you'll define \"build targets\" representing components of your program and their dependencies. Fig 5: load(\"@claro-lang//:rules.bzl\", \"claro_binary\") claro_binary( name = \"demo_bin\", main_file = \"demo.claro\", resources = { \"Input\": \"input.txt\", }\n)","breadcrumbs":"Getting Started! » Understanding the Starter Project » BUILD","id":"23","title":"BUILD"},"24":{"body":"This loads (a.k.a. \"imports\") the claro_binary() Build Rule from the rules.bzl Bazel extension file located in the root directory of the claro-lang project. After this load, you're able to define claro_binary() targets in this BUILD file by calling it just as you would a function in any other programming language (albeit with mandatory named parameters).","breadcrumbs":"Getting Started! » Understanding the Starter Project » load(\"@claro-lang//:rules.bzl\", \"claro_binary\")","id":"24","title":"load(\"@claro-lang//:rules.bzl\", \"claro_binary\")"},"25":{"body":"As mentioned above, this declares a build target that represents an executable Claro program (*_binary() is the conventional naming of executable build targets in the Bazel ecosystem). name = \"demo_bin\" All Bazel build targets include a mandatory name = \"...\" parameter - in combination with the full path from the project root, this specific build target can be uniquely referenced as //example:demo_bin. Using this name, you can execute Bazel build/run commands from the command line. You can build the target to have Bazel invoke the Claro compiler to verify that your program is valid and if so generate the executable program artifacts that can be invoked separately: bazel build //example:demo_bin During local development you can directly build and run the target by using the below command which will trigger Bazel to build the target and then upon success invoke the built executable program automatically: bazel run //example:demo_bin main_file = \"demo.claro\" Claro programs begin execution by running top-level statements of a given \"main file\" top-down, rather than looking for some special main function. resources = { \"Input\": \"input.txt\", } This declares that this program should bundle the file input.txt into the final compiled Jar file so that it's available at runtime no matter where the program is run. It makes this resource file available as resources::Input in the compiled program. Find more details about resources in the Reference Guide.","breadcrumbs":"Getting Started! » Understanding the Starter Project » claro_binary(...)","id":"25","title":"claro_binary(...)"},"26":{"body":"Just a resource file read by the demo program. Fig 6: look ma, no hands!","breadcrumbs":"Getting Started! » Understanding the Starter Project » input.txt","id":"26","title":"input.txt"},"27":{"body":"The main Claro file that contains the code to be executed. Fig 7: resources::Input |> files::readOrPanic(^) |> strings::trim(^) |> strings::toUpperCase(^) |> wrapInBox(^) |> print(^); function wrapInBox(s: string) -> string { var line = strings::repeated(\"-\", len(s) + 4); return \"{line}\\n| {s} |\\n{line}\";\n} This program just reads in the contents of the input.txt resource file , trims extra whitespace, converts it to all caps, wraps it in a box of \"-\" characters, and prints it to stdout. Note the calls to functions like files::readOrPanic and strings::trim are calling into functions declared in dep modules. In this case there's no explicit mention of those dependencies in the claro_binary(...) target declaration because files and strings are modules in the stdlib so no explicit dependency is necessary.","breadcrumbs":"Getting Started! » Understanding the Starter Project » demo.claro","id":"27","title":"demo.claro"},"28":{"body":"Now that you've set up your starter Claro project in the previous section, let's go through the process of implementing your first program!","breadcrumbs":"Getting Started! » Your First Program » Your First Program","id":"28","title":"Your First Program"},"29":{"body":"Fig 1: print(\"Hello, world!\"); Hello World is a one-liner in Claro, so it's a great place to start learning how to declare a new Claro program using Bazel. Just to keep things simple, copy the above line into a new file at //example/hello_world.claro. Fig 2: demo\n|-- .bazelrc\n|-- .bazelversion\n|-- MODULE.bazel\n|-- README.md\n`-- example |-- BUILD |-- demo.claro |-- hello_world.claro `-- input.txt 1 directory, 8 files","breadcrumbs":"Getting Started! » Your First Program » Create hello_world.claro","id":"29","title":"Create hello_world.claro"},"3":{"body":"Developed by a Xoogler taking inspiration from years of hands-on development experience with Google-internal backend web frameworks, Claro moves well beyond async/await. Claro’s declarative, DAG-based structured concurrency model is the first of its kind in a programming language - statically guaranteeing that programs are: Non-blocking Data-race free Deadlock free Optimally scheduled Scaleable by default","breadcrumbs":"Welcome to Claro! » Fearless Concurrency","id":"3","title":"Fearless Concurrency"},"30":{"body":"Now, we'll simply add a new build target for our Hello World program to the existing BUILD file that was generated as part of the starter project. Fig 3: load(\"@claro-lang//:rules.bzl\", \"claro_binary\") claro_binary( name = \"demo_bin\", main_file = \"demo.claro\", resources = { \"Input\": \"input.txt\", }\n) claro_binary( name = \"hello_world\", main_file = \"hello_world.claro\",\n)","breadcrumbs":"Getting Started! » Your First Program » Declare a New claro_binary(...) Target in Your BUILD File","id":"30","title":"Declare a New claro_binary(...) Target in Your BUILD File"},"31":{"body":"That's all there is to it! Now you can use the following command to have Bazel build and then run your program: Note: The below recording was made with asciinema - try pausing and copying any text. Congratulations! You just wrote and executed your first Claro program entirely from scratch!","breadcrumbs":"Getting Started! » Your First Program » Now Execute Your Program!","id":"31","title":"Now Execute Your Program!"},"32":{"body":"Notice that when you used bazel run ... to run your executable build target, Bazel produced a bunch of INFO: ... logs related to the build process. Since the program built successfully, this is something that you can usually just ignore. However, if this extra noise bothers you, you can make use of Bazel's generated build artifacts to run the program directly, without any of Bazel's extra logging. Notice the very last line in Bazel's output: INFO: Running command line: bazel-bin/example/hello_world This is a script that can be directly invoked to run the built executable program locally. This is not a portable executable! Continue reading to learn how to generate a portable executable. Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Getting Started! » Your First Program » Avoiding Bazel's Extra Output","id":"32","title":"Avoiding Bazel's Extra Output"},"33":{"body":"As Claro is a JVM language, you can easily generate a self-contained Jar file that can be run anywhere that a JVM is installed. Generate the \"Deploy Jar\" by appending _deploy.jar to the end of any claro_binary() build target, and can then run it using java -jar ... as you would any executable Jar: Note: The below recording was made with asciinema - try pausing and copying any text. Warning: The `java -jar ...` command demonstrated above will make use of your local Java installation. Assuming that you've kept the flag `common --java_runtime_version=remotejdk_11` in your .bazelrc as described in the previous section, you may have been running Claro programs without even manually installing Java, meaning that this command will fail. Generally speaking, you shouldn't worry about this as it's encouraged to use `bazel run ...` during local development anyway.","breadcrumbs":"Getting Started! » Your First Program » Generating a Portable Executable (\"Deploy Jar\")","id":"33","title":"Generating a Portable Executable (\"Deploy Jar\")"},"34":{"body":"Now, the Hello World program that you wrote in the previous section was extremely simple - just a one-liner in a single file. Let's add a tiny bit more functionality to your first program as an excuse to learn about Claro's Module System! Taking inspiration from the starter project's demo program, which printed the following to stdout: ---------------------- | LOOK MA, NO HANDS! | ---------------------- we'll extend our hello_world.claro program to also print out the classic greeting in the same boxed styling. We could of course just copy-paste the demo program's wrapInBox function into hello_world.claro, but instead, in order to avoid having multiple implementations of the same function that could drift over time, we'll walk through the process of refactoring both programs so that each can share a single function implementation as a common dependency.","breadcrumbs":"Getting Started! » Intro to Modules » Intro to Modules","id":"34","title":"Intro to Modules"},"35":{"body":"First thing first, create the file //example:styling.claro to hold the wrapInBox function definition: Fig 1: function wrapInBox(s: string) -> string { var line = strings::repeated(\"-\", len(s) + 4); return \"{line}\\n| {s} |\\n{line}\";\n}","breadcrumbs":"Getting Started! » Intro to Modules » Create //example:styling.claro","id":"35","title":"Create //example:styling.claro"},"36":{"body":"Claro Modules are extremely flexible by design (we'll only begin to scratch the surface here) and in order to achieve that flexibility a Module API file is used to declare which definitions are exported to consumers of the Module. Any definition not listed in the Module API file is \"private\" by default. In this case we just have the one function definition so we'll add its signature to the new file styling.claro_module_api (the only naming requirement here is that it must end with the .claro_module_api suffix). Fig 2: # Wraps the given string in a \"box\" of dashes.\n# E.g.\n# Input:\n# \"Foo\"\n# Output:\n# -------\n# | Foo |\n# -------\nfunction wrapInBox(s: string) -> string; As a general rule of thumb, when working in a Claro project, you should prioritize writing documentation for anything exported in a Module API file. And when reading code, it's advisable to spend most of your time primarily referencing Module API files rather than their corresponding source files, unless of course you are curious to understand the implementation. Your project should now have the following structure: Fig 3: demo\n|-- .bazelrc\n|-- .bazelversion\n|-- MODULE.bazel\n|-- README.md\n`-- example |-- BUILD |-- demo.claro |-- hello_world.claro |-- input.txt |-- styling.claro `-- styling.claro_module_api 1 directory, 10 files","breadcrumbs":"Getting Started! » Intro to Modules » Define a Module API File","id":"36","title":"Define a Module API File"},"37":{"body":"The final step in defining a Module in Claro is defining a claro_module(...) build target. Add the following to your BUILD file to create a Module by declaring explicitly that the styling.claro file implements the interface declared by styling.claro_module_api: Fig 4: load(\"//:rules.bzl\", \"claro_binary\", \"claro_module\") # <-- New claro_binary( name = \"demo_bin\", main_file = \"demo.claro\", resources = { \"Input\": \"input.txt\", }\n) claro_binary( name = \"hello_world\", main_file = \"hello_world.claro\", deps = { # <-- New \"Style\": \":styling\", },\n) claro_module( # <-- New name = \"styling\", module_api_file = \"styling.claro_module_api\", srcs = [\"styling.claro\"],\n)","breadcrumbs":"Getting Started! » Intro to Modules » Add a claro_module(name = \"styling\", ...) Build Target","id":"37","title":"Add a claro_module(name = \"styling\", ...) Build Target"},"38":{"body":"The load(...) statement also needed to be updated to include the newly used claro_module Build Rule.","breadcrumbs":"Getting Started! » Intro to Modules » Updated load(...) Statement","id":"38","title":"Updated load(...) Statement"},"39":{"body":"Claro handles dependencies entirely within Bazel BUILD files, and .claro source files themselves do not have any mechanism for the traditional import style that you will have gotten accustomed to in other languages. This is the key to Claro's extremely flexible Module system and provides many powerful advantages over the traditional import style, but we won't get any further into that here. For now, just note that claro_*() Build targets all accept an (optional) deps = {: } map that explicitly declares and names any dependencies the current compilation unit has on any other Module. Note that the consuming compilation unit is free to choose any name to refer to the Module(s) that it depends on. Here we've chosen to name the //example:styling Module Style.","breadcrumbs":"Getting Started! » Intro to Modules » Added an Explicit Dependency on //example:styling","id":"39","title":"Added an Explicit Dependency on //example:styling"},"4":{"body":"Strict separation between data and functionality Mutability tracked at the type system level Extremely flexible built in algebraic data types Model arbitrary data structures with zero boilerplate","breadcrumbs":"Welcome to Claro! » Data Oriented","id":"4","title":"Data Oriented"},"40":{"body":"Now we're finally ready to update our Hello World program to wrap its output in a box using its new module dependency! Update hello_world.claro to: Fig 5: print(Style::wrapInBox(\"Hello, World!\"));","breadcrumbs":"Getting Started! » Intro to Modules » Update hello_world.claro to Use Style::wrapInBox","id":"40","title":"Update hello_world.claro to Use Style::wrapInBox"},"41":{"body":"Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Getting Started! » Intro to Modules » Now Execute Your Updated Hello World!","id":"41","title":"Now Execute Your Updated Hello World!"},"42":{"body":"Using what you've learned, it should now be straightforward to update //example:demo_bin to also depend on the newly defined Module so that there's only a single definition of the wrapInBox function in your project.","breadcrumbs":"Getting Started! » Intro to Modules » On Your Own: Update //example:demo_bin to Use the New Module","id":"42","title":"On Your Own: Update //example:demo_bin to Use the New Module"},"43":{"body":"This will be a good way to test your understanding of how Claro and Bazel work together. Hint: You can move the Module definition anywhere in the project that you want, but you'll need to update the deps = {...} declarations to reference its new location.","breadcrumbs":"Getting Started! » Intro to Modules » On Your Own: Refactor //example:styling to its Own Directory","id":"43","title":"On Your Own: Refactor //example:styling to its Own Directory"},"44":{"body":"","breadcrumbs":"Common Programming Concepts » Common Programming Concepts","id":"44","title":"Common Programming Concepts"},"45":{"body":"Claro is a statically-compiled, strictly typed language. Practically speaking, this means that the type of all variables must be statically determined upon declaration of the variable, and may never change thereafter. Claro has several builtin \"primitive\" types representing generally small or low-level \"value types\" that are immutable to the programmer. They are referred to as \"primitive\" because they are foundational to the language's type system, and make up the basic building blocks of which every other type in the language is just some structured combination. Values of these primitive types are generally cheap to allocate on the stack, and are passed as copies to other functions (strings, being handled in typical JVM fashion, are actually heap allocated with references to strings passed instead of copying the value itself). The supported set of primitives are: int, long, float, double, boolean, string, char. The example below shows how you'd define variables to represent values of each type: Fig 1: var i: int = 10; # Any whole number from -2^31 to 2^31-1.\nvar l: long = 10L; # Any whole number from -2^63 to 2^63-1.\nvar f: float = 1.15F; # A single-precision 32-bit IEEE 754 floating point number.\nvar d: double = 1.15; # A double-precision 64-bit IEEE 754 floating point number.\nvar b: boolean = true; # true or false.\nvar s: string = \"very first string\"; # An immutable sequence of chars. Heap allocated.\nvar c: char = 'a'; # A single 16-bit Unicode character. To break the syntax down further: var : Keyword introducing / declaring a new variable. b : the name we chose for this particular var. : : a syntactic divider between a variable's name and its type. boolean : the type of the variable, which constrains the domain of values which this variable may hold.","breadcrumbs":"Common Programming Concepts » Variables & Primitive Types » Variables & Primitive Types","id":"45","title":"Variables & Primitive Types"},"46":{"body":"The previous example demonstrates the simultaneous declaration and initialization of a new variable and its initial value. It is also possible to delay initialization to happen independently of declaration. Fig 1: var i: int;\ni = 10; (Note: this is particularly useful when you may want to initialize to different values in different branches of an if-else chain for example.)","breadcrumbs":"Common Programming Concepts » Separate Variable Declaration & Initialization » Separate Variable Declaration & Initialization","id":"46","title":"Separate Variable Declaration & Initialization"},"47":{"body":"By definition, the value represented by a variable may vary, or change, over time throughout the program: Fig 1: var s: string = \"Hello\";\nprint(s); s = \"goodbye\";\nprint(s); Output: Hello\ngoodbye","breadcrumbs":"Common Programming Concepts » Variable Reassignment » Variable Reassignment","id":"47","title":"Variable Reassignment"},"48":{"body":"Claro has only a few control flow structures at the current moment. These structures allow programs to execute code both conditionally and repeatedly. The only thing to keep an eye on, coming from a dynamic language like Python, is that Claro will statically validate that do not misuse conditional execution to run code that may attempt to use a variable before initialization. The examples in the following sections will also demonstrate invalid code that Claro throw a compile-time error on.","breadcrumbs":"Common Programming Concepts » Control Flow » Control Flow","id":"48","title":"Control Flow"},"49":{"body":"Fig 1: var rng = random::forSeed(1);\nvar r = random::nextNonNegativeBoundedInt(rng, 100); var s: string;\nif (r < 33) { # Curly braces are mandatory. s = \"small\";\n} else if (r < 66) { s = \"medium\";\n} else { s = \"large\";\n} print(s); # Prints \"small\", \"medium\", or \"large\". Output: large Possible use of an uninitialized variable is a compile-time error: Fig 2: var rng = random::forSeed(1);\nvar r = random::nextNonNegativeBoundedInt(rng, 100); var s: string;\nif (r < 33) { s = \"red\";\n} else if (r < 66) { s = \"green\";\n} print(s); # `s` is uninitialized if r >= 66. Compilation Errors: if_else_EX2_example.claro:11: Variable may not have been initialized!\nprint(s); # `s` is uninitialized if r >= 66. ^\nWarning! The following declared symbols are unused! [s]\n2 Errors Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Common Programming Concepts » Control Flow » If-Else » If-Else","id":"49","title":"If-Else"},"5":{"body":"Bi-directional type inference Robust standard library Builtin external package manager Build time metaprogramming","breadcrumbs":"Welcome to Claro! » Unapologetically Practical","id":"5","title":"Unapologetically Practical"},"50":{"body":"Fig 1: var i = 0;\nwhile (i < 10) { print(i++);\n} Output: 0\n1\n2\n3\n4\n5\n6\n7\n8\n9 Possible use of an uninitialized variable is a compile-time error: Fig 4: var s: string;\nwhile (input(\"Should `s` be initialized? (Y/n)\") == \"Y\") { s = input(\"Enter the value for `s`:\");\n}\nprint(s); Compilation Errors: while_EX4_example.claro:5: Variable may not have been initialized!\nprint(s); ^\nWarning! The following declared symbols are unused! [s]\n2 Errors","breadcrumbs":"Common Programming Concepts » Control Flow » While » While Loops","id":"50","title":"While Loops"},"51":{"body":"You can exit a loop early by using the break keyword as below. Fig 2: var i = 0;\nwhile (i < 10) { if (i == 5) { break; } print(i++);\n} Output: 0\n1\n2\n3\n4","breadcrumbs":"Common Programming Concepts » Control Flow » While » Exiting a While Loop Early","id":"51","title":"Exiting a While Loop Early"},"52":{"body":"You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below. Fig 3: var i = 0;\nwhile (i < 10) { if (i % 2 == 0) { ++i; continue; } print(i++);\n} Output: 1\n3\n5\n7\n9","breadcrumbs":"Common Programming Concepts » Control Flow » While » Skipping to the Next Iteration of the While Loop","id":"52","title":"Skipping to the Next Iteration of the While Loop"},"53":{"body":"For loops in Claro are closely analogous to Java's \"enhanced for-loops\" . They enable you to easily iterate over the elements of a collection.","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loops","id":"53","title":"For Loops"},"54":{"body":"Fig 1: for (e in [1, 2, 3, 4, 5]) { print(e);\n} Output: 1\n2\n3\n4\n5","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loop Over Lists","id":"54","title":"For Loop Over Lists"},"55":{"body":"Fig 2: for (e in {1, 2, 3}) { print(e);\n} Output: 1\n2\n3","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loop Over Sets","id":"55","title":"For Loop Over Sets"},"56":{"body":"Iterating over the elements of a map of type {K: V} using the for-loop construct will yield a loop variable whose type is tuple: Fig 3: for (e in {'a': 1, 'b': 2, 'c': 3}) { print(\"Key: {e[0]} - Val: {e[1]}\");\n} Output: Key: a - Val: 1\nKey: b - Val: 2\nKey: c - Val: 3","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loop Over Maps","id":"56","title":"For Loop Over Maps"},"57":{"body":"For loops over tuples are not currently supported as it's unclear what the appropriate behavior would be iterating over\na collection of heterogeneous types. It's possible that in the future support may be added for a loop variable whose\ntype is oneof<...all unique types in the tuple...> but there are no current plans for prioritizing this.","breadcrumbs":"Common Programming Concepts » Control Flow » For » Note 1 :","id":"57","title":"Note 1 :"},"58":{"body":"Possible use of an uninitialized variable is a compile-time error: Fig 4: $$random::create()\n$$ |> random::nextNonNegativeBoundedInt(^, 10)\n$$ |> var r = ^;\n$$var l: mut [int] = mut [];\n$$while (r-- > 0) {\n$$ lists::add(l, r);\n$$}\n$$\nvar s: int;\nfor (elem in l) { # <-- `l` could be empty. s = elem;\n}\nprint(s); Compilation Errors: for_EX4_example.claro:13: Variable may not have been initialized!\nprint(s); ^\nWarning! The following declared symbols are unused! [s]\n2 Errors","breadcrumbs":"Common Programming Concepts » Control Flow » For » Note 2 :","id":"58","title":"Note 2 :"},"59":{"body":"You can exit a loop early by using the break keyword as below. Fig 5: for (e in [1, 2, 3, 4, 5]) { if (e == 3) { break; } print(e);\n} Output: 1\n2","breadcrumbs":"Common Programming Concepts » Control Flow » For » Exiting a For Loop Early","id":"59","title":"Exiting a For Loop Early"},"6":{"body":"Incremental compilation out of the box Code reuse made simple Develop codebases of any size without devolving into a spaghetti labyrinth","breadcrumbs":"Welcome to Claro! » Designed to Scale with You","id":"6","title":"Designed to Scale with You"},"60":{"body":"You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below. Fig 6: for (e in [1, 2, 3, 4, 5]) { if (e % 2 == 0) { continue; } print(e);\n} Output: 1\n3\n5","breadcrumbs":"Common Programming Concepts » Control Flow » For » Skipping to the Next Iteration of the For Loop","id":"60","title":"Skipping to the Next Iteration of the For Loop"},"61":{"body":"Repeat loops in Claro enable you to easily repeat a task some number of times: Fig 1: repeat (5) { print(\"Repeating...\");\n} Output: Repeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating... The loop count can be computed at runtime: Fig 2: var loopCount = random::nextNonNegativeBoundedInt(random::create(), 10); repeat (loopCount) { print(\"Repeating...\");\n} Output: Repeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating...","breadcrumbs":"Common Programming Concepts » Control Flow » Repeat » Repeat Loops","id":"61","title":"Repeat Loops"},"62":{"body":"Piping is a control flow mechanism that is not common to all languages, but is truly just syntactic sugar (one of the few pure-sugar features in the language). Piping gives you a mechanism to decompose deeply nested function calls into a linear chain of operations that happen one after the other much like any other imperative code you're familiar with. The main thing to know is that on each line beginning with the \"pipe\" operator |>, the token ^ (known as the \"backreference\" operator) refers to the value of the expression before the pipe operator. It is intended that the ^ operator, visually resembles an arrow pointing upwards to the value produced on the line above. Fig 1: [\"Claro\", \"piping\", \"is\", \"so\", \"cool\"] |> [^[0], ^[len(^) - 1]] # <-- Get the first and last element of the list. |> strings::join(\" is damn \", ^) |> \"{^}! I'll say it again... {^}!!\" # <-- Can backreference prev value more than once. |> print(^); Output: Claro is damn cool! I'll say it again... Claro is damn cool!! Compare to the alternative code without piping. Notice how use of piping in the above example even allows elimination of multiple temporary variables - this is a powerful motivator for using pipelining as it's well known that naming is one of the two hard problems in computer science : Fig 2: # With piping, these temporary vars are unnecessary.\nvar nonPipingSource = [\"Claro\", \"piping\", \"is\", \"so\", \"cool\"]; var joinedTmp = strings::join( \" is damn \", [nonPipingSource[0], nonPipingSource[len(nonPipingSource) - 1]] ); print(\"{joinedTmp}! I'll say it again... {joinedTmp}!!\"); Output: Claro is damn cool! I'll say it again... Claro is damn cool!!","breadcrumbs":"Common Programming Concepts » Control Flow » Pipes » Pipes","id":"62","title":"Pipes"},"63":{"body":"It's worth noting that the primary motivation for pipelining support in Claro is to take what could otherwise be highly nested procedure calls whose data flow conceptually runs \"inside-out\", and allow it to instead be written in a style that has the data flowing in the same linear direction as the textual source code itself. As such, Claro's pipelines introduce a concept of \"source\" and \"sink\". The \"source\" is the initial expression (data) that conceptually \"enters the pipeline\" and the \"sink\" is some terminal statement that consumes the data that \"comes out of the end of the pipeline\". This means that the pipeline's sink can be any valid Claro statement that uses the value computed by the penultimate step in the pipeline. Notice how the following variable assignment allows data to flow top-to-bottom in the same direction as the source code is written textually: Fig 3: [\"Hello\", \"world!\"] |> [strings::toUpperCase(s) | s in ^] |> strings::join(\", \", ^) |> var greeting = ^; print(greeting); Output: HELLO, WORLD! whereas, very confusingly, the non-pipelining style has source code written top-to-bottom, but yet the data is effectively flowing in a circuitous route from bottom-to-top and then back down again. Fig 4: var greeting = strings::join( \", \", [strings::toUpperCase(s) | s in [\"Hello\", \"world!\"]] ); print(greeting); Output: HELLO, WORLD! This may be something that we all get used to in other languages, but it's certainly an obstacle to readability particularly for new programmers.","breadcrumbs":"Common Programming Concepts » Control Flow » Pipes » Textually Linear Data Flow","id":"63","title":"Textually Linear Data Flow"},"64":{"body":"Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to\nbe addressed). More to come! In addition to the typical if-else style branching construct, Claro offers a more powerful construct called \"Pattern Matching\". In its simplest form, Pattern Matching can simply be used as a more concise replacement for if-else chains. Compare the following if-else chain: Fig 1: $$var x = 2;\n$$\nvar sizeStr: string;\nif (x <= 1) { sizeStr = \"small\";\n} else if (x == 2) { sizeStr = \"medium\";\n} else { sizeStr = \"large\";\n}\n$$\n$$print(sizeStr); with the comparable match-statement: Fig 2: $$var x = 2;\n$$\nvar sizeStr: string;\nmatch (x) { case 1 -> sizeStr = \"small\"; case 2 -> sizeStr = \"medium\"; case _ -> sizeStr = \"large\";\n}\n$$\n$$print(sizeStr); The match statement takes in a single expression of any type, to be compared against the given cases clauses in order - the first one to successfully match is executed (there is no fallthrough like in a Java or C++ style switch).","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Pattern Matching","id":"64","title":"Pattern Matching"},"65":{"body":"The example above makes use of a \"default\" case that will match anything that the cases preceding it didn't match. Fig 3: $$var x = 2;\n$$\n$$var sizeStr: string;\n$$match (x) {\n$$ case 1 -> sizeStr = \"small\";\n$$ case 2 -> sizeStr = \"medium\"; case _ -> sizeStr = \"large\";\n$$}\n$$\n$$print(sizeStr); In the context of pattern matching, the _ token represents a \"wildcard\" pattern. Learn more about this in the Wildcard Patterns section .","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » \"Default\" Case","id":"65","title":"\"Default\" Case"},"66":{"body":"When a case is matched, the associated code block following the -> and preceding the next case (or until the overall closing }) will all be executed. This code block can contain any number of statements. Fig 4: $$var x = 2;\n$$\n$$var sizeStr: string;\n$$match (x) {\n$$ case 1 ->\n$$ sizeStr = \"small\"; case 2 -> print(\"More than one line of code is valid.\"); sizeStr = \"medium\";\n$$ case _ ->\n$$ sizeStr = \"large\";\n$$}\n$$\n$$print(sizeStr); Output: More than one line of code is valid.\nmedium","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Multi-Statement Cases","id":"66","title":"Multi-Statement Cases"},"67":{"body":"While this may seem like an arbitrary restriction, this is actually necessary in order to ensure that Claro's static\nexhaustiveness and case reachability checks are actually guaranteed to be correct. Technically, it would be possible for\nClaro to loosen this restriction, but this is a conscious, opinionated design choice to limit the number of special cases to keep in mind when writing or reading a match statement. The following is invalid: Fig 5: var x = # ...\n$$ 2;\nmatch (2) { case x -> print(\"Matched variable {x}\"); case 1 -> print(\"1!\"); case _ -> print(\"default!\");\n} Compilation Errors: match_EX5_example.claro:4: Wildcard Binding Shadows Declared Variable: Names of wildcard bindings in Match case patterns must not shadow any already-declared variable in scope. case x -> print(\"Matched variable {x}\"); ^\nmatch_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.\nmatch (2) { ^\nmatch_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.\nmatch (2) { ^\nmatch_EX5_example.claro:3: Illegal Match Containing Multiple Default Cases: Each match block should contain at most one case matching the `_` wildcard.\nmatch (2) { ^\n4 Errors Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Patterns Must Not Reference Existing Variables","id":"67","title":"Patterns Must Not Reference Existing Variables"},"68":{"body":"Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to\nbe addressed). More to come! Pattern Matching is much more than just a classic C-style switch statement. In particular, it can be used to match arbitrarily structured data. Fig 1: var employee = {name = \"Bob\", title = \"Intern\"}; var permission: boolean;\nmatch (employee) { case {name = \"Sarah\", title = \"Manager\"} -> permission = true; case {name = \"Joe\", title = \"Manager\"} -> permission = true; case _ -> permission = false;\n} print(\"Permission granted for {employee.name}?: {permission}\"); Output: Permission granted for Bob?: false","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Matching Structured Data » Matching Structured Data","id":"68","title":"Matching Structured Data"},"69":{"body":"Claro supports pattern matching over arbitrary (i.e. tuple<...> and struct{...}) structured types as their structures are fully known at compile time. Fig 2: var player = {name = \"Jason\", currLoc = (1, 2)}; match (player) { case {name = \"Sarah\", currLoc = (3, 4)} -> print(\"Sarah wins!\"); case {name = \"Jason\", currLoc = (1, 2)} -> print(\"Jason wins!\"); case _ -> print(\"Keep playing...\");\n} Output: Jason wins!","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Matching Structured Data » Matching Arbitrarily Nested Structured Types","id":"69","title":"Matching Arbitrarily Nested Structured Types"},"7":{"body":"Claro is in active development and is not yet ready for production use . While Claro has been in active development for more than 3 years, its design and implementation has been done entirely by its single maintainer, Jason Steving - while the foundation has been laid, contributions are welcome! Anyone with interest is actively encouraged to reach out and get involved!","breadcrumbs":"Welcome to Claro! » Actively In Development","id":"7","title":"Actively In Development"},"70":{"body":"Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to\nbe addressed). More to come! The utility of Pattern Matching is dramatically increased by making use of wildcards. For example, they enable the below match with cases that only specify partial matches and then bind matched values to a variable: Fig 1: newtype Square : int\nnewtype Rectangle : struct {height: int, width: int}\nnewtype Line : int consumer printShapeArea(shape: oneof) { var area: int; match (shape) { case Rectangle({height = H:int, width = W:int}) -> area = H * W; case Square(W:int) -> area = W * W; case _ -> area = 0; } print(\"Area of {shape}: {area}\");\n} printShapeArea(Square(2));\nprintShapeArea(Rectangle({height = 10, width = 10}));\nprintShapeArea(Line(2)); Output: Area of Square(2): 4\nArea of Rectangle({height = 10, width = 10}): 100\nArea of Line(2): 0 The syntax W:int is a \"wildcard binding\" that matches any int value and declares a variable that the int will be assigned to in the case code block.","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Wildcard Patterns » Wildcard Patterns","id":"70","title":"Wildcard Patterns"},"71":{"body":"Cases are semantically matched in the order that they appear in the source code. This means that it's possible to define unreachable cases if the cases above already cover the pattern: Note: Claro's error messaging is a work in progress - the below error message will be improved. Fig 2: var t = (1, 2);\nmatch (t) { case (1, 3) -> # ...\n$$ print(\"(1, 3)\"); case (_, 2) -> # ...\n$$ print(\"(_, 2)\"); case (1, 2) -> # <-- This is unreachable.\n$$ print(\"(1, 2)\"); case _ -> # ...\n$$ print(\"_\");\n} Compilation Errors: wildcards_EX2_example.claro:2: Illegal Duplicate Match Case: All case patterns should be unique within a match block.\nmatch (t) { ^\n1 Error Simply changing the ordering of the cases above will fix this problem: Fig 3: var t = (1, 2);\nmatch (t) { case (1, 3) -> print(\"(1, 3)\"); case (1, 2) -> print(\"(1, 2)\"); case (_, 2) -> print(\"(_, 2)\"); case _ -> print(\"_\");\n} Output: (1, 2)","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Wildcard Patterns » Case Ordering and Wildcards","id":"71","title":"Case Ordering and Wildcards"},"72":{"body":"Pattern Matching is not just convenient syntax sugar. By using a match statement instead of an if-else chain, Claro is able to statically validate that every possible case is exhaustively handled by some case. For example, the following match over a value of type oneof is missing a case to handle the Green atom and Claro rejects the match at compile-time: Fig 1: $$atom Red\n$$atom Yellow\n$$atom Green\n$$\nvar lightColor: oneof = Green; var lightColorStr: string;\nmatch (lightColor) { case _:Red -> lightColorStr = \"red\"; case _:Yellow -> lightColorStr = \"yellow\";\n} print(lightColorStr); Compilation Errors: exhaustiveness_checks_EX1_example.claro:8: Non-exhaustive Match: The given cases do not match every possible value of the matched type `oneof`. For example the following case is unhandled: case _:Green -> ...; You can also ensure that all possible cases are being handled by adding a final fallback case as below: case _ -> ...;\nmatch (lightColor) { ^^^^^^^^^^\n1 Error By following the suggestion in the error message above, we can fix the program: Fig 2: $$atom Red\n$$atom Yellow\n$$atom Green\n$$\nvar lightColor: oneof = Green; var lightColorStr: string;\nmatch (lightColor) { case _:Red -> lightColorStr = \"red\"; case _:Yellow -> lightColorStr = \"yellow\"; case _:Green -> lightColorStr = \"green\";\n} print(lightColorStr); Output: green","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Static Exhaustiveness Checks » Static Exhaustiveness Checks","id":"72","title":"Static Exhaustiveness Checks"},"73":{"body":"The above example is fairly trivial, just validating that all oneof type variants are handled. However, Claro's exhaustiveness checks are fairly sophisticated, and should be able to catch mistakes in much more complicated scenarios: Fig 3: newtype Foo : T\nvar myStruct2 = {a = {x = 1, y = \"ninety-nine\"}, z = Foo(true)}; match (Foo(myStruct2)) { case Foo({a = {x = 1, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = {x = 3, y = \"zero\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"zero\\\"}, z = Foo(false)})\"); case Foo({a = {x = 1, y = _}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = _}, z = Foo(false)})\"); case Foo({a = {x = _, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = _, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = A, z = Foo(true)}) -> print(\"Foo(\\{a = A, z = Foo(true)}) where A = {A}\"); case Foo({a = {x = 3, y = \"six\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"six\\\"}, z = Foo(false)})\");\n} Compilation Errors: exhaustiveness_checks_EX3_example.claro:4: Non-exhaustive Match: The given cases do not match every possible value of the matched type `Foo}>`. For example the following case is unhandled: case Foo({a = {x = _, y = _}, z = Foo(false)}) -> ...; You can also ensure that all possible cases are being handled by adding a final fallback case as below: case _ -> ...;\nmatch (Foo(myStruct2)) { ^^^^^^^^^^^^^^\n1 Error Again, following the suggestion from the error message, we can fix the program: Fig 4: newtype Foo : T\nvar myStruct2 = {a = {x = 1, y = \"ninety-nine\"}, z = Foo(true)}; match (Foo(myStruct2)) { case Foo({a = {x = 1, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = {x = 3, y = \"zero\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"zero\\\"}, z = Foo(false)})\"); case Foo({a = {x = 1, y = _}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = _}, z = Foo(false)})\"); case Foo({a = {x = _, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = _, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = A, z = Foo(true)}) -> print(\"Foo(\\{a = A, z = Foo(true)}) where A = {A}\"); case Foo({a = {x = 3, y = \"six\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"six\\\"}, z = Foo(false)})\"); # Adding the case suggested by the prior error message. case Foo({a = {x = _, y = _}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = _, y = _}, z = Foo(false)})\");\n} Output: Foo({a = A, z = Foo(true)}) where A = {x = 1, y = ninety-nine} Note: Claro's suggestions for resolving non-exhaustiveness match statements are intelligent and reliable, but Claro will only warn about a single missing case example at a time (even if there are multiple unhandled cases). You may have to apply multiple suggestions in succession, but simply following the suggestions will definitely (eventually) lead to a fully exhaustive match statement.","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Static Exhaustiveness Checks » Non-Trivial Exhaustiveness Checks Example","id":"73","title":"Non-Trivial Exhaustiveness Checks Example"},"74":{"body":"Claro takes direct inspiration from Python's powerful \"Comprehensions\" syntax to provide powerful single-expression operation to encode the common pattern of iterating some collection's elements and putting them into a new collection after potentially filtering and transforming the elements. This allows you to do complex initializations of both mutable and immutable collections directly in-line without having to drop down to multi-line initialization using some form of loop.","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Collection Comprehension","id":"74","title":"Collection Comprehension"},"75":{"body":"Compare the following loop-based initialization: Fig 1: var mutList: mut [string] = mut [];\nfor (x in [1, 3, 99, 2, 1]) { if (x <= 10) { lists::add(mutList, strings::repeated(\"*\", x)); }\n}\nprint(mutList); Output: mut [*, ***, **, *] with the List Comprehension based alternative: Fig 2: # The `|` below is read either \"for\" or \"given\".\nvar mutList = mut [strings::repeated(\"*\", x) | x in [1, 3, 99, 2, 1] where x <= 10];\nprint(mutList); Output: mut [*, ***, **, *] As you can see, taking the time to get comfortable with Comprehension expressions can serve to significantly simplify your code. Optional : it may be useful to read a bit about the \"Set Builder Notation\" that inspires this syntax in both Claro and Python.","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » List Comprehension","id":"75","title":"List Comprehension"},"76":{"body":"The same convenient Comprehension-based initialization is also supported for Sets. Simply swap the square brackets [...] for curly braces {...}: Fig 3: var immutableSet = {strings::repeated(\"*\", x) | x in [1, 3, 99, 2, 1] where x <= 10};\nprint(immutableSet); Output: {**, *, ***} Notice now, even though the same mapping and filtering is done over the same input collection as in the list comprehension examples above, the output here does not duplicate the entry \"*\" as Set Comprehension honors set semantics. (However, to be very explicit, strings::repeated(\"*\", 1) was called twice).","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Set Comprehension","id":"76","title":"Set Comprehension"},"77":{"body":"And finally, Comprehension-based initialization is also supported for Maps. Again, use curly braces {...} instead of square brackets [...], but this time a colon-separated key-value entry is computed from the input collection instead of a single value: Fig 4: var mutMap = mut {x : strings::repeated(\"*\", x) | x in [1, 3, 99, 2] where x <= 10};\nprint(mutMap); Output: mut {1: *, 2: **, 3: ***} Warning : Map Comprehension will Panic at runtime if you attempt to create multiple entries yielding the same key. It's still up for debate whether this is desirable behavior - it's possible that this may be updated to some other model such as \"last entry wins\". TBD.","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Map Comprehension","id":"77","title":"Map Comprehension"},"78":{"body":"While the previous section emphasized the ergonomic and simplifying qualities of Comprehensions, it should be explicitly stated that this construct is not just syntax sugar . Specifically, there is no other way in the language to directly initialize a List/Set/Map with size and elements determined dynamically at runtime without incurring an extra copy : Fig 1: var mutList: mut [string] = mut [];\nfor (x in [1, 3, 99, 2, 1]) { if (x <= 10) { lists::add(mutList, strings::repeated(\"*\", x)); }\n} # Claro is automatically coercing the copied list to be immutable.\nvar immutableList: [string] = copy(mutList);\nprint(immutableList); Output: [*, ***, **, *] Using List Comprehension instead not only produces much simpler code, but will also allow you to drop the unnecessary copy: Fig 2: var immutableList = [strings::repeated(\"*\", x) | x in [1, 3, 99, 2, 1] where x <= 10];\nprint(immutableList); Output: [*, ***, **, *] Note : Read more about Claro's built-in copy(...) operator here (TODO(steving)).","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Comprehension is More Than Syntax Sugar » Comprehension is More Than Syntax Sugar","id":"78","title":"Comprehension is More Than Syntax Sugar"},"79":{"body":"Claro is a statically typed, compiled programming language. This means that if you attempt to assign a value of the wrong type to a variable, Claro will emit a compiler error asking for a correction before your program will be able to run. This will prevent you from waiting until runtime to find many program errors. Fig 1: var s: string = 100.55; Compilation Errors: static_typing_EX1_example.claro:1: Invalid type: Found: double Expected: string\nvar s: string = 100.55; ^^^^^^\n1 Error","breadcrumbs":"Types » Types","id":"79","title":"Types"},"8":{"body":"Fig 1: print(\"Hello, world!\"); Output: Hello, world! As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every Claro program is simply a sequence of statements that are executed from top-to-bottom as if it were a \"script\". You don't need to specify a \"main\" method\" as in other languages like Java, instead, much like Python, you simply specify a starting file which will execute top-down at program start.","breadcrumbs":"Hello, World » Hello, World!","id":"8","title":"Hello, World!"},"80":{"body":"Claro also rounds out its builtin types with a small set of convenient collection types that allow you to manipulate many values using a single variable. These are provided as builtins for your convenience, but their implementations have been hand selected to cover the majority of your general purpose programming use cases.","breadcrumbs":"Types » Builtin Collections » Builtin Collections","id":"80","title":"Builtin Collections"},"81":{"body":"Unlike many other languages (e.g. Java/C++/etc.) that require a formal declaration of any type before it can be instantiated, Claro's builtin collections can all be simply instantiated at will as if the type already exists. For example, any struct-like collection of named fields in Java would first require the declaration of a class, and potentially the declaration of other things like a constructor, hashCode() and equals() implementations. In Claro, you simply skip all the boilerplate. For example, the following Claro procedure declares a struct {row: int, col: int} inline as the function's return type and doesn't need any top-level declaration of that type before it's used: Fig 1: function findInNestedList(l: [[T]], t: T) -> struct {row: int, col: int} { var r = 0; for (row in l) { var c = 0; for (elem in row) { if (elem == t) { return {row = r, col = c}; # <-- Just instantiate the struct. } ++c; } ++r; } return {row = -1, col = -1};\n} [[1, 2], [3, 4], [5, 6]] |> findInNestedList(^, 4) |> print(^); Output: {row = 1, col = 1}","breadcrumbs":"Types » Builtin Collections » Ad-Hoc Declarations","id":"81","title":"Ad-Hoc Declarations"},"82":{"body":"All of Claro's builtin collection types come in either a mutable or immutable variant - by default, Claro will assume that any collection literals are intended to be immutable . Fig 2: var l = [1, 2, 3]; # Immutable list of ints.\nprint(l); # The below line would be illegal as `lists::add` expects a mutable list.\n# lists::add(l, 4); Output: [1, 2, 3] The following example demonstrates initialization of a mutable list of integers: Fig 3: var l = mut [1, 2, 3];\nprint(\"Before: {l}\"); lists::add(l, 4); # <-- Mutation happens here.\nprint(\"After: {l}\"); Output: Before: mut [1, 2, 3]\nAfter: mut [1, 2, 3, 4]","breadcrumbs":"Types » Builtin Collections » Mutability","id":"82","title":"Mutability"},"83":{"body":"Claro's mutability annotations are shallow by design so that you maintain fine-grained control over creating arbitrarily complex nested data structures that mix mutability and immutability as needed. The following examples demonstrate different combinations of nested mutability annotations: This example demonstrates a mutable list whose elements are immutable lists. Fig 4: var l: mut [[int]] = mut [];\nfor (i in [1, 2, 3]) { lists::add(l, [i, i]); # <-- Add an immutable list to the mutable list.\n}\nprint(l); Output: mut [[1, 1], [2, 2], [3, 3]] This example demonstrates an immutable list whose elements are mutable lists. Fig 5: var l: [mut [int]] = [mut [], mut [], mut []];\nvar i = 1;\nfor (mutList in l) { lists::add(mutList, i); # <-- Append an int to this inner mutable list. lists::add(mutList, i++);\n}\nprint(l); Output: [mut [1, 1], mut [2, 2], mut [3, 3]]","breadcrumbs":"Types » Builtin Collections » Mutability Annotations are Shallow","id":"83","title":"Mutability Annotations are Shallow"},"84":{"body":"This builtin support for mutability annotations allows Claro to enforce some very strong safety guarantees in concurrent contexts, so this is about more than just providing a convenient library of data types. See the Concurrency section in this book for more details on how Claro will statically leverage knowledge of whether a type is deeply immutable or not to prevent unsafe data races.","breadcrumbs":"Types » Builtin Collections » Data Race Safety via Deep Immutability","id":"84","title":"Data Race Safety via Deep Immutability"},"85":{"body":"The simplest collection type allows you to keep an arbitrary number of values in some ordering. The list is very much like a Python list in that it allows arbitrary appends, and random access to read values at a O-based index. Unlike Python, as Claro is statically typed, all values in the list must be of the same type, and this type must be pre-determined upon declaration of the variable which reference the list. Fig 1: var l: mut [int] = mut [1, 3, 7, 2, -115, 0];\nlists::add(l, 99);\nprint(len(l)); # 7\nprint(l[1] == l[0]); # false\nprint(l[6] == 99); # true Output: 7\nfalse\ntrue","breadcrumbs":"Types » Builtin Collections » Lists » Lists","id":"85","title":"Lists"},"86":{"body":"Lists support random-access indexing via traditional C-like syntax: Fig 2: var l = [1, 2];\nprint(l[0]);\nprint(l[1]); Output: 1\n2","breadcrumbs":"Types » Builtin Collections » Lists » Accessing List Elements","id":"86","title":"Accessing List Elements"},"87":{"body":"You can update the individual values stored at a particular list index via traditional C-like syntax: Fig 3: var l = mut [1, 2];\nl[0] = 99;\nprint(l); Output: mut [99, 2]","breadcrumbs":"Types » Builtin Collections » Lists » Mutable List Element Reassignment","id":"87","title":"Mutable List Element Reassignment"},"88":{"body":"As with most other languages that allow random-access to lists, you must be careful to always index into lists at valid positions. Any accesses of index, i, where i < 0 or i >= len(l) will result in the program Panicking (exiting in an unrecoverable way). var l = mut [1, 2];\nl[99] = 0; # <-- Panic: Index-out-of-Bounds! (Note: it's possible that as the language evolves, Claro may instead opt to make all list subscripting operations inherently safe by returning some structured result that models the possibility that the list index was invalid. This is ideal for safety, however, this would impose a global runtime overhead so the tradeoff is still being evaluated.)","breadcrumbs":"Types » Builtin Collections » Lists » Index-Out-Of-Bounds","id":"88","title":"Index-Out-Of-Bounds"},"89":{"body":"A large variety of list operations are available in the stdlib's lists module . For example, the previous exapmle added an element to the end of a mutable list by using the lists::add procedure whose signature is the following in the lists.claro_module_api file: # Appends the specified element to the end of this list.\nconsumer add(l: mut [T], toAdd: T);","breadcrumbs":"Types » Builtin Collections » Lists » Stdlib lists Module","id":"89","title":"Stdlib lists Module"},"9":{"body":"Claro is fundamentally designed around a deep integration with the extremely powerful Bazel build system - which enables Claro's incremental builds, external package management, extremely flexible module system, and build-time metaprogramming capabilities - so you'll need to do a bit of Bazel-related setup to prepare your Claro project. You'll only need to do this once ! Bazel does not mandate monorepo style development, but it really shines when used in that context. From this single Bazel project, you'll be able to write, build, and run whatever (related or unrelated) Claro programs as you see fit. Follow the below steps to set up your first Claro project with Bazel!","breadcrumbs":"Getting Started! » Create Your First Claro Project with Bazel!","id":"9","title":"Create Your First Claro Project with Bazel!"},"90":{"body":"It's worth noting that Claro has no way of inferring the correct element type of an empty list when it's type is not constrained by context. For example, the below variable declaration would be a compile-error: var l = []; # Compiler Error: ambiguous type.","breadcrumbs":"Types » Builtin Collections » Lists » Empty Lists","id":"90","title":"Empty Lists"},"91":{"body":"You might think that Claro should be able to infer the type intended for this empty list based on the later usage of the variable it's assigned to. Claro takes the opinionated stance that this would be inherently undesirable behavior . Type inference shouldn't follow some esoteric resolution rules. It would be all too easy to implement a complex type inference system that can infer types far better than any real world human reader could - the end result would simply be enabling code to be written that is intrinsically difficult for your colleagues (and your future self) to read later on. This is an anti-goal of Claro. The following will never be supported : # Hypothetically, Claro could infer that the type of `l` is `mut [string]` based\n# solely on the usage of `l` later on.\nvar l = mut []; ...a bunch of code... append(l, \"foo\");","breadcrumbs":"Types » Builtin Collections » Lists » Empty List Type Inference By Later Usage (Will Never Be Supported)","id":"91","title":"Empty List Type Inference By Later Usage (Will Never Be Supported)"},"92":{"body":"Claro sets are much like Python sets, with a fixed, single type for all elements. You may initialize them with many elements and then check for membership in the set later. Fig 1: var mySet: {int} = {1, 6, -12};\nprint(10 in mySet);\nprint(6 in mySet); Output: false\ntrue","breadcrumbs":"Types » Builtin Collections » Sets » Sets","id":"92","title":"Sets"},"93":{"body":"Elements can be added to a set by making use of the sets::add function from the stdlib's sets module . Fig 2: # Adds the specified element to this set if it is not already present. If this set already contains the element, the\n# call leaves the set unchanged and returns false. This ensures that sets never contain duplicate elements.\n#\n# Returns: true if this set did not already contain the specified element.\nfunction add(s: mut {T}, t: T) -> boolean; Fig 3: var s = mut {1, 2};\nprint(10 in s);\n_ = sets::add(s, 10); # <-- Explicitly ignoring output of function call.\nprint(10 in s); Output: false\ntrue","breadcrumbs":"Types » Builtin Collections » Sets » Adding Elements to a Mutable Set","id":"93","title":"Adding Elements to a Mutable Set"},"94":{"body":"A mapping of keys of a fixed value type, to values of a fixed type. Fig 1: var myMap: mut {string: int} = mut {};\nmyMap[\"Jason\"] = 28;\nprint(\"Jason\" in myMap); # true\nmyMap[\"Kenny\"] = 29;\nprint(myMap); # mut {\"Jason\": 28, \"Kenny\": 29} Output: true\nmut {Jason: 28, Kenny: 29}","breadcrumbs":"Types » Builtin Collections » Maps » Maps","id":"94","title":"Maps"},"95":{"body":"You can check for the existence of a key in a map by using the in keyword. Fig 2: var m = {\"a\": 1, \"b\": 2}; for (k in [\"a\", \"b\", \"c\"]) { print(\"{k} in map: {k in m}\");\n} Output: a in map: true\nb in map: true\nc in map: false","breadcrumbs":"Types » Builtin Collections » Maps » Checking if a Key Exists","id":"95","title":"Checking if a Key Exists"},"96":{"body":"Claro's for loop supports iterating over the entries of a map, with each entry modeled as tuple: Fig 3: var m = {\"a\": 1, \"b\": 2}; for (entry in m) { var k = entry[0]; var v = entry[1]; print(\"{k} -> {v}\");\n} Output: a -> 1\nb -> 2","breadcrumbs":"Types » Builtin Collections » Maps » Iterating Over the Entries of a Map","id":"96","title":"Iterating Over the Entries of a Map"},"97":{"body":"A large variety of map operations are available in the stdlib's maps module . For example, you can declare a default value that will be used as fallback if the read key doesn't exist in the map by using the following function declared in the maps.claro_module_api file: Fig 4: # Returns the value to which the specified key is mapped, or `defaultValue` if this map contains no mapping for the key.\nfunction getOrDefault(m: {K:V}, k: K, defaultValue: V) -> V; Fig 5: var m = {\"a\": 1, \"b\": 2}; for (k in [\"a\", \"b\", \"c\"]) { print(maps::getOrDefault(m, k, -1));\n} Output: 1\n2\n-1","breadcrumbs":"Types » Builtin Collections » Maps » Stdlib maps Module","id":"97","title":"Stdlib maps Module"},"98":{"body":"Tuples are a fixed-order, fixed-size collection of values which do not all have to be of the same type.","breadcrumbs":"Types » Builtin Collections » Tuples » Tuples","id":"98","title":"Tuples"},"99":{"body":"You can see in the example below, tuples interact w/ type validation in an interesting way worth making note of. When you index into a tuple, you should generally prefer to use a literal int constant. When you do, Claro can statically determine the type of the value you're accessing at compile time, which allows safer and more efficient code. For example, Claro is able to statically find the bugs in the below program: Fig 1: var myPair: tuple = (1, \"one\"); # Claro will interpret literal int subscripts at compile-time for type validation.\nvar myInt: int = myPair[1]; # <-- Wrong index.\nprint(myInt);\nvar myStr: string = myPair[3]; # <-- Out-of-bounds index.\nprint(myStr); Compilation Errors: tuple_type_EX1_example.claro:4: Invalid type: Found: string Expected: int\nvar myInt: int = myPair[1]; # <-- Wrong index. ^^^^^^^^^\ntuple_type_EX1_example.claro:6: Tuple Subscript Literal Out of Bounds: For subscript on tuple of type: tuple Found: 3 Expected: index in range [0, 2)\nvar myStr: string = myPair[3]; # <-- Out-of-bounds index. ^^^^^^^^^\n2 Errors Making it easy to apply the fix: Fig 2: var myPair: tuple = (1, \"one\"); # Claro will interpret literal int subscripts at compile-time for type validation.\nvar myInt: int = myPair[0]; # <-- Correct index.\nprint(myInt);\nvar myStr: string = myPair[1]; # <-- Correct index.\nprint(myStr); Output: 1\none","breadcrumbs":"Types » Builtin Collections » Tuples » Compile-Time Validated Indexing","id":"99","title":"Compile-Time Validated Indexing"}},"length":191,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"1":{".":{"4":{"0":{"9":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":26,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"178":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"5":{"df":1,"docs":{"45":{"tf":1.0}},"f":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":1,"docs":{"135":{"tf":1.0}}},"2":{"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"147":{"tf":1.0},"163":{"tf":1.4142135623730951},"171":{"tf":1.0}}},"df":6,"docs":{"129":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"49":{"tf":1.4142135623730951},"70":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"106":{"tf":2.449489742783178},"107":{"tf":3.1622776601683795},"121":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"85":{"tf":1.0}}},"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"92":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},"df":103,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"146":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":2.449489742783178},"149":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.449489742783178},"158":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":2.8284271247461903},"166":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":2.8284271247461903},"72":{"tf":1.4142135623730951},"73":{"tf":3.4641016151377544},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":2.449489742783178},"82":{"tf":2.23606797749979},"83":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"b":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},".":{"6":{"7":{"9":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":2,"docs":{"107":{"tf":1.0},"152":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}},"9":{"df":3,"docs":{"104":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772}}},"^":{"3":{"1":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"3":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":83,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"133":{"tf":1.0},"137":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":2.23606797749979},"158":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"160":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"69":{"tf":1.7320508075688772},"71":{"tf":3.4641016151377544},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"3":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"2":{"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"df":60,"docs":{"100":{"tf":1.0},"104":{"tf":1.7320508075688772},"106":{"tf":1.0},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":2.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.7320508075688772},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.0},"162":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.7320508075688772},"19":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":2.23606797749979},"73":{"tf":3.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}},"4":{".":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":34,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"179":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"97":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"169":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}},"6":{".":{"4":{".":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"49":{"tf":2.0}}},"df":13,"docs":{"101":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"122":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"8":{"df":3,"docs":{"137":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":2.0},"158":{"tf":1.4142135623730951},"166":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":4,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"_":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":19,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"173":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":3.872983346207417},"93":{"tf":1.0}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"158":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":30,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.4142135623730951},"190":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.0},"151":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"150":{"tf":1.7320508075688772},"160":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"103":{"tf":1.4142135623730951},"121":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":2.6457513110645907}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"106":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"36":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"7":{"tf":2.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":26,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0}}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"93":{"tf":1.0}},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":9,"docs":{"133":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"83":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":2,"docs":{"107":{"tf":2.449489742783178},"189":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"df":9,"docs":{"111":{"tf":1.0},"187":{"tf":1.0},"39":{"tf":1.0},"57":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"81":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"142":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"166":{"tf":1.0},"22":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":2,"docs":{"104":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":6,"docs":{"111":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"157":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"i":{"a":{"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":2.0},"128":{"tf":2.449489742783178}},"s":{"df":5,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":20,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.4142135623730951},"169":{"tf":1.0},"182":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"125":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"185":{"tf":1.0}},"g":{"df":1,"docs":{"150":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":13,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"143":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"153":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":4,"docs":{"137":{"tf":1.4142135623730951},"155":{"tf":2.449489742783178},"156":{"tf":2.449489742783178},"90":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":18,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"113":{"tf":1.0},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"131":{"tf":1.7320508075688772},"133":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"143":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"133":{"tf":1.0},"145":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":11,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"91":{"tf":1.0}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"187":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"145":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"168":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"36":{"tf":2.23606797749979}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":4,"docs":{"33":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"174":{"tf":1.0}}},"df":3,"docs":{"160":{"tf":1.0},"73":{"tf":1.0},"99":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"144":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"144":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"153":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"154":{"tf":1.0},"159":{"tf":1.0},"57":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"163":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"(":{"df":2,"docs":{"136":{"tf":1.0},"178":{"tf":1.0}}},"1":{"df":1,"docs":{"112":{"tf":1.0}}},"2":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"150":{"tf":1.0}}},"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":12,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.0},"144":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"122":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":2.0},"145":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"142":{"tf":1.0},"148":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"168":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"150":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"188":{"tf":1.4142135623730951},"33":{"tf":1.0},"82":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.0},"154":{"tf":1.0},"72":{"tf":2.6457513110645907}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"135":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":2.0},"119":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"159":{"tf":1.0},"171":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"89":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":11,"docs":{"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"162":{"tf":1.0}}},"y":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":1,"docs":{"175":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"1":{"0":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.0}}},"df":2,"docs":{"118":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"170":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":9,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"3":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"118":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":4,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":2.0}}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"r":{"c":{"df":5,"docs":{"15":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"b":{"b":{"df":1,"docs":{"158":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"152":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":10,"docs":{"112":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"149":{"tf":2.449489742783178},"163":{"tf":2.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}},"df":16,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"129":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"57":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}},"v":{"df":2,"docs":{"154":{"tf":1.0},"166":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"127":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"n":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}}}},"d":{"df":2,"docs":{"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":7,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"75":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"138":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"175":{"tf":2.23606797749979},"176":{"tf":2.449489742783178},"177":{"tf":3.0},"178":{"tf":4.242640687119285},"179":{"tf":2.449489742783178},"180":{"tf":1.4142135623730951},"181":{"tf":3.0},"23":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"178":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"177":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":4,"docs":{"113":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"106":{"tf":1.0},"130":{"tf":1.4142135623730951},"150":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"68":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"152":{"tf":1.0},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"32":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"165":{"tf":1.0},"63":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"154":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":8,"docs":{"157":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":2.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"15":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":11,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":2.0},"167":{"tf":1.0},"176":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"99":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":28,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.7320508075688772},"188":{"tf":2.23606797749979},"189":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"29":{"tf":1.0},"30":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"150":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"11":{"tf":1.0},"174":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":23,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"161":{"tf":1.0},"163":{"tf":1.7320508075688772},"167":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"32":{"tf":1.0},"91":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"19":{"tf":1.0},"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"c":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"11":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":35,"docs":{"125":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.6457513110645907},"156":{"tf":3.0},"159":{"tf":1.0},"165":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":2.23606797749979},"172":{"tf":1.0},"174":{"tf":2.23606797749979},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":2.6457513110645907},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"146":{"tf":2.0},"147":{"tf":2.0},"148":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"88":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":30,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"110":{"tf":2.23606797749979},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"188":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":3.605551275463989},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":3.872983346207417},"72":{"tf":3.7416573867739413},"73":{"tf":4.69041575982343},"80":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"135":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"100":{"tf":2.23606797749979},"125":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"156":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":2.0},"73":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"145":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"168":{"tf":1.0}}}}}}}},"df":14,"docs":{"137":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"156":{"tf":1.4142135623730951},"170":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"148":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"176":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"168":{"tf":1.0},"182":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"71":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"106":{"tf":2.23606797749979},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"110":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"126":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"186":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"148":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":3,"docs":{"186":{"tf":1.0},"187":{"tf":1.0},"39":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"117":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"'":{"df":38,"docs":{"109":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.7320508075688772},"148":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.4142135623730951},"22":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"18":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":2.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"39":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"18":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":1.0},"189":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":106,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"110":{"tf":2.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":2.0},"17":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":2.23606797749979},"182":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"53":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":2.23606797749979},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":1.0},"99":{"tf":2.0}},"’":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"2":{"tf":1.0},"81":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"126":{"tf":1.0},"34":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"150":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"109":{"tf":1.0}}},"r":{"df":1,"docs":{"113":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"173":{"tf":1.0},"189":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0}},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"145":{"tf":1.4142135623730951},"148":{"tf":1.7320508075688772},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"148":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":36,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":2.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"2":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":2.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"91":{"tf":1.4142135623730951},"99":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"78":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"159":{"tf":2.6457513110645907},"160":{"tf":1.7320508075688772},"167":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"163":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"91":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":19,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.0},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}},"r":{"df":1,"docs":{"177":{"tf":1.7320508075688772}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"136":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"11":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"177":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"151":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":46,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":2.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":2.23606797749979},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"79":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"99":{"tf":2.23606797749979}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"136":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":2.449489742783178},"190":{"tf":1.0}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}},"2":{"df":1,"docs":{"165":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":1,"docs":{"165":{"tf":1.0}}},"8":{"2":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"3":{"7":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}}},"df":1,"docs":{"165":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"168":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"23":{"tf":1.0}}},"s":{"df":4,"docs":{"128":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"182":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":2.0},"171":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"163":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"140":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"44":{"tf":1.0},"63":{"tf":1.0}},"u":{"df":3,"docs":{"153":{"tf":1.0},"179":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":2.8284271247461903},"125":{"tf":1.7320508075688772},"127":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":13,"docs":{"1":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"3":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"149":{"tf":1.4142135623730951},"173":{"tf":2.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"154":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"67":{"tf":1.0}},"s":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"108":{"tf":1.0},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"161":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"45":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":3,"docs":{"117":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"146":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.4142135623730951},"78":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"119":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"140":{"tf":2.6457513110645907},"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"27":{"tf":1.0},"33":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":14,"docs":{"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.4142135623730951},"65":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"u":{"df":3,"docs":{"125":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"14":{"tf":1.0},"174":{"tf":1.4142135623730951},"32":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"150":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"125":{"tf":1.0},"150":{"tf":3.0},"151":{"tf":1.7320508075688772},"152":{"tf":2.0},"153":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.7320508075688772},"156":{"tf":2.23606797749979},"184":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"48":{"tf":1.4142135623730951},"62":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":8,"docs":{"115":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"120":{"tf":1.0}}},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"y":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"157":{"tf":2.8284271247461903},"158":{"tf":2.449489742783178},"159":{"tf":2.6457513110645907},"160":{"tf":1.7320508075688772},"161":{"tf":1.7320508075688772},"162":{"tf":2.8284271247461903},"163":{"tf":4.0},"164":{"tf":1.4142135623730951},"165":{"tf":2.6457513110645907},"166":{"tf":2.23606797749979},"167":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"78":{"tf":2.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"[":{"1":{"]":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"df":1,"docs":{"157":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"130":{"tf":1.0},"187":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"149":{"tf":1.0},"61":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"71":{"tf":1.0},"80":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.4142135623730951},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":21,"docs":{"100":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"113":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":1.0},"3":{"tf":1.0}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"df":34,"docs":{"109":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":2.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":2.449489742783178},"168":{"tf":2.449489742783178},"169":{"tf":2.23606797749979},"170":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":2.0},"63":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}},"df":2,"docs":{"152":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"168":{"tf":1.0},"174":{"tf":2.0},"176":{"tf":1.7320508075688772},"178":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":47,"docs":{"101":{"tf":2.0},"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.7320508075688772},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"146":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"167":{"tf":2.0},"17":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"81":{"tf":2.449489742783178},"85":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"182":{"tf":1.0},"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":5,"docs":{"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"62":{"tf":1.0},"84":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":8,"docs":{"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"3":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"82":{"tf":1.0},"97":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"178":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":41,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.0},"167":{"tf":2.23606797749979},"171":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":19,"docs":{"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"187":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"140":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"15":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":2.0},"33":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772}}}}}}}},"p":{"df":10,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"27":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"11":{"tf":1.0},"153":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.7320508075688772},"188":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.7320508075688772},"21":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"166":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":5,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"148":{"tf":1.7320508075688772},"154":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":4,"docs":{"105":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"77":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"149":{"tf":1.0},"155":{"tf":1.0},"25":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"137":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"113":{"tf":1.0},"13":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"157":{"tf":1.0},"91":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"167":{"tf":1.0},"169":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"133":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"113":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"182":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"162":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"81":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"146":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":12,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"2":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"167":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"103":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"79":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"25":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"110":{"tf":1.0},"174":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"177":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"135":{"tf":1.0},"153":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"128":{"tf":1.0},"157":{"tf":1.0},"18":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":22,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"168":{"tf":1.0},"175":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"169":{"tf":1.0},"179":{"tf":1.0},"33":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"25":{"tf":1.0}}}}}}}}}},"df":6,"docs":{"149":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"137":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"162":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"163":{"tf":1.0},"58":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"149":{"tf":2.0},"157":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.449489742783178}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"162":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"128":{"tf":1.0},"134":{"tf":1.0},"58":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"148":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"120":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"182":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":6,"docs":{"114":{"tf":1.0},"132":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"169":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"111":{"tf":1.0},"180":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":13,"docs":{"108":{"tf":1.7320508075688772},"145":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":6,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"174":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"117":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.0},"63":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"106":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.4142135623730951},"174":{"tf":1.0},"188":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":2.0}}},"y":{"[":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"110":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"81":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"115":{"tf":2.0},"116":{"tf":1.0},"117":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"154":{"tf":1.0},"78":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"154":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"179":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":30,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"128":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":2.0},"179":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"79":{"tf":2.0},"90":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"166":{"tf":1.0},"91":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"146":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":17,"docs":{"110":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"33":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":2,"docs":{"174":{"tf":1.0},"73":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"x":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.0}}},"5":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"f":{"2":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"127":{"tf":1.0},"130":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":58,"docs":{"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":2.0},"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.0},"76":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":2,"docs":{"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"/":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"189":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":2.0},"189":{"tf":1.4142135623730951},"22":{"tf":1.0},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":2.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"120":{"tf":1.0},"150":{"tf":1.4142135623730951},"30":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"t":{"df":3,"docs":{"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"100":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"130":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}},"n":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.0},"27":{"tf":1.4142135623730951},"39":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.4142135623730951}}}},"s":{"df":3,"docs":{"162":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0}}}},"r":{"df":1,"docs":{"100":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"143":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":3,"docs":{"27":{"tf":1.0},"32":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"157":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"147":{"tf":1.0}}},"1":{"df":1,"docs":{"147":{"tf":1.0}}},"5":{"df":1,"docs":{"147":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":1.0},"162":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"149":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}}}},"s":{"df":8,"docs":{"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":7,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"179":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"164":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"170":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"116":{"tf":1.0},"166":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":126,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"181":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"df":29,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.0},"188":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":2.8284271247461903},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"8":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"150":{"tf":1.0},"178":{"tf":1.0}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"149":{"tf":2.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"146":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"d":{"df":7,"docs":{"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"157":{"tf":1.0},"25":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"83":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"128":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"149":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":12,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":4,"docs":{"107":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.23606797749979}}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"112":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"o":{"(":{"1":{"df":3,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0}}},"[":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"160":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"150":{"tf":1.0}}},"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"73":{"tf":2.6457513110645907}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"73":{"tf":3.872983346207417}}},"df":0,"docs":{}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"160":{"tf":1.0},"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"160":{"tf":2.23606797749979},"167":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"170":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"120":{"tf":2.0},"121":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.8284271247461903},"36":{"tf":1.4142135623730951},"91":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":1,"docs":{"172":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"170":{"tf":2.23606797749979}}}},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"101":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":2,"docs":{"138":{"tf":1.0},"175":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":11,"docs":{"112":{"tf":1.0},"152":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"161":{"tf":1.0},"167":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":11,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"162":{"tf":1.0},"190":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":6,"docs":{"146":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":2.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0}},"i":{"df":8,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"187":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"149":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}}},"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"143":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}},"t":{"df":2,"docs":{"177":{"tf":1.4142135623730951},"178":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}}},"b":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0}}}}}}},"df":50,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.449489742783178},"139":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":3.605551275463989},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":2.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":2.0},"175":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":3.872983346207417},"178":{"tf":3.4641016151377544},"181":{"tf":2.0},"182":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"186":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"23":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"155":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.0},"131":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"57":{"tf":1.0},"91":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"172":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"(":{"\"":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{">":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"173":{"tf":1.0}}},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"153":{"tf":1.0},"163":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"3":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":39,"docs":{"108":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"129":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":2.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"15":{"tf":1.0},"150":{"tf":3.4641016151377544},"151":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":2.0},"156":{"tf":1.7320508075688772},"160":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":2.8284271247461903},"179":{"tf":2.0},"180":{"tf":1.7320508075688772},"181":{"tf":1.4142135623730951},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"80":{"tf":1.0},"99":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"7":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"136":{"tf":1.0},"138":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"[":{"0":{"df":1,"docs":{"167":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"62":{"tf":1.0}},"n":{"df":12,"docs":{"122":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"91":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"167":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":1,"docs":{"166":{"tf":1.0}}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"43":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"83":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"h":{"df":10,"docs":{"146":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":2.6457513110645907},"170":{"tf":3.4641016151377544},"171":{"tf":3.1622776601683795},"172":{"tf":2.0},"173":{"tf":2.0},"174":{"tf":3.7416573867739413},"176":{"tf":2.6457513110645907},"178":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":2.0},"111":{"tf":1.4142135623730951},"49":{"tf":1.0},"72":{"tf":3.3166247903554}}},"t":{"df":2,"docs":{"34":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}},"t":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":3.7416573867739413},"173":{"tf":2.23606797749979}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.0},"3":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"15":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":6,"docs":{"142":{"tf":1.0},"175":{"tf":1.0},"26":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":10,"docs":{"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"177":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"117":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"169":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"115":{"tf":1.0},"162":{"tf":1.4142135623730951},"174":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"70":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"136":{"tf":1.4142135623730951},"152":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":2.0},"8":{"tf":1.4142135623730951}}}},"p":{"df":1,"docs":{"164":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"df":13,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"190":{"tf":1.0},"23":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"114":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"63":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"111":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"126":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"<":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"12":{"tf":1.0},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":2.0}}}},"m":{"df":1,"docs":{"163":{"tf":1.0}}}},".":{"df":3,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"69":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"140":{"tf":1.0},"168":{"tf":1.0}}}},"1":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"138":{"tf":1.0}},"l":{"df":3,"docs":{"127":{"tf":1.0},"177":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"122":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"f":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"93":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"128":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":10,"docs":{"101":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"146":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"82":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"112":{"tf":1.0},"170":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"149":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"101":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.7320508075688772},"83":{"tf":2.0},"84":{"tf":1.4142135623730951}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":2,"docs":{"125":{"tf":1.0},"156":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"107":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":2.23606797749979},"153":{"tf":2.0},"154":{"tf":2.23606797749979},"157":{"tf":1.0},"159":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"91":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"138":{"tf":1.0},"174":{"tf":1.0},"180":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":2,"docs":{"128":{"tf":1.0},"169":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"129":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":6,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"161":{"tf":1.0},"24":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"101":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":4,"docs":{"125":{"tf":1.0},"128":{"tf":2.23606797749979},"163":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":7,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"150":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"70":{"tf":1.0}}}},"d":{"df":1,"docs":{"161":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"182":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"d":{"df":1,"docs":{"154":{"tf":2.23606797749979}},"e":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"147":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"$":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":2.0},"155":{"tf":1.4142135623730951}}}},"df":2,"docs":{"154":{"tf":1.0},"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":2.449489742783178},"135":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":2.23606797749979},"99":{"tf":3.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"i":{"c":{"df":3,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"156":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"125":{"tf":2.23606797749979},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"156":{"tf":1.0},"5":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"176":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"108":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"150":{"tf":1.0},"152":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"140":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":26,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"11":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"134":{"tf":1.0},"149":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":3.0},"177":{"tf":1.0},"178":{"tf":1.0},"46":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"2":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"165":{"tf":1.0},"81":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"159":{"tf":1.0},"163":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":10,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"147":{"tf":1.0},"174":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":7,"docs":{"107":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":2.0},"18":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.7320508075688772}}},"n":{"c":{"df":4,"docs":{"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"125":{"tf":1.0},"167":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":4,"docs":{"106":{"tf":3.4641016151377544},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"136":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"163":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"128":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"163":{"tf":1.0},"180":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"172":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":55,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"106":{"tf":2.8284271247461903},"107":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.0},"115":{"tf":2.0},"118":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":2.6457513110645907},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":2.0},"154":{"tf":3.0},"155":{"tf":1.0},"156":{"tf":2.449489742783178},"159":{"tf":2.449489742783178},"160":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":2.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"184":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.4142135623730951},"70":{"tf":2.6457513110645907},"73":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"135":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"n":{"d":{"df":8,"docs":{"134":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"186":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"116":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"154":{"tf":1.0},"163":{"tf":1.0},"7":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":4,"docs":{"151":{"tf":1.7320508075688772},"153":{"tf":1.0},"185":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":4,"docs":{"158":{"tf":1.0},"162":{"tf":1.0},"3":{"tf":1.0},"68":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"115":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"106":{"tf":2.449489742783178},"107":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"91":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"177":{"tf":1.0},"19":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"34":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":2.0}}}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":14,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"125":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.7320508075688772},"32":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"158":{"tf":1.0},"169":{"tf":1.0},"182":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"114":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.4142135623730951},"176":{"tf":1.0}}}}},"t":{"'":{"df":31,"docs":{"10":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}},"r":{"df":7,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"74":{"tf":1.0},"96":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"115":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"186":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"33":{"tf":2.449489742783178}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"104":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"94":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"k":{"_":{"1":{"1":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":8,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"169":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":2.0},"64":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.7320508075688772}},"o":{"b":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"15":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"k":{":":{"df":0,"docs":{},"v":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":4,"docs":{"56":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"y":{"df":8,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":11,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"159":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":10,"docs":{"105":{"tf":1.0},"106":{"tf":2.0},"13":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}}}},"l":{"1":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"b":{"d":{"a":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":12,"docs":{"112":{"tf":1.4142135623730951},"133":{"tf":2.0},"142":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":1.4142135623730951},"145":{"tf":2.6457513110645907},"146":{"tf":2.0},"147":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"165":{"tf":1.0},"180":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"24":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"g":{"df":25,"docs":{"1":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":2.0},"111":{"tf":1.0},"129":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"152":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":10,"docs":{"161":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"49":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"182":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"168":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":6,"docs":{"108":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}},"df":19,"docs":{"130":{"tf":1.4142135623730951},"134":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":2.23606797749979},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":11,"docs":{"105":{"tf":1.0},"122":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":6,"docs":{"105":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"158":{"tf":2.23606797749979}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"(":{"df":3,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":3,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"108":{"tf":1.0}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"'":{"df":6,"docs":{"15":{"tf":1.0},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":1,"docs":{"128":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":13,"docs":{"114":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"25":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"81":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"117":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"132":{"tf":1.0},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"152":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":2.0},"110":{"tf":2.449489742783178},"111":{"tf":2.449489742783178},"72":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"109":{"tf":1.0}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"167":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":13,"docs":{"148":{"tf":1.0},"180":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"r":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"k":{"df":2,"docs":{"108":{"tf":1.0},"162":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"108":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":27,"docs":{"108":{"tf":1.4142135623730951},"134":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":1.4142135623730951},"159":{"tf":1.7320508075688772},"160":{"tf":1.0},"162":{"tf":2.449489742783178},"163":{"tf":2.8284271247461903},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":2.6457513110645907},"85":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":2.0},"89":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":4,"docs":{"58":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"82":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"174":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"112":{"tf":1.0},"135":{"tf":1.7320508075688772},"82":{"tf":1.0},"99":{"tf":2.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":1,"docs":{"150":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"145":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"a":{"d":{"(":{"\"":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"145":{"tf":1.0},"179":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"t":{"df":4,"docs":{"162":{"tf":1.4142135623730951},"188":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"c":{"df":11,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.4142135623730951},"168":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"153":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}},"df":18,"docs":{"149":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}},"w":{"df":3,"docs":{"166":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"189":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"172":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"116":{"tf":1.0},"170":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"149":{"tf":1.0},"80":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":27,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"169":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.0},"68":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"150":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":13,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.7320508075688772},"33":{"tf":1.0}},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":9,"docs":{"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"96":{"tf":1.4142135623730951},"97":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"144":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":17,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"64":{"tf":2.8284271247461903},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":3.605551275463989},"68":{"tf":2.23606797749979},"69":{"tf":1.7320508075688772},"70":{"tf":2.6457513110645907},"71":{"tf":2.449489742783178},"72":{"tf":3.1622776601683795},"73":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"159":{"tf":1.0},"25":{"tf":1.0}}}}}},"x":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"156":{"tf":2.0}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"e":{"$":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":2.23606797749979}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"130":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"187":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"182":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"162":{"tf":2.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"152":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"168":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}}},"x":{"df":1,"docs":{"83":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"151":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"179":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":24,"docs":{"125":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"182":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"186":{"tf":2.6457513110645907},"187":{"tf":1.7320508075688772},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"2":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"36":{"tf":2.6457513110645907},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.4142135623730951}},"e":{"(":{"df":1,"docs":{"39":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"153":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":32,"docs":{"108":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.7320508075688772},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"174":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.0},"74":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"136":{"tf":1.0},"137":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"185":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.4142135623730951},"77":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":2.0},"104":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"159":{"tf":2.23606797749979},"160":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"166":{"tf":2.449489742783178},"167":{"tf":1.4142135623730951},"4":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.8284271247461903},"84":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":2.8284271247461903},"104":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.0},"162":{"tf":1.0},"166":{"tf":1.0},"82":{"tf":1.0}}}},"df":23,"docs":{"101":{"tf":2.449489742783178},"104":{"tf":2.0},"148":{"tf":2.23606797749979},"157":{"tf":2.23606797749979},"158":{"tf":3.1622776601683795},"159":{"tf":3.872983346207417},"160":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"166":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":3.1622776601683795},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":2.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":2.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":2.0},"99":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"[":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"99":{"tf":1.0}}},"1":{"df":1,"docs":{"99":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":27,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"188":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"107":{"tf":2.449489742783178},"108":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"137":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"178":{"tf":1.0}}},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.7320508075688772},"45":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"w":{"df":22,"docs":{"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"122":{"tf":1.0},"126":{"tf":1.0},"150":{"tf":1.0},"162":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":19,"docs":{"108":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"148":{"tf":1.0},"154":{"tf":1.0},"160":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"184":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":2.8284271247461903},"14":{"tf":1.0},"165":{"tf":2.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"73":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772},"169":{"tf":3.3166247903554},"170":{"tf":3.1622776601683795},"171":{"tf":1.4142135623730951},"173":{"tf":2.8284271247461903},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"108":{"tf":1.0},"135":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.4142135623730951},"3":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":42,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"185":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":3,"docs":{"126":{"tf":2.23606797749979},"127":{"tf":2.0},"160":{"tf":1.0}}},"i":{"c":{"df":9,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"32":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"151":{"tf":1.0}}}}}},"w":{"df":18,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.0},"163":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"76":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"128":{"tf":1.0},"163":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"45":{"tf":2.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}}}}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"166":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"129":{"tf":1.0},"132":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}},"r":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"136":{"tf":1.4142135623730951},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"64":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}}}}}},"k":{"df":2,"docs":{"100":{"tf":1.0},"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"104":{"tf":1.0},"129":{"tf":1.0}}}}},"n":{"c":{"df":5,"docs":{"11":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"9":{"tf":1.0}}},"df":37,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{";":{".":{".":{".":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":2.0},"136":{"tf":1.0},"165":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"72":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"154":{"tf":1.0}}}},"df":8,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"132":{"tf":1.0},"153":{"tf":1.0},"73":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"106":{"tf":1.0}}},"4":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":2,"docs":{"154":{"tf":1.0},"165":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}}},"p":{"df":2,"docs":{"163":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.0},"142":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"x":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"106":{"tf":1.4142135623730951},"120":{"tf":1.0},"13":{"tf":1.0},"140":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":2.23606797749979},"74":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"67":{"tf":1.0},"91":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"t":{"df":5,"docs":{"100":{"tf":1.0},"153":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":5,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"169":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"169":{"tf":1.0},"20":{"tf":1.0},"39":{"tf":1.0},"75":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.4142135623730951},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":2.0},"176":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.7320508075688772},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"4":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":8,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.8284271247461903},"160":{"tf":2.449489742783178},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"132":{"tf":1.0},"167":{"tf":1.0},"63":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{">":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}},"df":20,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"122":{"tf":1.0},"148":{"tf":2.23606797749979},"149":{"tf":1.0},"15":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.0},"147":{"tf":2.0},"159":{"tf":1.0},"162":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":84,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"140":{"tf":1.0},"145":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}}}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"125":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"112":{"tf":1.0},"153":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"122":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"17":{"tf":1.0},"187":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"100":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"150":{"tf":1.0}}},"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":1.0},"160":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"160":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.0},"165":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"1":{"tf":1.0},"174":{"tf":1.0},"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":14,"docs":{"105":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"64":{"tf":2.0},"65":{"tf":1.7320508075688772},"67":{"tf":2.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}}},"r":{"df":1,"docs":{"169":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":2.23606797749979},"162":{"tf":1.0},"163":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"165":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"17":{"tf":1.0},"174":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"156":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"187":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":5,"docs":{"157":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"y":{"df":1,"docs":{"69":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"149":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"170":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"163":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.0},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":24,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.7320508075688772},"132":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"177":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"166":{"tf":1.7320508075688772},"74":{"tf":1.0},"81":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"117":{"tf":1.0},"152":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"137":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":3,"docs":{"150":{"tf":1.0},"177":{"tf":2.23606797749979},"178":{"tf":1.7320508075688772}}},"df":2,"docs":{"102":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"17":{"tf":1.0},"93":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"184":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"186":{"tf":1.0}}}}}}}}}},"v":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"122":{"tf":1.0},"148":{"tf":1.7320508075688772},"176":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":9,"docs":{"152":{"tf":1.0},"166":{"tf":1.0},"179":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}},"s":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":2.23606797749979}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"71":{"tf":2.0}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"159":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"82":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"147":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"29":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":1,"docs":{"147":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}},"y":{"df":1,"docs":{"56":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"2":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"df":1,"docs":{"140":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"137":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"f":{"df":2,"docs":{"119":{"tf":1.0},"120":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"115":{"tf":1.0}}},"2":{"df":1,"docs":{"115":{"tf":1.0}}},"3":{"df":1,"docs":{"115":{"tf":1.0}}},"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"l":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":2,"docs":{"102":{"tf":1.0},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"1":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0}}}}}}}},"r":{"df":1,"docs":{"178":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"(":{"[":{"\"":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"143":{"tf":1.0}}}},"df":8,"docs":{"108":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"185":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"110":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"57":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":9,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":37,"docs":{"125":{"tf":1.4142135623730951},"132":{"tf":2.0},"133":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.23606797749979},"156":{"tf":2.23606797749979},"162":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":2.6457513110645907},"173":{"tf":1.0},"174":{"tf":2.0},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.7320508075688772},"178":{"tf":2.8284271247461903},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0},"89":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"169":{"tf":1.4142135623730951},"32":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":2,"docs":{"174":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":40,"docs":{"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":1.0},"182":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":2.0},"80":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":6,"docs":{"159":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"168":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":17,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"114":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":26,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"39":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"184":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"150":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"74":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":7,"docs":{"129":{"tf":1.0},"145":{"tf":1.0},"48":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"r":{">":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":6,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.0},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"49":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"137":{"tf":1.0},"156":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"165":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":10,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":2.6457513110645907},"49":{"tf":2.8284271247461903},"58":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"107":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"170":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"df":6,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.7320508075688772},"174":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"d":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"91":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}},"z":{"df":2,"docs":{"145":{"tf":1.0},"149":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"153":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"177":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"d":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"179":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":1.0},"128":{"tf":2.8284271247461903},"165":{"tf":2.8284271247461903},"166":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"49":{"tf":1.0},"72":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"149":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"112":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"108":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"144":{"tf":1.7320508075688772},"145":{"tf":1.7320508075688772},"16":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":3.0},"17":{"tf":1.0},"181":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"167":{"tf":1.0},"179":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"168":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"147":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"105":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"169":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"123":{"tf":1.0},"163":{"tf":1.0},"61":{"tf":4.123105625617661}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":16,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"145":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"65":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":3.0}}}}},"i":{"df":0,"docs":{},"r":{"df":19,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"113":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":2.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"v":{"df":7,"docs":{"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"73":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":7,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"169":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"167":{"tf":1.7320508075688772},"179":{"tf":1.0},"181":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":14,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"179":{"tf":1.0},"188":{"tf":1.0},"88":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":36,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":2.449489742783178},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"154":{"tf":2.6457513110645907},"155":{"tf":2.0},"156":{"tf":2.23606797749979},"159":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":2.449489742783178},"167":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"178":{"tf":1.7320508075688772},"185":{"tf":1.4142135623730951},"27":{"tf":1.0},"35":{"tf":1.0},"81":{"tf":1.7320508075688772},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"138":{"tf":1.0},"152":{"tf":1.4142135623730951},"177":{"tf":1.0},"188":{"tf":1.0},"6":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"h":{"df":7,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"128":{"tf":1.0},"158":{"tf":2.23606797749979},"2":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"126":{"tf":1.0},"16":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"178":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"w":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.6457513110645907}}}},"p":{"c":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"159":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"91":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":2.23606797749979},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.0},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"48":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"100":{"tf":2.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.7320508075688772},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"61":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"177":{"tf":1.0},"178":{"tf":1.0}}},"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"135":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}},"r":{"df":4,"docs":{"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{"2":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"154":{"tf":1.0},"156":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"154":{"tf":1.7320508075688772},"156":{"tf":1.0}}}}},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"84":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":21,"docs":{"110":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.7320508075688772},"168":{"tf":2.0},"169":{"tf":1.0},"34":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"173":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"150":{"tf":1.0}}}},"b":{"df":1,"docs":{"108":{"tf":2.23606797749979}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"174":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"169":{"tf":2.23606797749979},"171":{"tf":1.0},"174":{"tf":2.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"100":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":2.0},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":11,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"49":{"tf":3.3166247903554},"50":{"tf":2.449489742783178},"58":{"tf":2.0},"63":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"163":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"108":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"162":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":3,"docs":{"148":{"tf":1.0},"167":{"tf":1.0},"67":{"tf":1.0}}},"n":{"df":4,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":6,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"33":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"25":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"c":{"df":4,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.0}}},"df":0,"docs":{}}}},"t":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":2.0},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":2.8284271247461903}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"93":{"tf":1.0}}},"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"166":{"tf":1.7320508075688772},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"147":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"83":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":2.8284271247461903},"168":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"(":{"\"":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"140":{"tf":1.0}}},"df":2,"docs":{"169":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"113":{"tf":1.0},"150":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":11,"docs":{"125":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"150":{"tf":2.449489742783178},"156":{"tf":1.0},"177":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"36":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"75":{"tf":1.0}}}}}}},"df":2,"docs":{"161":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":1.0},"151":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"116":{"tf":1.0},"126":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"64":{"tf":1.0},"85":{"tf":1.0}}}}},"i":{"df":24,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.7320508075688772},"179":{"tf":1.0},"185":{"tf":1.0},"30":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"91":{"tf":1.0}},"f":{"df":1,"docs":{"153":{"tf":1.0}},"i":{"df":3,"docs":{"151":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":1.0},"168":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"127":{"tf":1.0},"138":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.4142135623730951},"185":{"tf":1.0},"2":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"k":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"150":{"tf":1.0},"154":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.0},"136":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"73":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"df":3,"docs":{"6":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":2.8284271247461903},"65":{"tf":2.0},"66":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"188":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"100":{"tf":1.0},"168":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"135":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"109":{"tf":1.0},"17":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"131":{"tf":1.0},"138":{"tf":1.0},"167":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"105":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"168":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.0},"135":{"tf":1.0},"163":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"190":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":2.23606797749979},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"153":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"165":{"tf":1.0},"25":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":6,"docs":{"150":{"tf":1.4142135623730951},"70":{"tf":1.0},"8":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"70":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"r":{"c":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"165":{"tf":1.4142135623730951},"45":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"91":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"168":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"29":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"15":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":2.0},"168":{"tf":1.0},"174":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":32,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"110":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.4142135623730951},"148":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"108":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":3,"docs":{"89":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"]":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"27":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"128":{"tf":1.0},"168":{"tf":1.4142135623730951},"174":{"tf":1.0},"37":{"tf":1.0},"63":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"138":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"151":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":30,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"107":{"tf":2.0},"110":{"tf":1.7320508075688772},"112":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"152":{"tf":2.0},"186":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"91":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"s":{":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"27":{"tf":1.0},"35":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"84":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":20,"docs":{"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"83":{"tf":1.0},"88":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":10,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.0},"39":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"b":{"df":2,"docs":{"105":{"tf":2.0},"138":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"170":{"tf":1.7320508075688772},"173":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"135":{"tf":2.0},"88":{"tf":1.0},"99":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.0},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"188":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"150":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"164":{"tf":1.0},"176":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"62":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":2.23606797749979}}}}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"149":{"tf":1.0},"152":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":27,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.4142135623730951},"45":{"tf":1.0},"57":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"91":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"2":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"64":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"124":{"tf":1.0},"146":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"130":{"tf":1.0},"140":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":13,"docs":{"133":{"tf":1.0},"143":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"45":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":11,"docs":{"117":{"tf":1.0},"13":{"tf":1.0},"159":{"tf":1.0},"182":{"tf":1.7320508075688772},"2":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"137":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"105":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}}},"df":23,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"168":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0}},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"187":{"tf":1.0},"188":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"27":{"tf":1.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"157":{"tf":1.0},"61":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"173":{"tf":1.0}}},"df":18,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":2.449489742783178},"154":{"tf":1.0},"160":{"tf":2.0},"167":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.4142135623730951},"184":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"81":{"tf":2.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"117":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"d":{"df":4,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0}}},"df":2,"docs":{"106":{"tf":1.0},"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"128":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"163":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"t":{"'":{"df":3,"docs":{"105":{"tf":1.0},"127":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"157":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"42":{"tf":1.0}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"176":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}},"r":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":12,"docs":{"151":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}}},"k":{"df":7,"docs":{"132":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"27":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":6,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"148":{"tf":1.0},"154":{"tf":1.0},"174":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":4.69041575982343},"176":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"105":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.0},"177":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}}}},"w":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":1,"docs":{"162":{"tf":1.0}},"m":{"b":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":35,"docs":{"100":{"tf":2.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":2.449489742783178},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":2.0}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"162":{"tf":1.0},"78":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"136":{"tf":1.0},"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"179":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}},"l":{"df":2,"docs":{"138":{"tf":1.0},"2":{"tf":1.0}}}},"p":{"df":9,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"188":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"158":{"tf":1.0},"174":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":2.0},"127":{"tf":1.4142135623730951}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"128":{"tf":1.4142135623730951},"163":{"tf":1.0},"171":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"128":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"27":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.4142135623730951},"169":{"tf":1.0},"182":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":11,"docs":{"130":{"tf":2.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"135":{"tf":2.0},"57":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"112":{"tf":1.0},"128":{"tf":1.7320508075688772},"130":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}},"k":{"df":2,"docs":{"56":{"tf":1.0},"96":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":2.23606797749979}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"99":{"tf":1.0}}},"6":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"100":{"tf":1.0}}},"6":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":9,"docs":{"116":{"tf":1.0},"126":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"152":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":81,"docs":{"1":{"tf":1.0},"100":{"tf":3.3166247903554},"101":{"tf":2.0},"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"106":{"tf":3.0},"107":{"tf":3.605551275463989},"108":{"tf":2.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":3.0},"116":{"tf":2.8284271247461903},"117":{"tf":2.6457513110645907},"118":{"tf":2.23606797749979},"119":{"tf":1.7320508075688772},"120":{"tf":3.1622776601683795},"121":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":2.8284271247461903},"124":{"tf":2.0},"125":{"tf":3.3166247903554},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"128":{"tf":3.4641016151377544},"129":{"tf":3.4641016151377544},"130":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"136":{"tf":2.23606797749979},"137":{"tf":2.449489742783178},"143":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":3.4641016151377544},"151":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"153":{"tf":2.0},"154":{"tf":2.449489742783178},"155":{"tf":2.449489742783178},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"159":{"tf":2.0},"160":{"tf":3.0},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":2.6457513110645907},"166":{"tf":1.0},"167":{"tf":2.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.3166247903554},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"81":{"tf":2.0},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":2.0},"90":{"tf":1.7320508075688772},"91":{"tf":2.449489742783178},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.449489742783178}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"107":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":5,"docs":{"149":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"157":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"136":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"162":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"131":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.7320508075688772},"170":{"tf":1.0},"179":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"177":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"166":{"tf":1.0},"25":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"t":{"df":3,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"129":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":6,"docs":{"101":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"152":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"151":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"148":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"171":{"tf":1.0},"174":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"163":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"v":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"160":{"tf":1.0}}},"1":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":6,"docs":{"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"136":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"160":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.4142135623730951},"25":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"108":{"tf":1.0},"136":{"tf":1.0},"167":{"tf":1.0},"91":{"tf":1.7320508075688772}}}},"df":86,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"160":{"tf":1.4142135623730951},"163":{"tf":2.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"177":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"180":{"tf":2.449489742783178},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"6":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"122":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":14,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"167":{"tf":2.23606797749979},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0}},"i":{"d":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"70":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"56":{"tf":2.0}},"i":{"d":{"df":16,"docs":{"100":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"110":{"tf":1.4142135623730951},"117":{"tf":1.0},"146":{"tf":1.4142135623730951},"148":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":2.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}},"df":50,"docs":{"100":{"tf":1.0},"101":{"tf":2.23606797749979},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"166":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"184":{"tf":1.0},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"101":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":100,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":2.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"143":{"tf":2.0},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":3.4641016151377544},"165":{"tf":1.7320508075688772},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"189":{"tf":2.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":2.8284271247461903}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":2.449489742783178},"110":{"tf":1.0},"115":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":1.4142135623730951},"147":{"tf":2.6457513110645907},"148":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"177":{"tf":1.0},"181":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"89":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":3,"docs":{"56":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":19,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":2.0},"138":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"135":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"146":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.0},"169":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"169":{"tf":1.0}}}},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"y":{"df":28,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"13":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"189":{"tf":1.0},"43":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":2,"docs":{"70":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"'":{"d":{"df":2,"docs":{"127":{"tf":1.0},"170":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"40":{"tf":1.0}}},"v":{"df":1,"docs":{"39":{"tf":1.0}}}},"b":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"125":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"151":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"182":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"171":{"tf":1.0},"178":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"83":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"n":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"163":{"tf":1.0},"69":{"tf":1.7320508075688772},"77":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"39":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"145":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.4142135623730951},"174":{"tf":1.0},"2":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"df":16,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":2.0},"169":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"152":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"63":{"tf":2.0},"8":{"tf":1.7320508075688772},"91":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":1,"docs":{"110":{"tf":1.0}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"160":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":11,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.23606797749979},"121":{"tf":1.0},"128":{"tf":1.0},"160":{"tf":2.0},"170":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"186":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":21,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"113":{"tf":1.0},"63":{"tf":1.7320508075688772},"91":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{"df":23,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"124":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.7320508075688772},"144":{"tf":1.4142135623730951},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"163":{"tf":2.0},"166":{"tf":1.7320508075688772},"178":{"tf":2.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"73":{"tf":5.0990195135927845},"75":{"tf":2.449489742783178},"76":{"tf":1.7320508075688772},"77":{"tf":2.0},"78":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":6,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"144":{"tf":2.0},"50":{"tf":1.0},"73":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"3":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"72":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":7,"docs":{"128":{"tf":1.0},"130":{"tf":1.0},"149":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":13,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"62":{"tf":1.0},"99":{"tf":1.0}}},"v":{"df":5,"docs":{"129":{"tf":1.0},"171":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"110":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"73":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"114":{"tf":1.0},"4":{"tf":1.0},"73":{"tf":2.0}}}}}}}},"breadcrumbs":{"root":{"0":{".":{"1":{".":{"4":{"0":{"9":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":26,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"178":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"5":{"df":1,"docs":{"45":{"tf":1.0}},"f":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":1,"docs":{"135":{"tf":1.0}}},"2":{"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"147":{"tf":1.0},"163":{"tf":1.4142135623730951},"171":{"tf":1.0}}},"df":6,"docs":{"129":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"49":{"tf":1.4142135623730951},"70":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"106":{"tf":2.449489742783178},"107":{"tf":3.1622776601683795},"121":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"85":{"tf":1.0}}},"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"92":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},"df":103,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.7320508075688772},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"146":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":2.449489742783178},"149":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.449489742783178},"158":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":2.8284271247461903},"166":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":2.8284271247461903},"72":{"tf":1.4142135623730951},"73":{"tf":3.4641016151377544},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":2.449489742783178},"82":{"tf":2.23606797749979},"83":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"b":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},".":{"6":{"7":{"9":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":2,"docs":{"107":{"tf":1.0},"152":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}},"9":{"df":3,"docs":{"104":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772}}},"^":{"3":{"1":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"3":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":83,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"133":{"tf":1.0},"137":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":2.23606797749979},"158":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"160":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"69":{"tf":1.7320508075688772},"71":{"tf":3.4641016151377544},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"3":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"2":{"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"df":60,"docs":{"100":{"tf":1.0},"104":{"tf":1.7320508075688772},"106":{"tf":1.0},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":2.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.7320508075688772},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.0},"162":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.7320508075688772},"19":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":2.23606797749979},"73":{"tf":3.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}},"4":{".":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":34,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"179":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"97":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"169":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}},"6":{".":{"4":{".":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"49":{"tf":2.0}}},"df":13,"docs":{"101":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"122":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"8":{"df":3,"docs":{"137":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":2.0},"158":{"tf":1.4142135623730951},"166":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":4,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"_":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":19,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"173":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":3.872983346207417},"93":{"tf":1.0}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"158":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":30,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.0},"151":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"150":{"tf":1.7320508075688772},"160":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"103":{"tf":1.7320508075688772},"121":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":2.6457513110645907}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"106":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"36":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"7":{"tf":2.23606797749979}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":26,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0}}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"93":{"tf":1.0}},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":9,"docs":{"133":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"83":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":2,"docs":{"107":{"tf":2.449489742783178},"189":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"df":9,"docs":{"111":{"tf":1.4142135623730951},"187":{"tf":1.0},"39":{"tf":1.4142135623730951},"57":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.7320508075688772}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"136":{"tf":1.7320508075688772},"145":{"tf":1.0},"173":{"tf":1.7320508075688772},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"142":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"166":{"tf":1.0},"22":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":2,"docs":{"104":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":6,"docs":{"111":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"157":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"i":{"a":{"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":2.0},"128":{"tf":2.6457513110645907}},"s":{"df":6,"docs":{"112":{"tf":2.0},"113":{"tf":2.449489742783178},"114":{"tf":2.449489742783178},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":20,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.4142135623730951},"169":{"tf":1.0},"182":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"125":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"185":{"tf":1.0}},"g":{"df":1,"docs":{"150":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":13,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"12":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"153":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":4,"docs":{"137":{"tf":1.7320508075688772},"155":{"tf":2.6457513110645907},"156":{"tf":2.6457513110645907},"90":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":21,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"113":{"tf":1.0},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"133":{"tf":1.0},"145":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":11,"docs":{"110":{"tf":1.0},"120":{"tf":1.4142135623730951},"126":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"91":{"tf":1.0}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"187":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"145":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"168":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"185":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"36":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":4,"docs":{"33":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0}}},"df":3,"docs":{"160":{"tf":1.4142135623730951},"73":{"tf":1.0},"99":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"144":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"144":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"153":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"154":{"tf":1.0},"159":{"tf":1.0},"57":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"163":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"(":{"df":2,"docs":{"136":{"tf":1.0},"178":{"tf":1.0}}},"1":{"df":1,"docs":{"112":{"tf":1.0}}},"2":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"150":{"tf":1.0}}},"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":12,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.4142135623730951},"144":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"122":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":2.0},"145":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"142":{"tf":1.0},"148":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"168":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"150":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"188":{"tf":1.4142135623730951},"33":{"tf":1.0},"82":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"109":{"tf":2.6457513110645907},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"154":{"tf":1.0},"72":{"tf":2.6457513110645907}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"135":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":2.0},"119":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"159":{"tf":1.0},"171":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"89":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":11,"docs":{"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"162":{"tf":1.4142135623730951}}},"y":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":1,"docs":{"175":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"1":{"0":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.0}}},"df":2,"docs":{"118":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"170":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":9,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"3":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"118":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":4,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979}}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.6457513110645907}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"r":{"c":{"df":5,"docs":{"15":{"tf":1.0},"20":{"tf":1.4142135623730951},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"b":{"b":{"df":1,"docs":{"158":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"152":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":10,"docs":{"112":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"149":{"tf":2.449489742783178},"163":{"tf":2.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}},"df":16,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"129":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"57":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}},"v":{"df":2,"docs":{"154":{"tf":1.0},"166":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"127":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"n":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}}}},"d":{"df":2,"docs":{"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":7,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"75":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"138":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"175":{"tf":2.6457513110645907},"176":{"tf":2.8284271247461903},"177":{"tf":3.0},"178":{"tf":4.47213595499958},"179":{"tf":2.8284271247461903},"180":{"tf":1.7320508075688772},"181":{"tf":3.3166247903554},"23":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"178":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"177":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":4,"docs":{"113":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"106":{"tf":1.0},"130":{"tf":1.4142135623730951},"150":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"68":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"152":{"tf":1.0},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"32":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"165":{"tf":1.0},"63":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"154":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.7320508075688772},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":8,"docs":{"157":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":2.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"15":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":11,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":1.4142135623730951},"166":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"176":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"99":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":28,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":2.449489742783178},"189":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":2.23606797749979},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"29":{"tf":1.0},"30":{"tf":2.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":2.0},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"150":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"11":{"tf":1.0},"174":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":42,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"161":{"tf":1.0},"163":{"tf":1.7320508075688772},"167":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"32":{"tf":1.0},"91":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"19":{"tf":1.0},"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"c":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"11":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":35,"docs":{"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.8284271247461903},"156":{"tf":3.1622776601683795},"159":{"tf":1.0},"165":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":2.6457513110645907},"172":{"tf":1.4142135623730951},"174":{"tf":2.23606797749979},"176":{"tf":2.0},"177":{"tf":1.0},"178":{"tf":2.6457513110645907},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"146":{"tf":2.0},"147":{"tf":2.23606797749979},"148":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"88":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":30,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"110":{"tf":2.23606797749979},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"188":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":2.6457513110645907},"66":{"tf":2.6457513110645907},"67":{"tf":3.605551275463989},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":4.0},"72":{"tf":3.7416573867739413},"73":{"tf":4.69041575982343},"80":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"135":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"100":{"tf":2.23606797749979},"125":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"156":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":2.0},"73":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"145":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"168":{"tf":1.0}}}}}}}},"df":14,"docs":{"137":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"156":{"tf":1.4142135623730951},"170":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"148":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"176":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"168":{"tf":1.0},"182":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"71":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"106":{"tf":2.449489742783178},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"110":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"92":{"tf":1.0},"95":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"126":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"186":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"148":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":3,"docs":{"186":{"tf":1.0},"187":{"tf":1.0},"39":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"117":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"'":{"df":38,"docs":{"109":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.7320508075688772},"148":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.4142135623730951},"22":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"18":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"30":{"tf":2.23606797749979},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"39":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"18":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":1.0},"189":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":109,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"110":{"tf":2.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":2.0},"17":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":2.449489742783178},"182":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":2.449489742783178},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":1.0},"99":{"tf":2.0}},"’":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"142":{"tf":1.7320508075688772},"143":{"tf":1.0},"144":{"tf":2.23606797749979},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.7320508075688772},"2":{"tf":1.0},"81":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"126":{"tf":1.0},"34":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"150":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"109":{"tf":1.0}}},"r":{"df":1,"docs":{"113":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"173":{"tf":1.0},"189":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0}},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"145":{"tf":2.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":2.23606797749979},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"148":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":36,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":2.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"190":{"tf":1.7320508075688772},"2":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":2.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"91":{"tf":1.4142135623730951},"99":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"78":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"159":{"tf":2.6457513110645907},"160":{"tf":1.7320508075688772},"167":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":2.449489742783178},"160":{"tf":2.0},"167":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"163":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"91":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":39,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}},"r":{"df":5,"docs":{"177":{"tf":2.23606797749979},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"136":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"11":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":43,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"177":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"151":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":46,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.7320508075688772},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":2.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":2.449489742783178},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"79":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"99":{"tf":2.449489742783178}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"136":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":2.449489742783178},"190":{"tf":1.0}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}},"2":{"df":1,"docs":{"165":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":1,"docs":{"165":{"tf":1.0}}},"8":{"2":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"3":{"7":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}}},"df":1,"docs":{"165":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"168":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"23":{"tf":1.0}}},"s":{"df":4,"docs":{"128":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"182":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":2.449489742783178},"171":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"163":{"tf":1.7320508075688772},"74":{"tf":2.0},"75":{"tf":2.23606797749979},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"78":{"tf":2.449489742783178}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"140":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":40,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}},"u":{"df":3,"docs":{"153":{"tf":1.0},"179":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":3.0},"125":{"tf":2.23606797749979},"127":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":20,"docs":{"1":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"174":{"tf":2.6457513110645907},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"149":{"tf":1.4142135623730951},"173":{"tf":2.449489742783178},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.7320508075688772},"154":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"67":{"tf":1.0}},"s":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"108":{"tf":1.0},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"161":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"45":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":3,"docs":{"117":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"146":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.4142135623730951},"78":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"119":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"140":{"tf":3.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"27":{"tf":1.0},"33":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":14,"docs":{"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.4142135623730951},"65":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"u":{"df":3,"docs":{"125":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"14":{"tf":1.0},"174":{"tf":1.4142135623730951},"32":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"150":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"125":{"tf":1.0},"150":{"tf":3.3166247903554},"151":{"tf":2.23606797749979},"152":{"tf":2.6457513110645907},"153":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":1.7320508075688772},"156":{"tf":2.449489742783178},"184":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":33,"docs":{"107":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":8,"docs":{"115":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"120":{"tf":1.0}}},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"y":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.0},"157":{"tf":3.1622776601683795},"158":{"tf":2.8284271247461903},"159":{"tf":3.1622776601683795},"160":{"tf":2.23606797749979},"161":{"tf":2.0},"162":{"tf":3.1622776601683795},"163":{"tf":4.123105625617661},"164":{"tf":2.23606797749979},"165":{"tf":3.1622776601683795},"166":{"tf":2.8284271247461903},"167":{"tf":1.7320508075688772},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"78":{"tf":2.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"[":{"1":{"]":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"df":1,"docs":{"157":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"130":{"tf":1.0},"187":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"149":{"tf":1.0},"61":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"71":{"tf":1.0},"80":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.4142135623730951},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":21,"docs":{"100":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"113":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":1.0},"3":{"tf":1.0}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"df":39,"docs":{"109":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":2.449489742783178},"158":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":2.8284271247461903},"167":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.23606797749979},"170":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":2.23606797749979},"63":{"tf":2.8284271247461903},"68":{"tf":2.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}},"df":2,"docs":{"152":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":10,"docs":{"168":{"tf":1.0},"174":{"tf":2.449489742783178},"175":{"tf":1.0},"176":{"tf":2.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":48,"docs":{"101":{"tf":2.0},"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":2.23606797749979},"116":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"146":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"167":{"tf":2.0},"17":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"81":{"tf":2.6457513110645907},"85":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"182":{"tf":1.0},"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":5,"docs":{"157":{"tf":1.0},"158":{"tf":1.7320508075688772},"161":{"tf":1.0},"84":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"62":{"tf":1.0},"84":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":8,"docs":{"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"3":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"82":{"tf":1.0},"97":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"178":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":45,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"160":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":2.449489742783178},"171":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":19,"docs":{"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":2.449489742783178},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"187":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"140":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"15":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":2.23606797749979},"33":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772}}}}}}}},"p":{"df":10,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"27":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"11":{"tf":1.0},"153":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.0},"188":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"33":{"tf":1.7320508075688772}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"166":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":5,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"148":{"tf":1.7320508075688772},"154":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":4,"docs":{"105":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"77":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"149":{"tf":1.0},"155":{"tf":1.0},"25":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"137":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"113":{"tf":1.0},"13":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"157":{"tf":1.0},"91":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"167":{"tf":1.0},"169":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"133":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"113":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"182":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"162":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"81":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"146":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":12,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"2":{"tf":1.4142135623730951},"7":{"tf":1.0},"76":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"167":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"103":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"79":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"25":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"110":{"tf":1.0},"174":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"177":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"135":{"tf":1.0},"153":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"128":{"tf":1.0},"157":{"tf":1.0},"18":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":22,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"168":{"tf":1.0},"175":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"169":{"tf":1.0},"179":{"tf":1.0},"33":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"25":{"tf":1.0}}}}}}}}}},"df":6,"docs":{"149":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"137":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"162":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"163":{"tf":1.0},"58":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"149":{"tf":2.0},"157":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.6457513110645907}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"162":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"128":{"tf":1.0},"134":{"tf":1.4142135623730951},"58":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"120":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"182":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":6,"docs":{"114":{"tf":1.0},"132":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"169":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"111":{"tf":1.0},"180":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":13,"docs":{"108":{"tf":1.7320508075688772},"145":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":6,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"174":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"117":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.0},"63":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"106":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.4142135623730951},"174":{"tf":1.0},"188":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":2.23606797749979}}},"y":{"[":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"110":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"81":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"115":{"tf":2.0},"116":{"tf":1.0},"117":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"154":{"tf":1.0},"78":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"154":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"179":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":30,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"128":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":2.0},"179":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"79":{"tf":2.0},"90":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"166":{"tf":1.0},"91":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"146":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":17,"docs":{"110":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"33":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":2,"docs":{"174":{"tf":1.0},"73":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"x":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.0}}},"5":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"f":{"2":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"127":{"tf":1.0},"130":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":58,"docs":{"108":{"tf":2.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":2.0},"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":2.0},"190":{"tf":1.7320508075688772},"29":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"76":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":2,"docs":{"39":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"/":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"189":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":2.23606797749979},"174":{"tf":2.0},"189":{"tf":1.7320508075688772},"22":{"tf":1.0},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"67":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":2.6457513110645907}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"120":{"tf":1.0},"150":{"tf":1.4142135623730951},"30":{"tf":1.0},"67":{"tf":1.4142135623730951},"81":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.0}}}},"t":{"df":3,"docs":{"51":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"88":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"100":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"130":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}},"n":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.0},"27":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.4142135623730951}}}},"s":{"df":3,"docs":{"162":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0}}}},"r":{"df":1,"docs":{"100":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"140":{"tf":1.0},"143":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":3,"docs":{"27":{"tf":1.0},"32":{"tf":2.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"157":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"147":{"tf":1.0}}},"1":{"df":1,"docs":{"147":{"tf":1.0}}},"5":{"df":1,"docs":{"147":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":1.0},"162":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"149":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}}}},"s":{"df":8,"docs":{"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":7,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"179":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"164":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"170":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.7320508075688772},"116":{"tf":1.0},"166":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":126,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"181":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"df":29,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.0},"188":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":3.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"8":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"150":{"tf":1.0},"178":{"tf":1.0}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"149":{"tf":2.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"146":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"d":{"df":7,"docs":{"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"157":{"tf":1.0},"25":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"83":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"128":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":32,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"142":{"tf":1.7320508075688772},"143":{"tf":1.0},"144":{"tf":2.23606797749979},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.7320508075688772},"2":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":12,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":32,"docs":{"107":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.6457513110645907},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"112":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"o":{"(":{"1":{"df":3,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0}}},"[":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"160":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"150":{"tf":1.0}}},"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"73":{"tf":2.6457513110645907}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"73":{"tf":3.872983346207417}}},"df":0,"docs":{}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"160":{"tf":1.0},"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"160":{"tf":2.23606797749979},"167":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"170":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"120":{"tf":2.0},"121":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.8284271247461903},"36":{"tf":1.4142135623730951},"91":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":1,"docs":{"172":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"170":{"tf":2.23606797749979}}}},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"101":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":2,"docs":{"138":{"tf":1.0},"175":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":11,"docs":{"112":{"tf":1.0},"152":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"185":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"161":{"tf":1.0},"167":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":11,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"162":{"tf":1.0},"190":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":13,"docs":{"146":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":2.449489742783178},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0}},"i":{"df":8,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"187":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"149":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}}},"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"143":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}},"t":{"df":2,"docs":{"177":{"tf":1.4142135623730951},"178":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}}},"b":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0}}}}}}},"df":52,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":2.449489742783178},"139":{"tf":2.0},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":3.605551275463989},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":2.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":2.0},"175":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":4.123105625617661},"178":{"tf":3.605551275463989},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":2.23606797749979},"182":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"186":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"23":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"155":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.0},"131":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"57":{"tf":1.0},"91":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"172":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"(":{"\"":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{">":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"173":{"tf":1.0}}},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"153":{"tf":1.0},"163":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"3":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":39,"docs":{"108":{"tf":1.0},"11":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.7320508075688772},"125":{"tf":2.0},"129":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"137":{"tf":2.0},"138":{"tf":1.4142135623730951},"149":{"tf":2.6457513110645907},"15":{"tf":1.0},"150":{"tf":3.605551275463989},"151":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"153":{"tf":2.0},"154":{"tf":2.23606797749979},"155":{"tf":2.449489742783178},"156":{"tf":2.23606797749979},"160":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":3.1622776601683795},"179":{"tf":2.23606797749979},"180":{"tf":2.23606797749979},"181":{"tf":2.0},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"80":{"tf":1.0},"99":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"7":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":37,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"[":{"0":{"df":1,"docs":{"167":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"62":{"tf":1.0}},"n":{"df":12,"docs":{"122":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"91":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"167":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":1,"docs":{"166":{"tf":1.0}}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"43":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"83":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"h":{"df":10,"docs":{"146":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":3.0},"170":{"tf":3.7416573867739413},"171":{"tf":3.4641016151377544},"172":{"tf":2.449489742783178},"173":{"tf":2.0},"174":{"tf":3.7416573867739413},"176":{"tf":2.8284271247461903},"178":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":2.0},"111":{"tf":1.4142135623730951},"49":{"tf":1.0},"72":{"tf":3.3166247903554}}},"t":{"df":2,"docs":{"34":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}},"t":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":3.7416573867739413},"173":{"tf":2.23606797749979}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":16,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"107":{"tf":1.7320508075688772},"108":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"15":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":6,"docs":{"142":{"tf":1.0},"175":{"tf":1.0},"26":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":10,"docs":{"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"177":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"117":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"169":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"115":{"tf":1.0},"162":{"tf":1.4142135623730951},"174":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"70":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"136":{"tf":1.4142135623730951},"152":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"63":{"tf":2.0},"8":{"tf":2.0}}}},"p":{"df":1,"docs":{"164":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"df":13,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"190":{"tf":1.0},"23":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"114":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"63":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"126":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"<":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"12":{"tf":1.0},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":2.0}}}},"m":{"df":1,"docs":{"163":{"tf":1.0}}}},".":{"df":3,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"69":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"140":{"tf":1.0},"168":{"tf":1.0}}}},"1":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"138":{"tf":1.0}},"l":{"df":3,"docs":{"127":{"tf":1.0},"177":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"122":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"f":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"93":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"128":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":10,"docs":{"101":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"146":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"82":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"112":{"tf":1.0},"170":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"149":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"101":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.7320508075688772},"83":{"tf":2.0},"84":{"tf":1.7320508075688772}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":2,"docs":{"125":{"tf":1.0},"156":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"107":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":2.6457513110645907},"153":{"tf":2.23606797749979},"154":{"tf":2.23606797749979},"157":{"tf":1.0},"159":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"91":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"138":{"tf":1.0},"174":{"tf":1.0},"180":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":2,"docs":{"128":{"tf":1.0},"169":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"129":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":6,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"161":{"tf":1.0},"24":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"101":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":4,"docs":{"125":{"tf":1.0},"128":{"tf":2.6457513110645907},"163":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":7,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"150":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"70":{"tf":1.0}}}},"d":{"df":1,"docs":{"161":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"182":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"d":{"df":1,"docs":{"154":{"tf":2.23606797749979}},"e":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"147":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"$":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":2.0},"155":{"tf":1.4142135623730951}}}},"df":2,"docs":{"154":{"tf":1.0},"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":2.6457513110645907},"135":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":2.449489742783178},"99":{"tf":3.1622776601683795}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"i":{"c":{"df":3,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"156":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"125":{"tf":2.6457513110645907},"129":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"154":{"tf":2.23606797749979},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"5":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":2.6457513110645907}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"176":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"108":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"150":{"tf":1.0},"152":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"140":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":26,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"11":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"134":{"tf":1.4142135623730951},"149":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":3.1622776601683795},"177":{"tf":1.0},"178":{"tf":1.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"2":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"165":{"tf":1.0},"81":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"159":{"tf":1.0},"163":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":10,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"147":{"tf":1.0},"174":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":7,"docs":{"107":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":2.23606797749979},"18":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.7320508075688772}}},"n":{"c":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"125":{"tf":1.0},"167":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":4,"docs":{"106":{"tf":3.605551275463989},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"136":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"163":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":4,"docs":{"119":{"tf":1.7320508075688772},"128":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"163":{"tf":1.0},"180":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"172":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":55,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"106":{"tf":2.8284271247461903},"107":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.0},"115":{"tf":2.0},"118":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":2.6457513110645907},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":2.0},"154":{"tf":3.0},"155":{"tf":1.0},"156":{"tf":2.449489742783178},"159":{"tf":2.449489742783178},"160":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":2.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"184":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.4142135623730951},"70":{"tf":2.6457513110645907},"73":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"135":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"n":{"d":{"df":8,"docs":{"134":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"186":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"116":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"154":{"tf":1.0},"163":{"tf":1.0},"7":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":4,"docs":{"151":{"tf":2.0},"153":{"tf":1.0},"185":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":4,"docs":{"158":{"tf":1.0},"162":{"tf":1.0},"3":{"tf":1.0},"68":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"115":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"106":{"tf":2.449489742783178},"107":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"91":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"177":{"tf":1.0},"19":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":10,"docs":{"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":2.0}}}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":14,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"125":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.7320508075688772},"32":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"158":{"tf":1.0},"169":{"tf":1.0},"182":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"114":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.4142135623730951},"176":{"tf":1.0}}}}},"t":{"'":{"df":31,"docs":{"10":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}},"r":{"df":7,"docs":{"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.7320508075688772},"74":{"tf":1.0},"96":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"115":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"186":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"33":{"tf":2.6457513110645907}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"104":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"94":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"k":{"_":{"1":{"1":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":8,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"169":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":2.0},"64":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.7320508075688772}},"o":{"b":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"15":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"k":{":":{"df":0,"docs":{},"v":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":4,"docs":{"56":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"y":{"df":8,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":11,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"159":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":12,"docs":{"105":{"tf":1.0},"106":{"tf":2.0},"13":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}}}},"l":{"1":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"b":{"d":{"a":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":12,"docs":{"112":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"142":{"tf":1.7320508075688772},"143":{"tf":2.449489742783178},"144":{"tf":1.7320508075688772},"145":{"tf":3.1622776601683795},"146":{"tf":2.449489742783178},"147":{"tf":2.8284271247461903},"148":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"165":{"tf":1.0},"180":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":2.0},"24":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"g":{"df":25,"docs":{"1":{"tf":1.4142135623730951},"101":{"tf":1.0},"105":{"tf":2.0},"111":{"tf":1.0},"129":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"152":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":10,"docs":{"161":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"49":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"182":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"168":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":6,"docs":{"108":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"91":{"tf":2.23606797749979},"92":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}},"df":19,"docs":{"130":{"tf":1.4142135623730951},"134":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":2.23606797749979},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":11,"docs":{"105":{"tf":1.0},"122":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":6,"docs":{"105":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"158":{"tf":2.23606797749979}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"(":{"df":3,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":3,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"108":{"tf":1.0}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"'":{"df":6,"docs":{"15":{"tf":1.0},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":1,"docs":{"128":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":13,"docs":{"114":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"25":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"81":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"117":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"132":{"tf":1.0},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"152":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":2.0},"110":{"tf":2.449489742783178},"111":{"tf":2.449489742783178},"72":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"109":{"tf":1.0}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"167":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.7320508075688772}}}},"df":13,"docs":{"148":{"tf":1.0},"180":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"r":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"k":{"df":2,"docs":{"108":{"tf":1.0},"162":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"108":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":27,"docs":{"108":{"tf":1.4142135623730951},"134":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":1.4142135623730951},"159":{"tf":1.7320508075688772},"160":{"tf":1.0},"162":{"tf":2.449489742783178},"163":{"tf":2.8284271247461903},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":2.6457513110645907},"85":{"tf":2.6457513110645907},"86":{"tf":2.0},"87":{"tf":2.0},"88":{"tf":2.23606797749979},"89":{"tf":2.6457513110645907},"90":{"tf":2.0},"91":{"tf":2.0}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":4,"docs":{"58":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"82":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"112":{"tf":1.0},"135":{"tf":2.0},"82":{"tf":1.0},"99":{"tf":2.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":1,"docs":{"150":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"145":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"a":{"d":{"(":{"\"":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"145":{"tf":1.0},"179":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"t":{"df":4,"docs":{"162":{"tf":1.4142135623730951},"188":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"c":{"df":11,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.4142135623730951},"168":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"153":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}},"df":18,"docs":{"149":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}},"w":{"df":3,"docs":{"166":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"189":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"172":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"116":{"tf":1.0},"170":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"149":{"tf":1.0},"80":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":27,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"169":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"5":{"tf":1.0},"68":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"150":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":13,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"159":{"tf":1.0},"163":{"tf":1.7320508075688772},"33":{"tf":1.0}},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":9,"docs":{"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":2.0},"94":{"tf":2.0},"95":{"tf":2.449489742783178},"96":{"tf":2.0},"97":{"tf":3.0}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"144":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":17,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"64":{"tf":3.1622776601683795},"65":{"tf":2.23606797749979},"66":{"tf":1.7320508075688772},"67":{"tf":3.7416573867739413},"68":{"tf":2.8284271247461903},"69":{"tf":2.449489742783178},"70":{"tf":2.8284271247461903},"71":{"tf":2.6457513110645907},"72":{"tf":3.3166247903554},"73":{"tf":3.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"159":{"tf":1.0},"25":{"tf":1.0}}}}}},"x":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"156":{"tf":2.0}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"e":{"$":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":2.23606797749979}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"130":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"187":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"182":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"162":{"tf":2.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"152":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"168":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}}},"x":{"df":1,"docs":{"83":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"151":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"179":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":28,"docs":{"125":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"182":{"tf":2.6457513110645907},"183":{"tf":2.23606797749979},"184":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"186":{"tf":2.8284271247461903},"187":{"tf":2.0},"188":{"tf":1.7320508075688772},"189":{"tf":2.0},"190":{"tf":1.0},"2":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":3.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":2.0},"43":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.7320508075688772}},"e":{"(":{"df":1,"docs":{"39":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"153":{"tf":1.7320508075688772}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":32,"docs":{"108":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.7320508075688772},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":2.0},"84":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"174":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"74":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"136":{"tf":1.0},"137":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"185":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.4142135623730951},"77":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":2.23606797749979},"104":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"159":{"tf":2.6457513110645907},"160":{"tf":2.6457513110645907},"162":{"tf":2.0},"163":{"tf":1.0},"166":{"tf":2.6457513110645907},"167":{"tf":1.7320508075688772},"4":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.23606797749979},"83":{"tf":3.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":2.8284271247461903},"104":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.0},"162":{"tf":1.0},"166":{"tf":1.0},"82":{"tf":1.0}}}},"df":23,"docs":{"101":{"tf":2.449489742783178},"104":{"tf":2.0},"148":{"tf":2.23606797749979},"157":{"tf":2.23606797749979},"158":{"tf":3.1622776601683795},"159":{"tf":3.872983346207417},"160":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"166":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":3.1622776601683795},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":2.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":2.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":2.0},"99":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"[":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"99":{"tf":1.0}}},"1":{"df":1,"docs":{"99":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":27,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"188":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"107":{"tf":2.8284271247461903},"108":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"137":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"178":{"tf":1.0}}},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.7320508075688772},"45":{"tf":1.0},"91":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"w":{"df":22,"docs":{"113":{"tf":1.0},"115":{"tf":2.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"122":{"tf":1.0},"126":{"tf":1.0},"150":{"tf":1.0},"162":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":19,"docs":{"108":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"148":{"tf":1.0},"154":{"tf":1.0},"160":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"184":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":2.8284271247461903},"14":{"tf":1.0},"165":{"tf":2.0},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"73":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772},"169":{"tf":3.3166247903554},"170":{"tf":3.1622776601683795},"171":{"tf":1.4142135623730951},"173":{"tf":2.8284271247461903},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":2.0}}}}},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"135":{"tf":1.7320508075688772},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.4142135623730951},"3":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":42,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"153":{"tf":1.7320508075688772},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.7320508075688772},"185":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":3,"docs":{"126":{"tf":2.23606797749979},"127":{"tf":2.0},"160":{"tf":1.0}}},"i":{"c":{"df":9,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"32":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"151":{"tf":1.0}}}}}},"w":{"df":18,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.0},"163":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"76":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"128":{"tf":1.0},"163":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"45":{"tf":2.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}}}}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"166":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"129":{"tf":1.0},"132":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}},"r":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"136":{"tf":1.4142135623730951},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"64":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}}}}}},"k":{"df":2,"docs":{"100":{"tf":1.0},"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"104":{"tf":1.0},"129":{"tf":1.0}}}}},"n":{"c":{"df":5,"docs":{"11":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"9":{"tf":1.0}}},"df":37,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{";":{".":{".":{".":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":2.0},"136":{"tf":1.0},"165":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"72":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"154":{"tf":1.0}}}},"df":8,"docs":{"105":{"tf":2.0},"106":{"tf":2.23606797749979},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"111":{"tf":1.0},"132":{"tf":1.0},"153":{"tf":1.0},"73":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"106":{"tf":1.0}}},"4":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":2,"docs":{"154":{"tf":1.0},"165":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}}},"p":{"df":2,"docs":{"163":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.0},"142":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"x":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"106":{"tf":1.7320508075688772},"120":{"tf":1.0},"13":{"tf":1.4142135623730951},"140":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":2.23606797749979},"74":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"67":{"tf":1.0},"91":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"t":{"df":5,"docs":{"100":{"tf":1.0},"153":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":5,"docs":{"161":{"tf":2.0},"162":{"tf":1.4142135623730951},"163":{"tf":2.0},"169":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"169":{"tf":1.0},"20":{"tf":1.0},"39":{"tf":1.0},"75":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.4142135623730951},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":2.0},"176":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":2.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":8,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.8284271247461903},"160":{"tf":2.449489742783178},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"132":{"tf":1.0},"167":{"tf":1.0},"63":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{">":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}},"df":20,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"122":{"tf":1.0},"148":{"tf":2.23606797749979},"149":{"tf":1.0},"15":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.7320508075688772},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.0},"147":{"tf":2.23606797749979},"159":{"tf":1.0},"162":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":84,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"140":{"tf":1.0},"145":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}}}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"125":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"112":{"tf":1.0},"153":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"122":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"17":{"tf":1.0},"187":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"100":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"150":{"tf":1.0}}},"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":1.0},"160":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.0},"165":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0},"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":16,"docs":{"105":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":2.449489742783178},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":2.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}}},"r":{"df":1,"docs":{"169":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":2.6457513110645907},"162":{"tf":1.4142135623730951},"163":{"tf":2.0},"168":{"tf":1.7320508075688772}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"165":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"17":{"tf":1.0},"174":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"156":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"187":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":3.4641016151377544},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":5,"docs":{"157":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"y":{"df":1,"docs":{"69":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"149":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"170":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"163":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":24,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.7320508075688772},"132":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"177":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"166":{"tf":1.7320508075688772},"74":{"tf":1.0},"81":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"117":{"tf":1.0},"152":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"137":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":3,"docs":{"150":{"tf":1.0},"177":{"tf":2.23606797749979},"178":{"tf":1.7320508075688772}}},"df":2,"docs":{"102":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"17":{"tf":1.0},"93":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"184":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"186":{"tf":1.0}}}}}}}}}},"v":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"122":{"tf":1.0},"148":{"tf":1.7320508075688772},"176":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":9,"docs":{"152":{"tf":1.0},"166":{"tf":1.0},"179":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}},"s":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":2.6457513110645907}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"71":{"tf":2.0}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"159":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"82":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"147":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"29":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":1,"docs":{"147":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}},"y":{"df":1,"docs":{"56":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"2":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"df":1,"docs":{"140":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"137":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"f":{"df":2,"docs":{"119":{"tf":1.0},"120":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"115":{"tf":1.0}}},"2":{"df":1,"docs":{"115":{"tf":1.0}}},"3":{"df":1,"docs":{"115":{"tf":1.0}}},"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"l":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":2,"docs":{"102":{"tf":1.0},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"1":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0}}}}}}}},"r":{"df":1,"docs":{"178":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"(":{"[":{"\"":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"143":{"tf":1.0}}}},"df":8,"docs":{"108":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"185":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"110":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"57":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":9,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":41,"docs":{"125":{"tf":1.4142135623730951},"132":{"tf":2.23606797749979},"133":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":2.0},"143":{"tf":1.0},"144":{"tf":2.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.7320508075688772},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.23606797749979},"156":{"tf":2.23606797749979},"162":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":2.449489742783178},"170":{"tf":2.449489742783178},"171":{"tf":3.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.0},"175":{"tf":2.0},"176":{"tf":3.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.8284271247461903},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.7320508075688772},"184":{"tf":1.0},"186":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0},"89":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"169":{"tf":1.4142135623730951},"32":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":2,"docs":{"174":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":70,"docs":{"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":1.0},"182":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":2.23606797749979},"32":{"tf":2.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":2.0},"80":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":6,"docs":{"159":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"168":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":22,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"182":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"114":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":26,"docs":{"1":{"tf":1.4142135623730951},"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.7320508075688772},"141":{"tf":2.0},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"39":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"184":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"150":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"74":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":7,"docs":{"129":{"tf":1.0},"145":{"tf":1.0},"48":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"r":{">":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":6,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.0},"84":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"49":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"137":{"tf":1.0},"156":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"165":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":10,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":2.6457513110645907},"49":{"tf":2.8284271247461903},"58":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"107":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"170":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"df":6,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.7320508075688772},"174":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"d":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"91":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}},"z":{"df":2,"docs":{"145":{"tf":1.0},"149":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"153":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"177":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"d":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"179":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":3.3166247903554},"165":{"tf":3.0},"166":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"49":{"tf":1.0},"72":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"149":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":9,"docs":{"112":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"173":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"43":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"108":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"144":{"tf":2.0},"145":{"tf":1.7320508075688772},"16":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":3.1622776601683795},"17":{"tf":1.0},"181":{"tf":2.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"124":{"tf":1.7320508075688772},"125":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"167":{"tf":1.0},"179":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"168":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"147":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"105":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"169":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"123":{"tf":1.0},"163":{"tf":1.0},"61":{"tf":4.358898943540674}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":16,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"145":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"65":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":3.0}}}}},"i":{"df":0,"docs":{},"r":{"df":23,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.7320508075688772},"113":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":2.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"v":{"df":7,"docs":{"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"73":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":7,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"169":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"101":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.7320508075688772},"146":{"tf":1.7320508075688772},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"167":{"tf":2.0},"179":{"tf":1.0},"181":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":14,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"179":{"tf":1.0},"188":{"tf":1.0},"88":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":36,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":2.6457513110645907},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"154":{"tf":3.0},"155":{"tf":2.23606797749979},"156":{"tf":2.449489742783178},"159":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":2.449489742783178},"167":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"178":{"tf":1.7320508075688772},"185":{"tf":1.4142135623730951},"27":{"tf":1.0},"35":{"tf":1.0},"81":{"tf":1.7320508075688772},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"138":{"tf":1.0},"152":{"tf":1.4142135623730951},"177":{"tf":1.0},"188":{"tf":1.0},"6":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"h":{"df":7,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"128":{"tf":1.0},"158":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"126":{"tf":1.0},"16":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"178":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"w":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.6457513110645907}}}},"p":{"c":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"159":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"91":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":2.23606797749979},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.0},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"48":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"100":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.7320508075688772},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"61":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"177":{"tf":1.0},"178":{"tf":1.0}}},"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"135":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}},"r":{"df":4,"docs":{"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{"2":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"154":{"tf":1.0},"156":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"154":{"tf":1.7320508075688772},"156":{"tf":1.0}}}}},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"84":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":21,"docs":{"110":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.7320508075688772},"168":{"tf":2.0},"169":{"tf":1.0},"34":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"173":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"150":{"tf":1.0}}}},"b":{"df":1,"docs":{"108":{"tf":2.23606797749979}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"174":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"169":{"tf":2.23606797749979},"171":{"tf":1.0},"174":{"tf":2.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"100":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":2.23606797749979},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":11,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"49":{"tf":3.3166247903554},"50":{"tf":2.449489742783178},"58":{"tf":2.0},"63":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"163":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"108":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"162":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":3,"docs":{"148":{"tf":1.0},"167":{"tf":1.0},"67":{"tf":1.0}}},"n":{"df":4,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":6,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"33":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"25":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.7320508075688772},"77":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"c":{"df":4,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.0}}},"df":0,"docs":{}}}},"t":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":2.23606797749979},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":2.449489742783178},"93":{"tf":3.1622776601683795}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"93":{"tf":1.0}}},"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"166":{"tf":2.0},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"147":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"83":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":3.0},"168":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"(":{"\"":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"140":{"tf":1.0}}},"df":2,"docs":{"169":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"113":{"tf":1.0},"150":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":11,"docs":{"125":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"150":{"tf":2.449489742783178},"156":{"tf":1.0},"177":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"36":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"75":{"tf":1.0}}}}}}},"df":2,"docs":{"161":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":1.0},"151":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":1.0},"116":{"tf":1.0},"126":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"64":{"tf":1.0},"85":{"tf":1.0}}}}},"i":{"df":24,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.7320508075688772},"179":{"tf":1.0},"185":{"tf":1.0},"30":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"91":{"tf":1.0}},"f":{"df":1,"docs":{"153":{"tf":1.0}},"i":{"df":3,"docs":{"151":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":1.0},"168":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"127":{"tf":1.0},"138":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.4142135623730951},"185":{"tf":1.0},"2":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"k":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"150":{"tf":1.0},"154":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.0},"136":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"73":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"df":3,"docs":{"6":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":2.8284271247461903},"65":{"tf":2.0},"66":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"188":{"tf":1.0},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"100":{"tf":1.0},"168":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"135":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"109":{"tf":1.0},"17":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"131":{"tf":1.0},"138":{"tf":1.0},"167":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"105":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"168":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.0},"135":{"tf":1.0},"163":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":2.0},"190":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":2.23606797749979},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"153":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"165":{"tf":1.0},"25":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":6,"docs":{"150":{"tf":1.4142135623730951},"70":{"tf":1.0},"8":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"70":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"r":{"c":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"165":{"tf":1.7320508075688772},"45":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"91":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":39,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"168":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":2.0},"168":{"tf":1.0},"174":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":33,"docs":{"1":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"110":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.7320508075688772},"148":{"tf":1.0},"153":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":2.0},"73":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"108":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":3,"docs":{"89":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"]":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"27":{"tf":1.0},"89":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"128":{"tf":1.0},"168":{"tf":1.4142135623730951},"174":{"tf":1.0},"37":{"tf":1.0},"63":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"138":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"151":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":30,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"107":{"tf":2.0},"110":{"tf":1.7320508075688772},"112":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"152":{"tf":2.0},"186":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"91":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"s":{":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"27":{"tf":1.0},"35":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"84":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":2.23606797749979},"103":{"tf":1.7320508075688772},"104":{"tf":2.0},"108":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":20,"docs":{"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"68":{"tf":2.0},"69":{"tf":2.23606797749979},"83":{"tf":1.0},"88":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":10,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"39":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"b":{"df":2,"docs":{"105":{"tf":2.0},"138":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"170":{"tf":1.7320508075688772},"173":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"135":{"tf":2.23606797749979},"88":{"tf":1.0},"99":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.0},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"188":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"150":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"164":{"tf":1.0},"176":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"133":{"tf":1.0},"143":{"tf":1.0},"62":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":2.23606797749979}}}}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"149":{"tf":1.0},"152":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":27,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"13":{"tf":1.7320508075688772},"133":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.4142135623730951},"45":{"tf":1.0},"57":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"91":{"tf":1.7320508075688772},"96":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"2":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"64":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"124":{"tf":1.0},"146":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"130":{"tf":1.0},"140":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":13,"docs":{"133":{"tf":1.0},"143":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.7320508075688772},"45":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":2.0},"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":19,"docs":{"117":{"tf":1.0},"13":{"tf":1.4142135623730951},"159":{"tf":1.0},"182":{"tf":2.23606797749979},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"2":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"137":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"105":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}}},"df":23,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"168":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0}},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"157":{"tf":1.0},"61":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"173":{"tf":1.0}}},"df":18,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":2.449489742783178},"154":{"tf":1.0},"160":{"tf":2.0},"167":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.4142135623730951},"184":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"81":{"tf":2.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"117":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"d":{"df":4,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0}}},"df":2,"docs":{"106":{"tf":1.0},"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"128":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"163":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"t":{"'":{"df":3,"docs":{"105":{"tf":1.0},"127":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"157":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"42":{"tf":1.0}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"176":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}},"r":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":12,"docs":{"151":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}}},"k":{"df":7,"docs":{"132":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"27":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":6,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"148":{"tf":1.0},"154":{"tf":1.0},"174":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"174":{"tf":4.69041575982343},"176":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"105":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.0},"177":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}}}},"w":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":1,"docs":{"162":{"tf":1.0}},"m":{"b":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":35,"docs":{"100":{"tf":2.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":2.449489742783178},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"162":{"tf":1.0},"78":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"136":{"tf":1.0},"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"179":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}},"l":{"df":2,"docs":{"138":{"tf":1.0},"2":{"tf":1.0}}}},"p":{"df":9,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"188":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"158":{"tf":1.0},"174":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":2.0},"127":{"tf":1.4142135623730951}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"128":{"tf":1.4142135623730951},"163":{"tf":1.0},"171":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"128":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"27":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.7320508075688772},"169":{"tf":1.0},"182":{"tf":1.0},"73":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":11,"docs":{"130":{"tf":2.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":3.1622776601683795},"102":{"tf":1.0},"135":{"tf":2.23606797749979},"57":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":2.0},"99":{"tf":2.23606797749979}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"112":{"tf":1.0},"128":{"tf":1.7320508075688772},"130":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}},"k":{"df":2,"docs":{"56":{"tf":1.0},"96":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":2.23606797749979}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"99":{"tf":1.0}}},"6":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"100":{"tf":1.0}}},"6":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":9,"docs":{"116":{"tf":1.0},"126":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"167":{"tf":1.7320508075688772}}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"152":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":92,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":3.4641016151377544},"101":{"tf":2.23606797749979},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":3.0},"106":{"tf":3.3166247903554},"107":{"tf":4.0},"108":{"tf":2.449489742783178},"109":{"tf":1.0},"110":{"tf":2.0},"111":{"tf":1.7320508075688772},"112":{"tf":2.23606797749979},"113":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772},"115":{"tf":3.4641016151377544},"116":{"tf":3.3166247903554},"117":{"tf":3.1622776601683795},"118":{"tf":2.8284271247461903},"119":{"tf":2.449489742783178},"120":{"tf":3.7416573867739413},"121":{"tf":2.23606797749979},"122":{"tf":2.449489742783178},"123":{"tf":3.4641016151377544},"124":{"tf":3.0},"125":{"tf":4.0},"126":{"tf":2.449489742783178},"127":{"tf":2.8284271247461903},"128":{"tf":4.123105625617661},"129":{"tf":3.7416573867739413},"130":{"tf":1.4142135623730951},"131":{"tf":2.8284271247461903},"132":{"tf":2.449489742783178},"133":{"tf":1.7320508075688772},"134":{"tf":2.0},"135":{"tf":2.0},"136":{"tf":2.8284271247461903},"137":{"tf":3.0},"143":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":3.4641016151377544},"151":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"153":{"tf":2.0},"154":{"tf":2.8284271247461903},"155":{"tf":2.6457513110645907},"156":{"tf":2.449489742783178},"157":{"tf":1.0},"159":{"tf":2.0},"160":{"tf":3.3166247903554},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":2.8284271247461903},"166":{"tf":1.0},"167":{"tf":2.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.605551275463989},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"64":{"tf":1.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"79":{"tf":2.449489742783178},"80":{"tf":1.7320508075688772},"81":{"tf":2.23606797749979},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":2.23606797749979},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.8284271247461903},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.6457513110645907}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"107":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":5,"docs":{"149":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"157":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"136":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"162":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":19,"docs":{"131":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"177":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"166":{"tf":1.0},"25":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"t":{"df":3,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"129":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":6,"docs":{"101":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"152":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"151":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"148":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"171":{"tf":1.0},"174":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"163":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"v":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"160":{"tf":1.0}}},"1":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":6,"docs":{"120":{"tf":1.0},"121":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"136":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"160":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.4142135623730951},"25":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"108":{"tf":1.4142135623730951},"136":{"tf":1.0},"167":{"tf":1.0},"91":{"tf":2.0}}}},"df":86,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"160":{"tf":1.4142135623730951},"163":{"tf":2.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"177":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"180":{"tf":2.6457513110645907},"184":{"tf":1.0},"189":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"6":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"122":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":21,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"160":{"tf":1.7320508075688772},"162":{"tf":1.0},"167":{"tf":2.449489742783178},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0}},"i":{"d":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"70":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"56":{"tf":2.0}},"i":{"d":{"df":16,"docs":{"100":{"tf":1.7320508075688772},"107":{"tf":1.7320508075688772},"110":{"tf":1.7320508075688772},"117":{"tf":1.0},"146":{"tf":1.7320508075688772},"148":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":2.23606797749979}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}},"df":50,"docs":{"100":{"tf":1.0},"101":{"tf":2.23606797749979},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"166":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"184":{"tf":1.0},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"101":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":100,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":2.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"143":{"tf":2.0},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":3.4641016151377544},"165":{"tf":1.7320508075688772},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"189":{"tf":2.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":2.8284271247461903}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":2.449489742783178},"110":{"tf":1.0},"115":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":1.4142135623730951},"147":{"tf":3.0},"148":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":2.0},"47":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.449489742783178},"70":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"177":{"tf":1.0},"181":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"89":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":3,"docs":{"56":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":19,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":2.0},"138":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"135":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"146":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.0},"169":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"169":{"tf":1.0}}}},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"y":{"df":28,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"13":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"189":{"tf":1.0},"43":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":2,"docs":{"70":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"'":{"d":{"df":2,"docs":{"127":{"tf":1.0},"170":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"40":{"tf":1.0}}},"v":{"df":1,"docs":{"39":{"tf":1.0}}}},"b":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"125":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"151":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"182":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"171":{"tf":1.0},"178":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"83":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"n":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"163":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"77":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"39":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"145":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.4142135623730951},"174":{"tf":1.0},"2":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"df":16,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":2.0},"169":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"152":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"63":{"tf":2.0},"8":{"tf":2.23606797749979},"91":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":1,"docs":{"110":{"tf":1.0}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"160":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":11,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.449489742783178},"121":{"tf":1.0},"128":{"tf":1.0},"160":{"tf":2.0},"170":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"186":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":21,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"113":{"tf":1.0},"63":{"tf":1.7320508075688772},"91":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{"df":23,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"124":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.7320508075688772},"144":{"tf":1.4142135623730951},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"163":{"tf":2.0},"166":{"tf":1.7320508075688772},"178":{"tf":2.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"73":{"tf":5.0990195135927845},"75":{"tf":2.449489742783178},"76":{"tf":1.7320508075688772},"77":{"tf":2.0},"78":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":6,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"144":{"tf":2.0},"50":{"tf":1.0},"73":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"3":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"72":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":7,"docs":{"128":{"tf":1.0},"130":{"tf":1.0},"149":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":13,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"62":{"tf":1.0},"99":{"tf":1.0}}},"v":{"df":5,"docs":{"129":{"tf":1.0},"171":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"110":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"73":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"114":{"tf":1.0},"4":{"tf":1.0},"73":{"tf":2.0}}}}}}}},"title":{"root":{"0":{".":{"1":{".":{"4":{"0":{"9":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":2,"docs":{"10":{"tf":1.0},"57":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"58":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"103":{"tf":1.0},"86":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"d":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":4,"docs":{"111":{"tf":1.0},"39":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"136":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"128":{"tf":1.0}},"s":{"df":4,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":3,"docs":{"137":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":1,"docs":{"160":{"tf":1.0}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"137":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"109":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"162":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"32":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}},"r":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"164":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"1":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"134":{"tf":1.0},"80":{"tf":1.0}}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"136":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"147":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"106":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"v":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"162":{"tf":1.0}}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"142":{"tf":1.0},"144":{"tf":1.0},"181":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"145":{"tf":1.0},"148":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"190":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"134":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"177":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"44":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"165":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":5,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"106":{"tf":1.0},"125":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":4,"docs":{"1":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"140":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"29":{"tf":1.0},"35":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":6,"docs":{"157":{"tf":1.0},"166":{"tf":1.0},"4":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"30":{"tf":1.0},"46":{"tf":1.0},"81":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"158":{"tf":1.0},"84":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"143":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"o":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"186":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.0},"59":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"134":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"148":{"tf":1.0}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"108":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"73":{"tf":1.0}},"e":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"172":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"95":{"tf":1.0}}}},"t":{"df":2,"docs":{"51":{"tf":1.0},"59":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"133":{"tf":1.0},"137":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"30":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"181":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"48":{"tf":1.0},"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"137":{"tf":1.0},"139":{"tf":1.0},"177":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"11":{"tf":1.0},"124":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"33":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":5,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"29":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":2,"docs":{"41":{"tf":1.0},"8":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"o":{"c":{"df":2,"docs":{"111":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"128":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":3,"docs":{"100":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"154":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"128":{"tf":1.0},"134":{"tf":1.0},"167":{"tf":1.0},"46":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}},"n":{"c":{"df":2,"docs":{"119":{"tf":1.0},"120":{"tf":1.0}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.0},"96":{"tf":1.0}}}}}},"j":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}},"v":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"k":{"_":{"1":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"95":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"164":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":5,"docs":{"133":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"180":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"18":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"54":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}},"t":{"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"o":{"a":{"d":{"(":{"\"":{"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"172":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"148":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":5,"docs":{"56":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":10,"docs":{"17":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}},"w":{"df":4,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}},"n":{"df":3,"docs":{"108":{"tf":1.0},"135":{"tf":1.0},"73":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"116":{"tf":1.0},"153":{"tf":1.0},"179":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0}}}},"w":{"df":2,"docs":{"31":{"tf":1.0},"41":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"105":{"tf":1.0},"106":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"106":{"tf":1.0},"13":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"161":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"147":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"96":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"124":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"127":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"64":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"161":{"tf":1.0},"163":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":11,"docs":{"132":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"1":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"84":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"165":{"tf":1.0}}}}}},"df":1,"docs":{"177":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"144":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"131":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"145":{"tf":1.0},"167":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"136":{"tf":1.0},"154":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"147":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":4,"docs":{"55":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"147":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"83":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"165":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"66":{"tf":1.0}}}}}}},"i":{"c":{"df":5,"docs":{"1":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"89":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"104":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.0}}}}}},"u":{"b":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":2,"docs":{"179":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":1.0},"182":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"187":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"122":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"181":{"tf":1.0}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"108":{"tf":1.0},"73":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"135":{"tf":1.0},"98":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"167":{"tf":1.0}}},"df":27,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"154":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"108":{"tf":1.0},"91":{"tf":1.0}}}},"df":4,"docs":{"180":{"tf":1.0},"189":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"100":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"133":{"tf":1.0},"147":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"i":{"a":{"df":3,"docs":{"153":{"tf":1.0},"156":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"163":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"41":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/searchindex.json b/searchindex.json new file mode 100644 index 00000000..0f38987a --- /dev/null +++ b/searchindex.json @@ -0,0 +1 @@ +{"doc_urls":["chapter_1.html#welcome-to-claro","chapter_1.html#claro-is-a-statically-typed-jvm-language-that-provides-a-well-lit-path-to-building-simple-highly-concurrent-and-scalable-applications","chapter_1.html#dependency-management-done-right","chapter_1.html#fearless-concurrency","chapter_1.html#data-oriented","chapter_1.html#unapologetically-practical","chapter_1.html#designed-to-scale-with-you","chapter_1.html#actively-in-development","chapter_1/hello_world.generated_docs.html#hello-world","getting_started/getting_started.html#create-your-first-claro-project-with-bazel","getting_started/getting_started.html#1---install-bazel-required","getting_started/getting_started.html#2---auto-generate-your-project","getting_started/getting_started.html#2-alternative---manually-copy-configuration-of-example-project","getting_started/getting_started.html#supported-operating-systems","getting_started/getting_started.html#your-first-claro-program","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#understanding-the-starter-project","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#modulebazel","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#modulename--example-claro-module","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#bazel_depname--claro-lang-version--01409","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#bazelversion","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#bazelrc","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#common---enable_bzlmod","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#common---java_runtime_versionremotejdk_11","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#build","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#loadclaro-langrulesbzl-claro_binary","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#claro_binary","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#inputtxt","getting_started/understanding_starter_project/understanding_starter_project.generated_docs.html#democlaro","getting_started/first_program/first_program.generated_docs.html#your-first-program","getting_started/first_program/first_program.generated_docs.html#create-hello_worldclaro","getting_started/first_program/first_program.generated_docs.html#declare-a-new-claro_binary-target-in-your-build-file","getting_started/first_program/first_program.generated_docs.html#now-execute-your-program","getting_started/first_program/first_program.generated_docs.html#avoiding-bazels-extra-output","getting_started/first_program/first_program.generated_docs.html#generating-a-portable-executable-deploy-jar","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#intro-to-modules","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#create-examplestylingclaro","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#define-a-module-api-file","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#add-a-claro_modulename--styling--build-target","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#updated-load-statement","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#added-an-explicit-dependency-on-examplestyling","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#update-hello_worldclaro-to-use-stylewrapinbox","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#now-execute-your-updated-hello-world","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#on-your-own-update-exampledemo_bin-to-use-the-new-module","getting_started/intro_to_modules/intro_to_modules.generated_docs.html#on-your-own-refactor-examplestyling-to-its-own-directory","common_programming_concepts.html#common-programming-concepts","common_programming_concepts/variables_and_types/variables_and_types.generated_docs.html#variables--primitive-types","common_programming_concepts/sep_var_decl_and_init/sep_var_decl_and_init.generated_docs.html#separate-variable-declaration--initialization","common_programming_concepts/var_reassignment/var_reassignment.generated_docs.html#variable-reassignment","control_flow.html#control-flow","control_flow/if_else/if_else.generated_docs.html#if-else","control_flow/while/while.generated_docs.html#while-loops","control_flow/while/while.generated_docs.html#exiting-a-while-loop-early","control_flow/while/while.generated_docs.html#skipping-to-the-next-iteration-of-the-while-loop","control_flow/for/for.generated_docs.html#for-loops","control_flow/for/for.generated_docs.html#for-loop-over-lists","control_flow/for/for.generated_docs.html#for-loop-over-sets","control_flow/for/for.generated_docs.html#for-loop-over-maps","control_flow/for/for.generated_docs.html#note-1-","control_flow/for/for.generated_docs.html#note-2-","control_flow/for/for.generated_docs.html#exiting-a-for-loop-early","control_flow/for/for.generated_docs.html#skipping-to-the-next-iteration-of-the-for-loop","control_flow/repeat/repeat.generated_docs.html#repeat-loops","control_flow/pipes/pipes.generated_docs.html#pipes","control_flow/pipes/pipes.generated_docs.html#textually-linear-data-flow","control_flow/match/match.generated_docs.html#pattern-matching","control_flow/match/match.generated_docs.html#default-case","control_flow/match/match.generated_docs.html#multi-statement-cases","control_flow/match/match.generated_docs.html#patterns-must-not-reference-existing-variables","control_flow/match/structed_data/structured_data.generated_docs.html#matching-structured-data","control_flow/match/structed_data/structured_data.generated_docs.html#matching-arbitrarily-nested-structured-types","control_flow/match/wildcards/wildcards.generated_docs.html#wildcard-patterns","control_flow/match/wildcards/wildcards.generated_docs.html#case-ordering-and-wildcards","control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html#static-exhaustiveness-checks","control_flow/match/exhaustiveness_checks/exhaustiveness_checks.generated_docs.html#non-trivial-exhaustiveness-checks-example","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#collection-comprehension","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#list-comprehension","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#set-comprehension","control_flow/collection_comprehension/collection_comprehension.generated_docs.html#map-comprehension","control_flow/collection_comprehension/more_than_syntax_sugar/more_than_syntax_sugar.generated_docs.html#comprehension-is-more-than-syntax-sugar","static_typing/static_typing.generated_docs.html#types","static_typing/builtin_colls/builtin_collections.generated_docs.html#builtin-collections","static_typing/builtin_colls/builtin_collections.generated_docs.html#ad-hoc-declarations","static_typing/builtin_colls/builtin_collections.generated_docs.html#mutability","static_typing/builtin_colls/builtin_collections.generated_docs.html#mutability-annotations-are-shallow","static_typing/builtin_colls/builtin_collections.generated_docs.html#data-race-safety-via-deep-immutability","static_typing/builtin_colls/list_type/list_type.generated_docs.html#lists","static_typing/builtin_colls/list_type/list_type.generated_docs.html#accessing-list-elements","static_typing/builtin_colls/list_type/list_type.generated_docs.html#mutable-list-element-reassignment","static_typing/builtin_colls/list_type/list_type.generated_docs.html#index-out-of-bounds","static_typing/builtin_colls/list_type/list_type.generated_docs.html#stdlib-lists-module","static_typing/builtin_colls/list_type/list_type.generated_docs.html#empty-lists","static_typing/builtin_colls/list_type/list_type.generated_docs.html#empty-list-type-inference-by-later-usage-will-never-be-supported","static_typing/builtin_colls/set_type/set_type.generated_docs.html#sets","static_typing/builtin_colls/set_type/set_type.generated_docs.html#adding-elements-to-a-mutable-set","static_typing/builtin_colls/map_type/map_type.generated_docs.html#maps","static_typing/builtin_colls/map_type/map_type.generated_docs.html#checking-if-a-key-exists","static_typing/builtin_colls/map_type/map_type.generated_docs.html#iterating-over-the-entries-of-a-map","static_typing/builtin_colls/map_type/map_type.generated_docs.html#stdlib-maps-module","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#tuples","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#compile-time-validated-indexing","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#runtime-validated-indexing","static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html#mutable-tuples","static_typing/builtin_colls/struct_type/struct_type.generated_docs.html#structs","static_typing/builtin_colls/struct_type/struct_type.generated_docs.html#field-access","static_typing/builtin_colls/struct_type/struct_type.generated_docs.html#mutable-structs","static_typing/oneofs/oneofs.generated_docs.html#oneofs","static_typing/oneofs/oneofs.generated_docs.html#check-the-concrete-type-of-a-oneof-with-the-instanceof-operator","static_typing/oneofs/narrowing/narrowing.generated_docs.html#narrowing--type-guards","static_typing/oneofs/narrowing/narrowing.generated_docs.html#non-trivial-example-usage","static_typing/atoms/atoms.generated_docs.html#atoms","static_typing/atoms/atoms.generated_docs.html#static-validation","static_typing/atoms/atoms.generated_docs.html#ad-hoc-enums","static_typing/aliases/aliases.generated_docs.html#aliases","static_typing/aliases/aliases.generated_docs.html#aliases-are-syntactic-sugar","static_typing/aliases/aliases.generated_docs.html#overuse-of-aliases-can-be-a-code-smell","static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html#aliases-are--not--a-new-type-declaration","static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html#note-on-nominal-typing","static_typing/user_defined_types/user_defined_types.generated_docs.html#user-defined-types","static_typing/user_defined_types/user_defined_types.generated_docs.html#declaring-a-new-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#instantiating-an-instance-of-a-user-defined-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#user-defined-types-wrap-an-instance-of-another-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#unwrapping-a-user-defined-type","static_typing/user_defined_types/user_defined_types.generated_docs.html#compile-time-enforcement","static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html#parameterized-types","static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html#generic-type-param-must-be-referenced-in-type-declaration","static_typing/user_defined_types/parameterized_types/concrete_type_inference/concrete_type_inference.generated_docs.html#concrete-type-inference","static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html#recursive-types","static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html#parameterized-recursive-types","static_typing/user_defined_types/recursive_types/impossible_recursive_types/impossible_recursive_types.generated_docs.html#impossible-to-initialize-recursive-alias-type-definitions","type_inference/type_inference.generated_docs.html#type-inference","type_inference/type_inference.generated_docs.html#examples","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#required-type-annotations","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#procedure-signatures","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#lambda-expressions-assigned-to-variables","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#initializing-empty-builtin-collections","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#non-literal-tuple-subscript","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#advanced-calls-to-generic-procedure-with-unconstrained-return-type","type_inference/required_type_annotations/required_type_annotations.generated_docs.html#any-ambiguously-typed-expression-passed-to-a-generic-function-arg-position","procedures.html#procedures","procedures/functions/functions.generated_docs.html#functions","procedures/consumers/consumers.generated_docs.html#consumers","procedures/providers/providers.generated_docs.html#providers","lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html#lambdas--first-class-procedures","lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html#defining-lambdas","lambdas_and_first_class_procedures/lambdas_and_first_class_procedures.generated_docs.html#first-class-procedure-references","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#lambdas-are-restricted-closures","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#static-validation","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#captured-variables-shadow-variables-in-the-outer-scope","lambdas_and_first_class_procedures/lambda_closures/lambda_closures.generated_docs.html#manually-emulating-traditional-closures","generics.generated_docs.html#generics","generics/contracts/contracts.generated_docs.html#contracts","generics/contracts/contracts.generated_docs.html#contracts-are--not--interfaces","generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html#implementing-a-contract","generics/contracts/implementing_contracts/implementing_contracts.generated_docs.html#a-note-on-static-dispatch-via-monomorphization","generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html#generic-return-type-inference","generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html#ambiguous-calls","generics/generic_return_type_inference/generic_return_type_inference.generated_docs.html#ambiguity-via-indirect-calls-to-contracts","copying/copying.generated_docs.html#copying-data","copying/copying.generated_docs.html#deep-copying","copying/mutability_coercion/mutability_coercion.generated_docs.html#mutability-coercion-on-copy","copying/mutability_coercion/mutability_coercion.generated_docs.html#mutability-coercion-can-apply-to-type-parameters-of-a-user-defined-type","copying/performance/performance.generated_docs.html#performance-optimizations","copying/performance/performance.generated_docs.html#claros-copy-is-aware-of-mutability","copying/performance/performance.generated_docs.html#demonstrating-the-performance-win","copying/known_bugs/known_bugs.generated_docs.html#known-copy-bugs","copying/known_bugs/known_bugs.generated_docs.html#compiler-stack-overflows-on-copying-recursive-types","copying/known_bugs/known_bugs.generated_docs.html#generated-copy-logic-severs-shared-references-to-mutable-data","copying/known_bugs/known_bugs.generated_docs.html#mutability-coercion-can-circumvent-a-user-defined-types-initializers-restrictions","concurrency.html#concurrency","graph_procedures/graph_procedures.generated_docs.html#graph-procedures","graph_procedures/graph_procedure_composition/graph_procedure_composition.generated_docs.html#graph-procedure-composition","graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html#calling-graph-procedures","graph_procedures/calling_graph_procedures/calling_graph_procedures.generated_docs.html#graphs-execute-off-the-main-thread","graph_procedures/conditional_subgraph_execution/conditional_subgraph_execution.generated_docs.html#advanced-conditional-subgraph-execution","guaranteed_deadlock_free.html#guaranteed-deadlock-free-concurrency","guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html#blocking-procedures","guaranteed_deadlock_free/blocking_procedures/blocking_procedures.generated_docs.html#graph-procedures-may-not-call-any-blocking-procedures-directly-or-indirectly","guaranteed_deadlock_free/re_what_color_is_your_function.generated_docs.html#re-what-color-is-your-function","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#advanced-blocking-generics","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#note-on-the-blockingargname-and-blocking-syntax","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#lambdas-cannot-use-any-form-of-generics","guaranteed_deadlock_free/re_what_color_is_your_function/blocking_generics.generated_docs.html#first-class-references-to-blocking-generic-top-level-procedures","module_system.html#module-system","module_system.html#defining-a-module","module_system.html#api","module_system.html#sources","module_system.html#dependencies","module_system.html#defining-build-target","module_system.html#building-a-module","module_system.html#executable-using-above-example-module","module_system.html#example-code"],"index":{"documentStore":{"docInfo":{"0":{"body":0,"breadcrumbs":4,"title":2},"1":{"body":0,"breadcrumbs":17,"title":15},"10":{"body":39,"breadcrumbs":6,"title":4},"100":{"body":121,"breadcrumbs":7,"title":3},"101":{"body":126,"breadcrumbs":6,"title":2},"102":{"body":29,"breadcrumbs":5,"title":1},"103":{"body":27,"breadcrumbs":6,"title":2},"104":{"body":60,"breadcrumbs":6,"title":2},"105":{"body":81,"breadcrumbs":3,"title":1},"106":{"body":127,"breadcrumbs":8,"title":6},"107":{"body":136,"breadcrumbs":8,"title":3},"108":{"body":96,"breadcrumbs":9,"title":4},"109":{"body":75,"breadcrumbs":3,"title":1},"11":{"body":47,"breadcrumbs":6,"title":4},"110":{"body":105,"breadcrumbs":4,"title":2},"111":{"body":65,"breadcrumbs":5,"title":3},"112":{"body":79,"breadcrumbs":3,"title":1},"113":{"body":93,"breadcrumbs":5,"title":3},"114":{"body":67,"breadcrumbs":6,"title":4},"115":{"body":83,"breadcrumbs":10,"title":4},"116":{"body":49,"breadcrumbs":9,"title":3},"117":{"body":58,"breadcrumbs":7,"title":3},"118":{"body":38,"breadcrumbs":7,"title":3},"119":{"body":22,"breadcrumbs":9,"title":5},"12":{"body":17,"breadcrumbs":9,"title":7},"120":{"body":80,"breadcrumbs":11,"title":7},"121":{"body":20,"breadcrumbs":8,"title":4},"122":{"body":97,"breadcrumbs":7,"title":3},"123":{"body":67,"breadcrumbs":8,"title":2},"124":{"body":32,"breadcrumbs":12,"title":6},"125":{"body":127,"breadcrumbs":12,"title":3},"126":{"body":94,"breadcrumbs":8,"title":2},"127":{"body":82,"breadcrumbs":9,"title":3},"128":{"body":120,"breadcrumbs":15,"title":6},"129":{"body":122,"breadcrumbs":4,"title":2},"13":{"body":23,"breadcrumbs":5,"title":3},"130":{"body":49,"breadcrumbs":3,"title":1},"131":{"body":37,"breadcrumbs":8,"title":3},"132":{"body":48,"breadcrumbs":7,"title":2},"133":{"body":48,"breadcrumbs":9,"title":4},"134":{"body":16,"breadcrumbs":9,"title":4},"135":{"body":77,"breadcrumbs":9,"title":4},"136":{"body":81,"breadcrumbs":12,"title":7},"137":{"body":65,"breadcrumbs":13,"title":8},"138":{"body":76,"breadcrumbs":2,"title":1},"139":{"body":21,"breadcrumbs":3,"title":1},"14":{"body":9,"breadcrumbs":5,"title":3},"140":{"body":80,"breadcrumbs":3,"title":1},"141":{"body":15,"breadcrumbs":3,"title":1},"142":{"body":20,"breadcrumbs":8,"title":4},"143":{"body":53,"breadcrumbs":6,"title":2},"144":{"body":44,"breadcrumbs":8,"title":4},"145":{"body":94,"breadcrumbs":10,"title":3},"146":{"body":66,"breadcrumbs":9,"title":2},"147":{"body":78,"breadcrumbs":13,"title":6},"148":{"body":142,"breadcrumbs":11,"title":4},"149":{"body":172,"breadcrumbs":2,"title":1},"15":{"body":59,"breadcrumbs":8,"title":3},"150":{"body":215,"breadcrumbs":3,"title":1},"151":{"body":55,"breadcrumbs":4,"title":2},"152":{"body":110,"breadcrumbs":6,"title":2},"153":{"body":105,"breadcrumbs":9,"title":5},"154":{"body":141,"breadcrumbs":9,"title":4},"155":{"body":83,"breadcrumbs":7,"title":2},"156":{"body":135,"breadcrumbs":10,"title":5},"157":{"body":109,"breadcrumbs":4,"title":2},"158":{"body":83,"breadcrumbs":4,"title":2},"159":{"body":203,"breadcrumbs":8,"title":3},"16":{"body":20,"breadcrumbs":6,"title":1},"160":{"body":124,"breadcrumbs":13,"title":8},"161":{"body":33,"breadcrumbs":6,"title":2},"162":{"body":151,"breadcrumbs":8,"title":4},"163":{"body":255,"breadcrumbs":7,"title":3},"164":{"body":26,"breadcrumbs":8,"title":3},"165":{"body":175,"breadcrumbs":11,"title":6},"166":{"body":185,"breadcrumbs":13,"title":8},"167":{"body":111,"breadcrumbs":13,"title":8},"168":{"body":240,"breadcrumbs":2,"title":1},"169":{"body":193,"breadcrumbs":5,"title":2},"17":{"body":38,"breadcrumbs":9,"title":4},"170":{"body":168,"breadcrumbs":7,"title":3},"171":{"body":128,"breadcrumbs":7,"title":3},"172":{"body":60,"breadcrumbs":8,"title":4},"173":{"body":157,"breadcrumbs":9,"title":4},"174":{"body":344,"breadcrumbs":8,"title":4},"175":{"body":67,"breadcrumbs":8,"title":2},"176":{"body":77,"breadcrumbs":13,"title":7},"177":{"body":133,"breadcrumbs":10,"title":3},"178":{"body":200,"breadcrumbs":13,"title":3},"179":{"body":91,"breadcrumbs":14,"title":4},"18":{"body":51,"breadcrumbs":10,"title":5},"180":{"body":38,"breadcrumbs":14,"title":4},"181":{"body":53,"breadcrumbs":18,"title":8},"182":{"body":47,"breadcrumbs":4,"title":2},"183":{"body":9,"breadcrumbs":4,"title":2},"184":{"body":46,"breadcrumbs":3,"title":1},"185":{"body":65,"breadcrumbs":3,"title":1},"186":{"body":53,"breadcrumbs":3,"title":1},"187":{"body":53,"breadcrumbs":5,"title":3},"188":{"body":37,"breadcrumbs":4,"title":2},"189":{"body":43,"breadcrumbs":7,"title":5},"19":{"body":26,"breadcrumbs":6,"title":1},"190":{"body":7,"breadcrumbs":4,"title":2},"2":{"body":24,"breadcrumbs":6,"title":4},"20":{"body":16,"breadcrumbs":6,"title":1},"21":{"body":17,"breadcrumbs":7,"title":2},"22":{"body":27,"breadcrumbs":7,"title":2},"23":{"body":33,"breadcrumbs":6,"title":1},"24":{"body":31,"breadcrumbs":8,"title":3},"25":{"body":137,"breadcrumbs":6,"title":1},"26":{"body":10,"breadcrumbs":6,"title":1},"27":{"body":69,"breadcrumbs":6,"title":1},"28":{"body":16,"breadcrumbs":6,"title":2},"29":{"body":45,"breadcrumbs":6,"title":2},"3":{"body":43,"breadcrumbs":4,"title":2},"30":{"body":35,"breadcrumbs":10,"title":6},"31":{"body":26,"breadcrumbs":7,"title":3},"32":{"body":75,"breadcrumbs":8,"title":4},"33":{"body":82,"breadcrumbs":9,"title":5},"34":{"body":82,"breadcrumbs":6,"title":2},"35":{"body":25,"breadcrumbs":6,"title":2},"36":{"body":116,"breadcrumbs":8,"title":4},"37":{"body":54,"breadcrumbs":9,"title":5},"38":{"body":10,"breadcrumbs":7,"title":3},"39":{"body":74,"breadcrumbs":8,"title":4},"4":{"body":22,"breadcrumbs":4,"title":2},"40":{"body":21,"breadcrumbs":8,"title":4},"41":{"body":9,"breadcrumbs":9,"title":5},"42":{"body":17,"breadcrumbs":9,"title":5},"43":{"body":23,"breadcrumbs":7,"title":3},"44":{"body":0,"breadcrumbs":6,"title":3},"45":{"body":193,"breadcrumbs":9,"title":3},"46":{"body":32,"breadcrumbs":11,"title":4},"47":{"body":23,"breadcrumbs":7,"title":2},"48":{"body":46,"breadcrumbs":7,"title":2},"49":{"body":93,"breadcrumbs":5,"title":0},"5":{"body":14,"breadcrumbs":4,"title":2},"50":{"body":54,"breadcrumbs":6,"title":1},"51":{"body":21,"breadcrumbs":8,"title":3},"52":{"body":24,"breadcrumbs":9,"title":4},"53":{"body":13,"breadcrumbs":6,"title":1},"54":{"body":15,"breadcrumbs":8,"title":3},"55":{"body":11,"breadcrumbs":8,"title":3},"56":{"body":41,"breadcrumbs":8,"title":3},"57":{"body":30,"breadcrumbs":7,"title":2},"58":{"body":48,"breadcrumbs":7,"title":2},"59":{"body":22,"breadcrumbs":8,"title":3},"6":{"body":15,"breadcrumbs":4,"title":2},"60":{"body":26,"breadcrumbs":9,"title":4},"61":{"body":41,"breadcrumbs":8,"title":2},"62":{"body":154,"breadcrumbs":7,"title":1},"63":{"body":141,"breadcrumbs":10,"title":4},"64":{"body":109,"breadcrumbs":9,"title":2},"65":{"body":48,"breadcrumbs":9,"title":2},"66":{"body":53,"breadcrumbs":10,"title":3},"67":{"body":135,"breadcrumbs":11,"title":4},"68":{"body":71,"breadcrumbs":13,"title":3},"69":{"body":50,"breadcrumbs":15,"title":5},"7":{"body":31,"breadcrumbs":4,"title":2},"70":{"body":114,"breadcrumbs":11,"title":2},"71":{"body":108,"breadcrumbs":12,"title":3},"72":{"body":144,"breadcrumbs":13,"title":3},"73":{"body":336,"breadcrumbs":15,"title":5},"74":{"body":45,"breadcrumbs":9,"title":2},"75":{"body":73,"breadcrumbs":9,"title":2},"76":{"body":60,"breadcrumbs":9,"title":2},"77":{"body":74,"breadcrumbs":9,"title":2},"78":{"body":94,"breadcrumbs":15,"title":4},"79":{"body":51,"breadcrumbs":2,"title":1},"8":{"body":45,"breadcrumbs":4,"title":2},"80":{"body":30,"breadcrumbs":5,"title":2},"81":{"body":115,"breadcrumbs":6,"title":3},"82":{"body":74,"breadcrumbs":4,"title":1},"83":{"body":100,"breadcrumbs":6,"title":3},"84":{"body":37,"breadcrumbs":9,"title":6},"85":{"body":68,"breadcrumbs":5,"title":1},"86":{"body":20,"breadcrumbs":7,"title":3},"87":{"body":25,"breadcrumbs":8,"title":4},"88":{"body":64,"breadcrumbs":7,"title":3},"89":{"body":35,"breadcrumbs":7,"title":3},"9":{"body":70,"breadcrumbs":7,"title":5},"90":{"body":27,"breadcrumbs":6,"title":2},"91":{"body":79,"breadcrumbs":12,"title":8},"92":{"body":31,"breadcrumbs":5,"title":1},"93":{"body":70,"breadcrumbs":8,"title":4},"94":{"body":36,"breadcrumbs":5,"title":1},"95":{"body":29,"breadcrumbs":7,"title":3},"96":{"body":33,"breadcrumbs":8,"title":4},"97":{"body":62,"breadcrumbs":7,"title":3},"98":{"body":9,"breadcrumbs":5,"title":1},"99":{"body":154,"breadcrumbs":8,"title":4}},"docs":{"0":{"body":"","breadcrumbs":"Welcome to Claro! » Welcome to Claro!","id":"0","title":"Welcome to Claro!"},"1":{"body":"","breadcrumbs":"Welcome to Claro! » Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications.","id":"1","title":"Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications."},"10":{"body":"Simply install Bazel - follow these instructions to install via Bazelisk. Important: Installing Bazel via Bazelisk makes managing Bazel versions an automated process. It's highly recommended you\ndon't bother managing Bazel's versioning manually. Note: It's an explicit non-goal of Claro to support any other non-Bazel build environment .","breadcrumbs":"Getting Started! » 1 - Install Bazel (Required)","id":"10","title":"1 - Install Bazel (Required)"},"100":{"body":"If your index value is hidden behind some indirection, Claro can't know the type at compile-time and will require a runtime type cast (which is slow & opens the door to runtime Panics if the actual type doesn't match the asserted type). Claro will warn you at compile-time when this is necessary: Fig 3: var myPair: tuple = (1, \"one\"); # Claro requires a type cast for non-literal index.\nvar index: int = 0;\nvar myInt = myPair[index];\nprint(myInt); Compilation Errors: tuple_type_EX3_example.claro:5: The type of this expression is UNDECIDED at compile-time! You must explicitly cast the Expr to the expected type to assert this type at compile-time.\nvar myInt = myPair[index]; ^^^^^^^^^^^^^\ntuple_type_EX3_example.claro:6: No variable within the current scope!\nprint(myInt); ^^^^^\n2 Errors Fix the error by explicitly asserting the expected type by casting: Fig 4: var myPair: tuple = (1, \"one\"); # Claro requires a type cast for non-literal index.\nvar index: int = 0;\nvar myInt = cast(int, myPair[index]); # OK, opting into runtime type validation.\nprint(myInt); Output: 1","breadcrumbs":"Types » Builtin Collections » Tuples » Runtime Validated Indexing","id":"100","title":"Runtime Validated Indexing"},"101":{"body":"Unlike some other languages with tuple support, Claro imposes no arbitrary restriction that all tuples must necessarily be immutable. Just like any other builtin collection type, a Claro tuple may be declared mutable using the mut keyword when declaring a variable or initializing the value. You may then update element values at will as long as the initial type declaration for each element is honored. Claro won't allow you to mutate a tuple that isn't explicitly declared mutable: Fig 5: var myPair = (1, \"one\"); # <-- This is an **immutable** tuple.\nprint(myPair); myPair[0] = 99; # <-- Illegal attempted mutation happens here.\nprint(myPair); Compilation Errors: tuple_type_EX5_example.claro:4: Illegal Mutation of Immutable Value: Mutation of immutable values is forbidden! Found the immutable type: tuple In order to mutate this value, the value's type would need to be updated to: mut tuple\nmyPair[0] = 99; # <-- Illegal attempted mutation happens here.\n^^^^^^\n1 Error The mutation is legal when the tuple is explicitly annotated mut: Fig 6: var myPair = mut (1, \"one\"); # <-- This is now a **mutable** tuple.\nprint(myPair); myPair[0] = 99; # <-- Mutation happens here.\nprint(myPair); Output: mut (1, one)\nmut (99, one)","breadcrumbs":"Types » Builtin Collections » Tuples » Mutable Tuples","id":"101","title":"Mutable Tuples"},"102":{"body":"Structs are similar to tuples with named field values of arbitrary pre-declared types. Fig 1: var myStruct: struct {x: int, y: int} = {x = 1, y = 2};\nprint(myStruct); Output: {x = 1, y = 2}","breadcrumbs":"Types » Builtin Collections » Structs » Structs","id":"102","title":"Structs"},"103":{"body":"Struct field values can be directly accessed using \"dot-notation\" as below: Fig 2: var myStruct: struct {x: int, y: int} = {x = 1, y = 2};\nprint(myStruct.x);\nprint(myStruct.y); Output: 1\n2","breadcrumbs":"Types » Builtin Collections » Structs » Field Access","id":"103","title":"Field Access"},"104":{"body":"Just like any other builtin collection type, a Claro struct may be declared mutable using the mut keyword when declaring a variable or initializing the value. You may then update element values at will as long as the initial type declaration for each element is honored. Fig 3: var myStruct = mut {name = \"Jason\", age = 29}; # <-- Omitting optional type annotation.\nprint(myStruct); myStruct.name = \"Claro\"; # <-- Mutation happens here.\nmyStruct.age = 3; # <-- Mutation happens here.\nprint(myStruct); Output: mut {name = Jason, age = 29}\nmut {name = Claro, age = 3}","breadcrumbs":"Types » Builtin Collections » Structs » Mutable Structs","id":"104","title":"Mutable Structs"},"105":{"body":"Something that's often left unaddressed by statically typed programming languages is the ability to model a value that can take on one of an arbitrary set of types. Many other languages approximate this sort of ability through a notion of \"sub-typing\" relationships between a hierarchy of types. While sub-typing as found broad use and much support throughout the programming languages ecosystem, Claro has been designed under the belief that sub-typing leaves much to be desired and opens the door to all sorts of unwanted and unnecessary complexity and leads to error-prone coding patterns. So, on principle, Claro will never support sub-typing, and instead provides support for oneof types (also known as tagged-unions in other languages). Fig 1: var intOrStr: oneof;","breadcrumbs":"Types » Oneofs » Oneofs","id":"105","title":"Oneofs"},"106":{"body":"The entire point of a oneof type is to be able to write branching logic on the concrete type that is actually represented by the oneof at runtime. One way of achieving this is with the instanceof boolean operator that allows you to check the concrete type at runtime: Fig 2: $$var intOrStr: oneof;\n$$\n$$random::forSeed(20000)\n$$ |> random::nextNonNegativeBoundedInt(^, 2)\n$$ |> var r = ^;\n$$\nmatch (r) { case 0 -> intOrStr = 10; case _ -> intOrStr = \"ten\";\n}\nprint(\"intOrStr: {intOrStr}\"); if (intOrStr instanceof int) { print(\"Found an int!\");\n} else { print(\"Found a string!\");\n} Output: intOrStr: 10\nFound an int! It's somewhat nonsensical to do an instanceof check on any concrete type so Claro statically rejects that. Fig 3: if (10 instanceof int) { print(\"Obviously an int\");\n}\nif (10 instanceof string) { print(\"Obviously not a string\");\n} Compilation Errors: oneofs_EX3_example.claro:1: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.\nif (10 instanceof int) { ^^^^^^^^^^^^^^^^^\noneofs_EX3_example.claro:4: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.\nif (10 instanceof string) { ^^^^^^^^^^^^^^^^^^^^\n2 Errors","breadcrumbs":"Types » Oneofs » Check the Concrete Type of a Oneof With the instanceof Operator","id":"106","title":"Check the Concrete Type of a Oneof With the instanceof Operator"},"107":{"body":"Inspired by TypeScript's support for this, when you perform an instanceof check on a variable with a oneof type within a conditional statement, Claro automatically \"narrows\" the type of the variable to the checked type. This is logically valid because the only way that control-flow could possibly reach that context is if that was actually the type at runtime. Fig 1: $$var intOrStr: oneof = 10;\n$$\nif (intOrStr instanceof int) { # Claro automatically \"narrows\" the variable to have type `int`. var addRes = intOrStr + 10; print(\"{intOrStr} + 10 = {addRes}\");\n} Output: 10 + 10 = 20 Note: Claro is not implementing full \"flow typing\" here. The type will be \"widened\" again to its originally declared\ntype if you assign a value of any type other than the narrowed type to a variable in a context where it's been narrowed. Fig 2: $$var intOrStr: oneof = 10;\n$$\nif (intOrStr instanceof int) { # Claro automatically \"narrows\" the variable to have type `int`. var addRes = intOrStr + 10; print(\"{intOrStr} + 10 = {addRes}\"); # Claro automatically \"widens\" the variable to `oneof`. intOrStr = \"ten\"; addRes = intOrStr + 10; # <-- This is no longer valid.\n} Compilation Errors: narrowing_EX2_example.claro:10: Invalid type: found >, but expected one of (). addRes = intOrStr + 10; # <-- This is no longer valid. ^^^^^^^^\n1 Error","breadcrumbs":"Types » Oneofs » \"Narrowing\" / Type Guards » \"Narrowing\" / Type Guards","id":"107","title":"\"Narrowing\" / Type Guards"},"108":{"body":"For a less trivial example of working with oneof types, the below function is able to pretty-print a linked list by checking if the current node is the end of the list or not by branching on the type of the next reference: Fig 3: newtype LinkedNode : struct { val: T, next: oneof, std::Nothing>\n} alias SB : string_builder::StringBuilder\nfunction renderLinkedList(head: LinkedNode, sb: SB) -> SB { _ = string_builder::add(sb, \"{unwrap(head).val} -> \"); var next = unwrap(head).next; if (next instanceof LinkedNode) { return renderLinkedList(next, sb); # <-- Type of `next` was \"narrowed\" to `LinkedNode`. } else { return string_builder::add(sb, \"*END*\"); }\n} var linkedList = LinkedNode({val = 1, next = LinkedNode({val = 2, next = LinkedNode({val = 3, next = std::Nothing})})}); string_builder::create() |> renderLinkedList(linkedList, ^) |> string_builder::build(^) |> print(^); Output: 1 -> 2 -> 3 -> *END* The above example relies on concepts described in later sections, so consider checking out User Defined Types and Generics for some more info.","breadcrumbs":"Types » Oneofs » \"Narrowing\" / Type Guards » Non-Trivial Example Usage","id":"108","title":"Non-Trivial Example Usage"},"109":{"body":"Sometimes it's useful to represent a concept that doesn't necessarily have any meaningful \"data\" apart from a name. For example, you may want to represent the states of a simple street-light (i.e. red, yellow, or green). Claro's atoms provide a clean solution for modelling these states: Fig 1: atom Red\natom Yellow\natom Green Now, you can write code that directly uses these Red, Yellow and Green as values. Fig 2: random::forSeed(1) |> random::nextNonNegativeBoundedInt(^, 3) |> var r = ^; var lightColor: oneof;\nmatch (r) { case 0 -> lightColor = Red; case 1 -> lightColor = Yellow; case _ -> lightColor = Green;\n}\nprint(lightColor); Output: Red","breadcrumbs":"Types » Atoms » Atoms","id":"109","title":"Atoms"},"11":{"body":"Get create_claro_project.sh from the latest Release and run this command: $ ./create_claro_project.sh Note: The below recording was made with asciinema - try pausing and copying any text. The first time you build/run a Claro program, you will actually be building the Claro compiler and its dependencies from\nsource. This may take several minutes the first time, but Bazel will cache the built compiler after that first build. You can delete the create_claro_project.sh script once you're done with this initial setup.","breadcrumbs":"Getting Started! » 2 - Auto-Generate Your Project","id":"11","title":"2 - Auto-Generate Your Project"},"110":{"body":"You could try to use strings for this purpose, but then you would need to do runtime string equality checks throughout your codebase to distinguish one state from another as their types would all be the same, `string`, and even worse you open yourself to simple typo bugs. Using atoms, Claro will catch any accidental typos for you at compile-time: Fig 3: $$random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 3)\n$$ |> var r = ^;\n$$\n$$var lightColor: oneof;\n$$match (r) {\n$$ case 0 -> lightColor = Red; case 1 -> lightColor = Yelow; # <-- Claro will catch this misspelling for you.\n$$ case _ -> lightColor = Green;\n$$}\n$$print(lightColor); Compilation Errors: atoms_EX3_example.claro:8: No variable within the current scope! case 1 -> lightColor = Yelow; # <-- Claro will catch this misspelling for you. ^^^^^\natoms_EX3_example.claro:8: Invalid type: found <>, but expected one of (>). case 1 -> lightColor = Yelow; # <-- Claro will catch this misspelling for you. ^^^^^\n2 Errors","breadcrumbs":"Types » Atoms » Static Validation","id":"110","title":"Static Validation"},"111":{"body":"Unlike many other languages, if you want to define a type that has only a limited set of possible values you don't have to declare an \"enum\" ahead of time. Instead, Claro encourages modeling this using the builtin oneof<...> type as in the example above. It can be useful to define an alias to represent the \"enum\" in a concise way if it's widely used: Fig 4: alias LightColor : oneof $$random::forSeed(1)\n$$ |> random::nextNonNegativeBoundedInt(^, 3)\n$$ |> var r = ^;\n$$\nvar lightColor: LightColor;\n$$match (r) {\n$$ case 0 -> lightColor = Red;\n$$ case 1 -> lightColor = Yellow;\n$$ case _ -> lightColor = Green;\n$$}\n$$print(lightColor);","breadcrumbs":"Types » Atoms » Ad-Hoc \"Enums\"","id":"111","title":"Ad-Hoc \"Enums\""},"112":{"body":"Aliases are a powerful feature that allow the expression of arbitrary types. In their simplest form, they may be used as syntactic sugar to reduce keystrokes and cognitive overhead from typing out a full type literal. Fig 1: # You can imagine that typing this out could be verbose/annoying.\nalias IntsToTupleFn: function<|int, int| -> tuple> consumer prettyPrint(name: string, fn: IntsToTupleFn, arg1: int, arg2: int) { var res = fn(arg1, arg2); print(\"{name}({arg1}, {arg2}) -> {res}\");\n} var swapped: IntsToTupleFn = lambda (a, b) -> (b, a);\nprettyPrint(\"swapped\", swapped, 1, 2); var doubled: IntsToTupleFn = lambda (a, b) -> (2*a, 2*b);\nprettyPrint(\"doubled\", doubled, 1, 2); Output: swapped(1, 2) -> (2, 1)\ndoubled(1, 2) -> (2, 4)","breadcrumbs":"Types » Aliases » Aliases","id":"112","title":"Aliases"},"113":{"body":"To be absolutely clear, Aliases are simply syntactic sugar as shown in the example above. They provide a mechanism for reducing the amount of boilerplate code that may need to be written where full type annotations are explicitly required. They also allow you to communicate some sort of \"intent\" where you would like to communicate the purpose of a value to other developers (or your future self) without actually committing to defining a fully new custom type (though aliases should be used for this purpose with caution). For example, below you'll see an example of using aliases to indicate that different int values have different interpretations. Fig 2: alias MPH : double\nalias Hours : double # Arguably you should be using `duration::Duration`.\nalias Miles : double function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours { return distanceTraveled / speed;\n} var speed: MPH = 15.0;\nvar distance: Miles = 60.0;\nprint(timeTraveled(speed, distance)); Output: 4.0","breadcrumbs":"Types » Aliases » Aliases are Syntactic Sugar","id":"113","title":"Aliases are Syntactic Sugar"},"114":{"body":"Keep in mind that excessive use of aliases can be a code smell. If you are using an alias to try to encode some semantic\ndistinction between values, it's very likely that you are writing highly bug-prone code as aliases do not provide any level of compile time verification that values of different alias types don't get accidentally conflated. Fig 3: var mySpeed: MPH = 15.0;\nvar myDistance: Miles = 60.0; # Aliases provide zero compile-time protection from mistakenly passing these\n# args out-of-order.\nprint(timeTraveled(myDistance, mySpeed)); Output: 0.25 See User Defined Types for an example of how to address this issue.","breadcrumbs":"Types » Aliases » Overuse of Aliases Can be a Code Smell","id":"114","title":"Overuse of Aliases Can be a Code Smell"},"115":{"body":"It's important to know that, in general, defining an Alias does not declare a \"new type\", instead it is just providing a shorthand for referring to some type. With an Alias definition, you are simply defining an alternative, more convenient way to refer to a type that is semantically equivalent to typing out the explicit type itself. The example below demonstrates how variables with types declared using equivalent aliases, will in fact type-check as having the same type: Fig 1: alias IntList1 : [int]\nalias IntList2 : [int] var i1: IntList1 = [1];\nvar i2: IntList2 = [2];\nvar i3: [int] = [3]; i2 = i3; # <-- IntList2 is equivalent to [int].\ni1 = i2; # <-- IntList1 is equivalent to IntList2. print(i1);\nprint(i2);\nprint(i3); Output: [3]\n[3]\n[3]","breadcrumbs":"Types » Aliases » Aliases are Not a New Type Declaration » Aliases are Not a New Type Declaration","id":"115","title":"Aliases are Not a New Type Declaration"},"116":{"body":"Nominal typing can actually be very useful for enforcing maintenance of semantic interpretations of even simple data types, and even for maintaining inter-field invariants of more complex structured data types. So, of course, Claro also provides a mechanism to define new, \"nominally typed\" type definitions. This will allow making a semantic distinction between two \"structurally equivalent\" types that have different names. For more on this, see: User Defined Types .","breadcrumbs":"Types » Aliases » Aliases are Not a New Type Declaration » Note on \"Nominal Typing\"","id":"116","title":"Note on \"Nominal Typing\""},"117":{"body":"Claro's type system already provides a very expansive expressive power to represent arbitrarily complex data structures, so, technically speaking, there is no hard requirement for a user to ever define any new types in order write any program. However, by using only the builtin primitive and collection types, you will not be able to leverage Claro's static type validation to ensure that semantic differences between values with structurally equivalent types are actually maintained. This section will attempt to clarify how you can make use of user defined types to enforce semantic constraints throughout your program.","breadcrumbs":"Types » User Defined Types » User Defined Types","id":"117","title":"User Defined Types"},"118":{"body":"The example below demonstrates the declaration of a new type that wraps int. Fig 1: newtype Foo : int In fact, user defined types can wrap any type - even other user defined types: Fig 2: # The order of `newtype` declarations is unimportant.\nnewtype Baz : int\nnewtype Foo : Bar\nnewtype Bar : Baz","breadcrumbs":"Types » User Defined Types » Declaring a New Type","id":"118","title":"Declaring a New Type"},"119":{"body":"Claro automatically provides a one-arg constructor that allows the user defined type to be instantiated by wrapping the declared type. Fig 3: var f = Foo(1);\nprint(f); Output: Foo(1)","breadcrumbs":"Types » User Defined Types » Instantiating an Instance of a User Defined Type","id":"119","title":"Instantiating an Instance of a User Defined Type"},"12":{"body":"Follow the example Claro project configuration at examples/bzlmod/. Important: In your MODULE.bazel file, you'll want to choose the latest release published to:\nhttps://registry.bazel.build/modules/claro-lang","breadcrumbs":"Getting Started! » 2 (Alternative) - Manually Copy Configuration of Example Project","id":"12","title":"2 (Alternative) - Manually Copy Configuration of Example Project"},"120":{"body":"Because Claro's builtin types already enable modelling any arbitrary data structure, the purpose of user defined types is solely to \"wrap\" an existing type in a statically enforceable, semantic layer that distinguishes instances of the user defined type, from the type that is being wrapped. As such, Claro does not do any automatic conversions from the wrapped type to the unwrapped type. So, although newtype Foo : int simply wraps int, it is not interchangeable with int and therefore operations like + are not supported for Foo even though they are for int. Fig 4: newtype Foo : int\nvar f = Foo(1);\nprint(f + 9); Compilation Errors: user_defined_types_EX4_example.claro:3: Invalid type: found , but expected one of ().\nprint(f + 9); ^\n1 Error","breadcrumbs":"Types » User Defined Types » User Defined Types \"Wrap\" an Instance of Another Type","id":"120","title":"User Defined Types \"Wrap\" an Instance of Another Type"},"121":{"body":"The wrapped type can be accessed by explicitly using the builtin unwrap() function. Fig 5: newtype Foo : int\nvar f = Foo(1);\nprint(unwrap(f) + 9); Output: 10","breadcrumbs":"Types » User Defined Types » \"Unwrapping\" a User Defined Type","id":"121","title":"\"Unwrapping\" a User Defined Type"},"122":{"body":"In the Aliases section an example was given that demonstrates the pitfall of the overuse of aliases . One primary source of errors could be addressed by simply declaring a new type for each of MPH, Hours, and Miles. In this case, this statically prevents accidentally passing args to the function out of order: Fig 6: newtype MPH : double\nnewtype Hours : double # Arguably you should be using `duration::Duration`.\nnewtype Miles : double function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours { return Hours(unwrap(distanceTraveled) / unwrap(speed));\n} # Claro can identify this type mismatch.\nprint(timeTraveled(Miles(60.0), MPH(15.0))); Compilation Errors: user_defined_types_EX6_example.claro:10: Invalid type: Found: Miles Expected: MPH\nprint(timeTraveled(Miles(60.0), MPH(15.0))); ^^^^^^^^^^^\nuser_defined_types_EX6_example.claro:10: Invalid type: Found: MPH Expected: Miles\nprint(timeTraveled(Miles(60.0), MPH(15.0))); ^^^^^^^^^\n2 Errors The above error message would lead you to correct the order of arguments and thereby fix the problem: Fig 7: print(timeTraveled(MPH(15.0), Miles(60.0))); Output: Hours(4.0)","breadcrumbs":"Types » User Defined Types » Compile Time Enforcement","id":"122","title":"Compile Time Enforcement"},"123":{"body":"Claro supports the definition of types that may be parameterized with a generic type so that they can be used to contain arbitrary types. For example the following is a definition of a type Maybe that has the generic type param T: Fig 1: newtype Maybe : oneof> This type definition is useful for describing the generic concept of a value that may or may not be present, without needing to define repeated declarations for each specific type that may or may not be present: Note: Claro's error messaging is a work in progress - the below error message will be improved. Fig 2: var maybeInt: Maybe = Maybe(10);\nprint(maybeInt); var maybeStr = Maybe(\"hi\");\nprint(maybeStr); Output: Maybe(10)\nMaybe(hi)","breadcrumbs":"Types » User Defined Types » Parameterized Types » Parameterized Types","id":"123","title":"Parameterized Types"},"124":{"body":"The generic type param must be referenced somewhere in the type definition or Claro will statically reject the definition with an explanation of the problem. Fig 3: newtype Invalid : struct {row: int, col: int} Compilation Errors: Warning! The following declared symbols are unused! [X]\n1 Error","breadcrumbs":"Types » User Defined Types » Parameterized Types » Generic Type Param Must be Referenced in Type Declaration","id":"124","title":"Generic Type Param Must be Referenced in Type Declaration"},"125":{"body":"Claro is able to automatically infer the type of maybeStr whenever it would be possible to do so. Generally speaking, this is possible when the concrete type is actually referenced in the initialization. Fig 1: newtype Maybe : oneof> var maybeStr = Maybe(\"hi\");\ntype(maybeStr);\nprint(maybeStr); Output: Maybe\nMaybe(hi) It's not always possible to automatically infer the type of an instance of a parameterized type. In particular, the below example is impossible to automatically infer as the concrete type is not actually referenced in the initialization: Note: Claro's error messaging is a work in progress - the below error message will be improved. Fig 2: var maybeStr = Maybe(std::Error(std::Nothing));\nprint(maybeStr); Compilation Errors: concrete_type_inference_EX2_example.claro:1: Invalid Generic Procedure Call: For the call to the following generic procedure `Maybe$constructor` with the following signature: `function> -> Maybe> Generic Over {T} Requiring Impls for Contracts {}` The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.\nvar maybeStr = Maybe(std::Error(std::Nothing)); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error In these situations Claro will require you to provide an explicit type annotation to disambiguate your intentions: Fig 3: var maybeStr: Maybe = Maybe(std::Error(std::Nothing));\nprint(maybeStr); Output: Maybe(Error(Nothing))","breadcrumbs":"Types » User Defined Types » Parameterized Types » Concrete Type Inference » Concrete Type Inference","id":"125","title":"Concrete Type Inference"},"126":{"body":"Claro supports the definition of new types that contain recursive self-references. For example a binary tree structure is a classic recursive data structure where each Node in the tree contains a left and right child that may either be another Node or nothing. The below is the definition of a Node that can only hold ints: Fig 1: newtype IntNode : struct { val: int, left: oneof, right: oneof\n} For example, the following initializes a simple tree with the root pointing to two children that have no children of their own: Fig 2: var tree = IntNode({ val = 1, left = IntNode({val = 2, left = std::Nothing, right = std::Nothing}), right = IntNode({val = 3, left = std::Nothing, right = std::Nothing}) });\nprint(tree); Output: IntNode({val = 1, left = IntNode({val = 2, left = Nothing, right = Nothing}), right = IntNode({val = 3, left = Nothing, right = Nothing})})","breadcrumbs":"Types » User Defined Types » Recursive Types » Recursive Types","id":"126","title":"Recursive Types"},"127":{"body":"Of course, the above IntNode definition is too constrained, so ideally we'd define a single Node type that's able to represent trees of arbitrary data types. So, a better Node type definition looks like: Fig 3: newtype Node : struct { val: T, left: oneof, std::Nothing>, right: oneof, std::Nothing>\n} Initialization looks exactly the same as in the concrete IntNode example above: Fig 4: var tree = Node({ val = 1, left = Node({val = 2, left = std::Nothing, right = std::Nothing}), right = Node({val = 3, left = std::Nothing, right = std::Nothing}) });\nprint(tree); Output: Node({val = 1, left = Node({val = 2, left = Nothing, right = Nothing}), right = Node({val = 3, left = Nothing, right = Nothing})})","breadcrumbs":"Types » User Defined Types » Recursive Types » Parameterized Recursive Types","id":"127","title":"Parameterized Recursive Types"},"128":{"body":"Some recursive type definitions are rejected at compile-time because they would be impossible to instantiate. The issue with these type definitions is that the type recursion has no implicit \"bottom\" and implies an infinitely nested value. Because it's impossible to ever initialize a value composed of infinitely many values (you'd never finish typing the code), Claro lets you know right away at compile time that the infinitely recursive type is rejected for being unusable. The below recursive type definitions all trigger compile-time warnings from Claro indicating that these types aren't usable and are therefore illegal. Fig 1: newtype IllegalUnboundedRecursiveAlias : tuple\nnewtype InfiniteRecursion : InfiniteRecursion\nnewtype PartialUnbounded : tuple Compilation Errors: Impossible Recursive Alias Type Definition: Alias `IllegalUnboundedRecursiveAlias` represents a type that is impossible to initialize in a finite number of steps. To define a recursive type you must ensure that there is an implicit \"bottom\" type to terminate the recursion. Try wrapping the Alias self-reference in some builtin empty-able collection: E.g. Instead of: alias BadType : tuple Try something like: alias GoodType : tuple\n1 Error","breadcrumbs":"Types » User Defined Types » Recursive Types » Impossible Recursive Types » Impossible-to-Initialize Recursive Alias Type Definitions","id":"128","title":"Impossible-to-Initialize Recursive Alias Type Definitions"},"129":{"body":"So far, through each code snippet you've seen, each variable has always included an explicit type declaration. This may be useful for the sake of very explicit readability, however, these type annotations littering your entire codebase may begin to feel very clunky and inconvenient - particularly when the type is very obvious to the reader, or sometimes if it becomes very long to type (as the result of many layers of nested collections for example). In almost every case, however, these explicit type annotations are optional in Claro! Claro is smart enough to be able to infer the vast majority of types in any given program. So, unless you feel that the type annotation being present makes the code more readable in a particular situation, then you can generally omit it entirely! Please keep in mind, however, that while this may indeed make your code visually resemble something like Python or JavaScript, Claro is 100% statically typed. Therefor, in this regard, Claro is much more alike Rust/Java/Haskell than it is like any dynamic language. And, importantly, Claro is not an \"Optionally Statically Typed\" language like Typescript - the compiler must always statically know the type of every value, you may at times simply choose to avoid explicitly including the type annotation in the source code.","breadcrumbs":"Type Inference » Type Inference","id":"129","title":"Type Inference"},"13":{"body":"As Claro is still firmly in development, it has only been tested on macOS . You may run into trouble running it on another OS as there are some known portability issues building the Claro compiler from source (currently the only supported way to consume the compiler).","breadcrumbs":"Getting Started! » Supported Operating Systems","id":"13","title":"Supported Operating Systems"},"130":{"body":"Instead of: Fig 1: var i: int = 1;\nvar b: boolean = true;\nvar l: [tuple] = [(1, true), (2, false)]; You could write: Fig 2: var i = 1;\nvar b = true;\nvar l = [(1, true), (2, false)]; Each corresponding statement has exactly the same meaning. They differ only syntactically. Each variable is still declared to have the same static type you'd expect.","breadcrumbs":"Type Inference » Examples","id":"130","title":"Examples"},"131":{"body":"There are same specific situations where Claro will require a type annotation to understand your intent. Note that these situations are not just a limitation of the compiler, even if Claro would somehow implicitly decide a type for you in these situations, your colleagues (or your future self) would struggle to comprehend what type was being inferred. For clarity and correctness in the following situations, you will be required to write an explicit type annotation:","breadcrumbs":"Type Inference » Required Type Annotations » Required Type Annotations","id":"131","title":"Required Type Annotations"},"132":{"body":"Most obvious is the fact that all procedure signatures must fully encode the types of any arguments and, if the procedure returns a value, its return type. Fig 1: function add(lhs: int, rhs: int) -> int { # ...\n$$ return lhs + rhs;\n} If you're thinking, \"but sometimes I want to write procedures that can accept values of more than one type!\" , then you have a couple options: If you know the possible set of types ahead of time: use oneof<...> Otherwise: use generics","breadcrumbs":"Type Inference » Required Type Annotations » Procedure Signatures","id":"132","title":"Procedure Signatures"},"133":{"body":"As lambdas are just anonymous procedures, they must either be used in a context that already \"asserts\" the lambda's signature, such as in this variable declaration: Fig 2: var add: function<|int, int| -> int> = lambda (lhs, rhs) -> lhs + rhs; Note: Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression: Fig 3: var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };","breadcrumbs":"Type Inference » Required Type Annotations » Lambda Expressions assigned to variables","id":"133","title":"Lambda Expressions assigned to variables"},"134":{"body":"Claro would have no way of knowing what type the below list was intended to be without an explicit type annotation: Fig 4: var l: [int] = [];","breadcrumbs":"Type Inference » Required Type Annotations » Initializing Empty Builtin Collections","id":"134","title":"Initializing Empty Builtin Collections"},"135":{"body":"Unlike with literal integer tuple subscript indices, when you use a non-literal tuple subscript index value, you have hidden the index from Claro's type inference behind a layer of indirection that Claro will not attempt to follow. In these cases you'll be required to assert your intent via a runtime type cast: Fig 5: var t = (1, \"one\", 1.1);\nvar i = random::nextNonNegativeBoundedInt(random::create(), 3); # This program crashes at runtime a third of the time...\nvar t_int = cast(int , t[i]);\nprint(t_int); Warning : Claro allows this simply to avoid being too restrictive, but you should arguably take these runtime casts as a code-smell and find a statically safe way to rewrite your code to avoid this sort of dynamic tuple subscripting.","breadcrumbs":"Type Inference » Required Type Annotations » Non-literal Tuple Subscript","id":"135","title":"Non-literal Tuple Subscript"},"136":{"body":"When a generic return type can't be inferred from arg(s) referencing the same generic type, you must explicitly assert the type that you intend for the procedure to return. This is something that will likely only come up in more advanced usage of the language. Getting into this situation requires using multiple language features together in a rather intentional way, but for completeness here's an example of how this may happen: Fig 6: function assertVariant(o: oneof) -> oneof> { if (o instanceof Asserted) { return o; } return std::Error(std::Nothing);\n} var myOneof: oneof = \"hello\"; var assertedInt = cast(oneof>, assertVariant(myOneof));\nvar assertedStr = cast(oneof>, assertVariant(myOneof)); print(assertedInt);\nprint(assertedStr); Output: Error(Nothing)\nhello See the Generic Return Type Inference section for more on this.","breadcrumbs":"Type Inference » Required Type Annotations » (Advanced) Calls to Generic Procedure With Unconstrained Return Type","id":"136","title":"(Advanced) Calls to Generic Procedure With Unconstrained Return Type"},"137":{"body":"Because Claro monomorphizes generic procedures , Claro must determine the called procedure's concrete types based on the types of the arguments. In the case that the type of an argument expression is ambiguous, it must be explicitly annotated with a cast: Fig 7: consumer foo
    (a: A) { # ...\n$$ print(a);\n} var t = (1, \"one\");\nvar i: int = # ...\n$$ random::nextNonNegativeBoundedInt(random::create(), 2); foo(cast(int, t[i])); However, the effect of this can be limited in generic procedures with multiple arguments. The type cast may not be necessary if the type parameter is already constrained by another preceding argument: Fig 8: consumer apply(a: A, c: consumer) { c(a);\n} apply(1, x -> { print(x + 10); }); Output: 11","breadcrumbs":"Type Inference » Required Type Annotations » Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position","id":"137","title":"Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position"},"138":{"body":"All languages tend to have a way to encapsulate a block of logic in one place so that it can be reused throughout the program. Generally, however, languages tend to provide only a single tool for this job, the function. The problem I see with this is that not all functions in these languages are created equal - but yet they're all forced to share the same structure which has some unfortunate implications. The general idea is straightforward: a function takes in some data, manipulates it somehow, and possibly returns some data. However, not all functions take input, and not all of them return data (\"void\" is not data... looking at you, Java and friends). To me, this is very unclear using a single structure, functions, for meaningfully different purposes. Claro addresses this by getting specific. Claro provides \"Procedures\" broken into a few sub-categories: Functions, Consumers, and Providers.","breadcrumbs":"Procedures » Procedures","id":"138","title":"Procedures"},"139":{"body":"A Procedure that takes in same data and returns some data. Fig 1: function add(x: int, y: int) -> int { return x + y;\n} print(add(10, 5)); Output: 15","breadcrumbs":"Procedures » Functions » Functions","id":"139","title":"Functions"},"14":{"body":"Continue on to the next section to learn how to build and run your first Claro program!","breadcrumbs":"Getting Started! » Your First Claro Program","id":"14","title":"Your First Claro Program"},"140":{"body":"A Procedure that takes in some data but doesn't return any data. Fig 1: consumer show(s: string, age: int, heightFt: int) { # String formatting. print(\"{s} is {age} years old and {heightFt}ish feet tall.\");\n} # Calling the consumer. Syntactically, consumers are always used as statements,\n# never as an expression (something that has a value).\nshow(\"Laura\", 29, 5); Output: Laura is 29 years old and 5ish feet tall. Note: Consumers tend to be an inherent waste of computation time unless that consumer does some side-effecting operation observable outside the program scope. So, it may be a useful hint that if you're reading code that includes a call to a consumer, some I/O is very likely taking place (if not, you should delete the call entirely as it's a waste of work).","breadcrumbs":"Procedures » Consumers » Consumers","id":"140","title":"Consumers"},"141":{"body":"A Procedure that takes in no data but returns some data. Fig 1: provider getInt() -> int { return 10;\n} print(getInt()); Output: 10","breadcrumbs":"Procedures » Providers » Providers","id":"141","title":"Providers"},"142":{"body":"Claro opens you up to taking full advantage of functional programming techniques by allowing you to assign Procedures to variables and to pass them around as data, allowing you to hand them off to be called later.","breadcrumbs":"Lambdas & First Class Procedures » Lambdas & First Class Procedures","id":"142","title":"Lambdas & First Class Procedures"},"143":{"body":"Lambdas expressions look something like the examples below. Fig 1: var f: function int> = x -> x + 1;\nvar c: consumer = x -> { print(x); };\nvar p: provider = () -> 10; Note : lambdas require explicit type annotations , but Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression: Fig 2: var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };","breadcrumbs":"Lambdas & First Class Procedures » Defining Lambdas","id":"143","title":"Defining Lambdas"},"144":{"body":"You may also reference named procedures as first-class data just like lambdas: Fig 3: function add(x: int, y: int) -> int { return x + y;\n} var applyBiConsumer = lambda (x: int, y: int, mapFn: function<|int, int| -> int>) -> { print(mapFn(x, y)); }; # Pass a reference to the `add()` function as a first class arg.\napplyBiConsumer(10, 5, add); #15. Output: 15","breadcrumbs":"Lambdas & First Class Procedures » First Class Procedure References","id":"144","title":"First Class Procedure References"},"145":{"body":"A \"closure\" is an anonymous procedure that is able to capture long-lived references to the variables defined outside the body of the lambda, importantly, keeping that reference even as the lambda itself leaves the scope. This is exactly how Python or Java lambdas work, for example. Unfortunately, this leads to hard-to-understand code as you end up with \"spooky action at a distance\" where calling a lambda can cause some faraway data to be changed without necessarily realizing or intending for that to be happening. This would be fatal for Claro's more advanced \" Fearless Concurrency \" goal, because it represents hidden mutable state which would invalidate Claro's goals of guaranteeing that multithreaded code unable to run into data races. So, to address these issues, when lambdas reference variables in outer scopes, the variables are captured as a local copy of the current value referenced by that variable. Claro's Lambdas have no mechanism to mutate anything not passed in as an explicit argument, and they cannot carry any mutable state .","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Lambdas are Restricted \"Closures\"","id":"145","title":"Lambdas are Restricted \"Closures\""},"146":{"body":"Claro will statically validate that lambdas don't violate the above restrictions: Fig 1: var i = 0;\nvar f = (x: int) -> int { i = x + i; # `i` is captured, and illegally updated. return i;\n}; Compilation Errors: lambda_closures_EX1_example.claro:3: Illegal Mutation of Lambda Captured Variable: The value of all variables captured within a lambda context are final and may not be changed. This restriction ensures that lambdas do not lead to so-called \"spooky action at a distance\" and is essential to guaranteeing that Graph Procedures are data-race free by construction. i = x + i; # `i` is captured, and illegally updated. ^\nWarning! The following declared symbols are unused! [f]\n2 Errors","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Static Validation","id":"146","title":"Static Validation"},"147":{"body":"When a lambda captures a variable from the outer scope, the captured variable inside the lambda is effectively completely independent from the original variable in the outer scope. It simply \"shadows\" the name of the outer scope variable. In this way, lambdas are guaranteed to be safe to call in any threading context as thread-related ordering alone can't affect the value returned by the lambda: Fig 2: var i = 1;\nvar f = (x: int) -> int { # This lambda captures a **copy** of the variable `i`. return x + i;\n}; for (x in [0, 1, 5, 5]) { print(\"i: {i}\"); print(\"f({x}): {f(x)}\\n\"); i = i * 10; # <-- This update of `i` is not observed by the lambda.\n} Output: i: 1\nf(0): 1 i: 10\nf(1): 2 i: 100\nf(5): 6 i: 1000\nf(5): 6","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Captured Variables \"Shadow\" Variables in the Outer Scope","id":"147","title":"Captured Variables \"Shadow\" Variables in the Outer Scope"},"148":{"body":"While Claro's design decisions around Lambdas make sense in the name of enabling \"Fearless Concurrency\", the restrictions may seem like they prevent certain design patterns that may be completely valid when used carefully in a single-threaded context. But worry not! You can of course implement \"closure\" semantics yourself (albeit in a more C++ style with explicit variable captures). Fig 3: newtype ClosureFn : struct { state: State, fn: function Out>\n} function callClosure(closureFn: ClosureFn) -> Out { var toApply = unwrap(closureFn).fn; return toApply(unwrap(closureFn).state);\n} var mutList = mut [1];\nvar getAndIncrClosure: ClosureFn = ClosureFn({ state = mutList, fn = l -> { var res = l[0]; l[0] = l[0] + 1; # Update the \"captured\" state. return res; } }); print(mutList); # mut [1]\nprint(callClosure(getAndIncrClosure)); # 1\nprint(callClosure(getAndIncrClosure)); # 2\nprint(callClosure(getAndIncrClosure)); # 3\n# \"Spooky Action at a Distance\" mutating `mutList` on the lines above when\n# `mutList` was never directly referenced.\nprint(mutList); # mut [4] Output: mut [1]\n1\n2\n3\nmut [4] Note : The beauty of this design is that even though Claro doesn't prevent you from emulating traditional \"closures\" on your own if you so chose, Claro can still statically identify that this ClosureFn type is unsafe for multithreaded contexts and will be able to prevent you from using this to create a data race!","breadcrumbs":"Lambdas & First Class Procedures » Lambdas are Restricted \"Closures\" » Manually Emulating Traditional \"Closures\"","id":"148","title":"Manually Emulating Traditional \"Closures\""},"149":{"body":"Oftentimes, you'll find that some code patterns keep coming up over and over and you'll want to find same way to factor out the major commonalities in logic from the minor specific details that you'd want to just plug in as needed. For example, you might realize that you're writing loops to filter lists based on conditions all over your code; the only difference between the implementation in any of these occurrences of filtering being the element types and the specific condition. But because you want to filter lists of all kinds of types you might not immediately think you could write a single function that could be called wherever filtering is needed. Enter Generics! Fig 1: function reduce(l: [A], fn: function<|B, A| -> B>, accum: B) -> B { for (e in l) { accum = fn(accum, e); } return accum;\n} The function reduce(...) is defined to take a list of elements of some arbitrary (generic) type, A, and an accumulation function that takes in the current accumulated value, of type B, and the current element of that generic type, A. In this example, the particular types A and B are \"unconstrained\". The only constraint is the typical constraint that the given function's first arg must have the same type as the initial accumulated value, and the second arg must have the same type as the elements of the reduced list. So, the generic types take on the \"concrete\" types of the data that happens to be passed into the function's callsite: Fig 2: var sum: int = reduce([1, 2, 3, 4], lambda (accum, x) -> accum + x, 0); var totalChars: int = reduce( [\"Count\", \"the\", \"total\", \"chars\", \"in\", \"these\", \"strings\"], lambda (accum, s) -> accum + len(s), 0 ); print(sum);\nprint(totalChars); Output: 10\n32","breadcrumbs":"Generics » Generics","id":"149","title":"Generics"},"15":{"body":"The create_claro_project.sh script generated several files: Fig 1: demo\n|-- .bazelrc\n|-- .bazelversion\n|-- MODULE.bazel\n|-- README.md\n`-- example |-- BUILD |-- demo.claro `-- input.txt 1 directory, 7 files Let's take a brief tour through each file to get a high level understanding of what's going on. If you're already familiar with Bazel, jump ahead to writing your first Claro program . You do not need to be a Bazel expert to get up to speed with Claro! But, if you want a deeper understanding of Bazel as\na whole, check out Bazel's official concepts guide.","breadcrumbs":"Getting Started! » Understanding the Starter Project » Understanding the Starter Project","id":"15","title":"Understanding the Starter Project"},"150":{"body":"Consider the example of the generic function: Fig 1: function filter(l: [A], pred: function boolean>) -> [A] { # ...\n$$ return [a | a in l where pred(a)];\n} If you really squint, you might notice that there's very little information available in the body of the filter(...) function to tell you about the type T. As a result, you're unable to do much with values of such an unconstrained generic type beyond passing the value along to another generic function accepting an unconstrained generic arg, or putting it into some collection defined over the same generic type. This would be very limiting if this was all that could be done with generics. Enter Contracts! It will take a bit of a buildup, but we should be able to write generic functions that will be able to put constraints on the acceptable types, for example saying something like \"this procedure will accept any type, T, for which the function foo(arg1: T, arg2: T) exists.\" For example, we should be able to write the following generic function: Fig 2: requires(Operators) # <-- What is this `requires(...)`?\nfunction sum(l: [T]) -> T { var res = l[0]; var i = 0; while (++i < len(l)) { res = Operators::add(res, l[i]); # <-- What is this `Operators::add`? } return res;\n} The function above has a new requires(...) clause in the signature which we haven't seen before. This is the mechanism by which a function constrains the set of types that may be passed into this function to only types that definitely have a certain associated procedure implementation existing. The requires(...) clause takes in a list of \"Contracts\" that must be implemented over the generic type. In this case that contract's definition looks like: Fig 3: contract Operators { function add(lhs: X, rhs: X) -> X;\n} This Contract specifies a single function signature that any implementation of this Contract must implement. Other Contracts may specify more than one signature, or even more than one generic type param. There are no restrictions on where the generic Contract param(s) may be used in the procedure signatures, so it may even be included in the return type as shown in the example above. The only requirement on signatures is that each one must make use of each generic arg type listed in the Contract's signature. This is mandatory as Claro looks up the particular implementations by inspecting the arg types provided at the Contract procedure's call-sites.","breadcrumbs":"Generics » Contracts » Contracts","id":"150","title":"Contracts"},"151":{"body":"Coming from an Object-Oriented background, you may be tempted to compare Contracts to \"Interfaces\", but you'll find that while they may be used to a similar effect, they are not the same thing. The intention of an \"Interface\" is to encode subtyping relationships between types, whereas Claro has absolutely no notion of subtyping . All defined types are strictly independent of one another. Claro asks you to simplify your mental model and simply think of Contracts as a mechanism for encoding a required bit of functionality that needs to be implemented uniquely over values of unrelated, arbitrary (generic) types.","breadcrumbs":"Generics » Contracts » Contracts are Not Interfaces","id":"151","title":"Contracts are Not Interfaces"},"152":{"body":"Simply defining a contract is not sufficient to actually be useful, however, since the definition itself doesn't provide any logic. So, to actually use a Contract, we must implement it for a certain (set of) concrete type(s): Fig 1: implement Operators { function add(lhs: int, rhs: int) -> int { return lhs + rhs; }\n} implement Operators { function add(lhs: string, rhs: string) -> string { return \"{lhs}{rhs}\"; }\n} Now that you have implementations, you can either call them directly: Fig 2: print(Operators::add(10, 20));\nprint(Operators::add(\"Hello, \", \"world\")); Output: 30\nHello, world Or, even more valuable, you can also call the generic sum function from the previous section over concrete types int or string because the requirements are met for both! Fig 3: print(sum([1, 2, 3]));\nprint(sum([\"a\", \"bc\", \"d\"])); Output: 6\nabcd In this way, Claro's Contracts interact with Generics to create a powerful form of code reuse where custom behavior can be uniquely dictated by type information. And, unlike in an Object-Oriented language, this code reuse did not rely on creating any subtyping relationships.","breadcrumbs":"Generics » Contracts » Implementing a Contract » Implementing a Contract","id":"152","title":"Implementing a Contract"},"153":{"body":"As a performance note - even beyond the conceptual simplification benefits of avoiding dependence on subtyping relationships to achieve custom behaviors, Claro also achieves performance gains through its ability at compile-time to statically know which custom Contract implementation will be called. In the Object-Oriented approach, generally speaking the procedure receiving an arg of an interface type doesn't know which particular implementation will be called at runtime. This leads to the situation where a runtime \"dispatch table\"/\"vtable\" lookup is required to determine which particular implementation to call for each particular value passed into the procedure. Claro is a \"monomorphizing\" compiler, meaning that during compilation each Generic Procedure has a customized implementation codegen'd for each set of concrete types the procedure is actually called with. In this way, there's no runtime dispatch overhead when types are statically known (which is always true unless you're explicitly calling a generic procedure over a oneof<...> type - but in this case you're consciously opting into dynamic dispatch overhead).","breadcrumbs":"Generics » Contracts » Implementing a Contract » A Note on Static Dispatch via \"Monomorphization\"","id":"153","title":"A Note on Static Dispatch via \"Monomorphization\""},"154":{"body":"One very interesting capability that you get from the combination of Claro's bidirectional type inference and generics is the ability to infer which Contract implementation to defer to based on the expected/requested return type at a procedure call-site. Let's get more specific. Fig 1: contract Index { function get(l: T, ind: int) -> R;\n} implement Index<[int], int> { function get(l: [int], ind: int) -> int { return l[ind]; }\n} atom IndexOutOfBounds\nnewtype SafeRes : oneof> implement Index<[int], SafeRes> { function get(l: [int], ind: int) -> SafeRes { if (ind >= 0 and ind < len(l)) { return SafeRes(l[ind]); } return SafeRes(std::Error(IndexOutOfBounds)); }\n} For the above implementations of Index, you'll notice that each function, Index::get, only differs in its return type but not in the arg types. So, Claro must determine which implementation to defer to by way of the contextually expected return type. This, I believe leads to some very convenient ergonomics for configurability, though the onus for \"appropriate\" use of this feature is a design decision given to developers. Fig 2: var l = [1,2,3]; var unsafeRes: int = Index::get(l, 1);\nvar safeRes: SafeRes = Index::get(l, 1); print(unsafeRes);\nprint(safeRes); safeRes = Index::get(l, 10);\nprint(safeRes); # Out of bounds runtime err.\n# unsafeRes: int = Index::get(l, 10); Output: 2\nSafeRes(2)\nSafeRes(Error(IndexOutOfBounds))","breadcrumbs":"Generics » Generic Return Type Inference » Generic Return Type Inference","id":"154","title":"Generic Return Type Inference"},"155":{"body":"As described in further detail in the section on Required Type Annotations , certain generic procedures that return a value of a generic type may require the call to be explicitly constrained by context. In particular, this will be the case when the generic type does not appear in any of the procedure's declared arguments. For example, calling the above Index::get Contract Procedure will statically require the \"requested\" return type to be statically constrained by context: Fig 3: # Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?\nvar ambiguous = Index::get(l, 10); Compilation Errors: generic_return_type_inference_EX3_example.claro:2: Ambiguous Contract Procedure Call: Calls to the procedure `Index$::get` is ambiguous without an explicit type annotation to constrain the expected generic return type `R`.\nvar ambiguous = Index::get(l, 10); ^^^^^^^^^^^^^^^^^\n1 Error","breadcrumbs":"Generics » Generic Return Type Inference » Ambiguous Calls","id":"155","title":"Ambiguous Calls"},"156":{"body":"Note that while this specific ambiguity can only possibly arise as a result of calls to a Contract procedure, even indirect calls can cause this problem: Fig 4: requires(Index)\nfunction pickRandom(collection: C, maxInd: int) -> R { return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));\n} # Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?\nvar ambiguous = pickRandom([1, 2, 3], 10); Compilation Errors: generic_return_type_inference_EX4_example.claro:7: Invalid Generic Procedure Call: For the call to the following generic procedure `pickRandom` with the following signature: `function<|[int], int| -> R> Generic Over {[int], R} Requiring Impls for Contracts {Index$<[int], R>}` The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.\nvar ambiguous = pickRandom([1, 2, 3], 10); ^^^^^^^^^^^^^^^^^^^^^^^^^\n1 Error Again, you can resolve this issue by explicitly declaring the \"requested\" return type: Fig 5: $$requires(Index)\n$$function pickRandom(collection: C, maxInd: int) -> R {\n$$ return Index::get(collection, random::nextNonNegativeBoundedInt(random::create(), maxInd + 1));\n$$}\n$$\n# Ambiguous Contract Procedure Call - should the call return `int` or `SafeRes`?\nvar unambiguous: SafeRes = pickRandom([1, 2, 3], 10);\nprint(unambiguous); Output: SafeRes(Error(IndexOutOfBounds))","breadcrumbs":"Generics » Generic Return Type Inference » Ambiguity via Indirect Calls to Contracts","id":"156","title":"Ambiguity via Indirect Calls to Contracts"},"157":{"body":"In the course of writing software, it can be very common that you'll need to copy some data. In particular, when dealing with collections that are either themselves mutable, or contain mutable elements, copying can be needed so that one copy of the data can be updated while leaving the other unchanged. However, you may find that many languages (e.g. Java/C++) make this extremely simple task prohibitively difficult requiring planning ahead to explicitly implement copying support on every data type that you think you'll want to copy in the future. To address this, Claro supports deep copying out-of-the-box with the builtin copy(...) function. Fig 1: var l = mut [1, 2, 3];\nvar myCopy = copy(l); print(\"Before update:\");\nprint(\"l: {l}\");\nprint(\"myCopy: {myCopy}\"); myCopy[2] = -99999; print(\"\\nAfter update:\");\nprint(\"l: {l}\");\nprint(\"myCopy: {myCopy}\"); Output: Before update:\nl: mut [1, 2, 3]\nmyCopy: mut [1, 2, 3] After update:\nl: mut [1, 2, 3]\nmyCopy: mut [1, 2, -99999]","breadcrumbs":"Copying Data » Copying Data","id":"157","title":"Copying Data"},"158":{"body":"Claro's builtin copy(...) function performs a deep copy , meaning that the entire nested structure is traversed and copied (as needed). The below example copies some nested data and demonstrates that the resulting internal data can be mutated in isolation: Fig 2: var original = {left = mut (1, [10]), right = ([\"aaa\"], mut [\"bbb\"])};\nvar copied = copy(original); print(original);\nprint(copied);\nprint(\"\"); copied.left[0] = -99;\ncopied.right[1][0] = \"MODIFIED\"; print(original);\nprint(copied);\nprint(\"\"); Output: {left = mut (1, [10]), right = ([aaa], mut [bbb])}\n{left = mut (1, [10]), right = ([aaa], mut [bbb])} {left = mut (1, [10]), right = ([aaa], mut [bbb])}\n{left = mut (-99, [10]), right = ([aaa], mut [MODIFIED])}","breadcrumbs":"Copying Data » Deep Copying","id":"158","title":"Deep Copying"},"159":{"body":"Claro's builtin copy(...) function supports the ability to coerce the mutability of the data being copied. This is primarily a matter of convenience to, in as many cases as possible, avoid Claro programmers to needing to manually write custom copy implementations. In order to convey that a mutability coercion is being requested, the return type of the copy(...) call simply needs to be constrained to some variant of the original value's type with mutability annotations updated as desired. Claro will automatically codegen the appropriate logic to perform the requested copying + coercion. Note that this feature relies on compile-time knowledge to ensure that any coercions would not actually invalidate any language semantics or violate type system rules. In the below example, a mut [[int]] is copied, with the type simultaneously coerced to [mut [int]]: Fig 1: var original = mut [[1, 2, 3], [4, 5], [6]];\nvar coercedCopy: [mut [int]] = copy(original);\ntype(coercedCopy);\nprint(\"Elements of `coercedCopy` match `original`?: {checkElementsMatch(original, coercedCopy)}\\n\"); # Now demonstrate that the lists are now independent.\nprint(\"Before mutation -\");\nprint(\"original: {original}\");\nprint(\"coercedCopy: {coercedCopy}\\n\"); original[0] = [-11111111];\ncoercedCopy[0][0] = -22222222; # <-- Outer list is now immutable, so modifying now mutable inner list. print(\"After mutation -\");\nprint(\"original: {original}\");\nprint(\"coercedCopy: {coercedCopy}\"); function checkElementsMatch(original: mut [[int]], coercedCopy: [mut [int]]) -> boolean { # ...\n$$ var i = 0;\n$$ while (i < len(original)) {\n$$ var j = 0;\n$$ while (j < len(original[i])) {\n$$ if (original[i][j] != coercedCopy[i][j]) {\n$$ return false;\n$$ }\n$$ ++j;\n$$ }\n$$ ++i;\n$$ }\n$$ return true;\n} Output: [mut [int]]\nElements of `coercedCopy` match `original`?: true Before mutation -\noriginal: mut [[1, 2, 3], [4, 5], [6]]\ncoercedCopy: [mut [1, 2, 3], mut [4, 5], mut [6]] After mutation -\noriginal: mut [[-11111111], [4, 5], [6]]\ncoercedCopy: [mut [-22222222, 2, 3], mut [4, 5], mut [6]]","breadcrumbs":"Copying Data » Mutability Coercion on Copy » Mutability Coercion on Copy","id":"159","title":"Mutability Coercion on Copy"},"16":{"body":"See: Official Bazel reference - This file marks the root of your Bazel project. Fig 2: module(name = \"example-claro-module\") bazel_dep(name = \"claro-lang\", version = \"0.1.409\")","breadcrumbs":"Getting Started! » Understanding the Starter Project » MODULE.bazel","id":"16","title":"MODULE.bazel"},"160":{"body":"It's worth noting explicitly that Claro's newtype declarations statically encode the mutability any collections they happen to wrap. Claro's builtin copy(...) cannot be used to invalidate these explicit mutability declarations, for example: Fig 2: # There's nothing that can possibly be done to make Foo wrap a mutable list.\nnewtype Foo : [T] However, parameterized User Defined Types may accept any concrete type in the place of the generic type parameter, and Claro's builtin copy(...) function can be used to do mutability coercion on these values. The below example demonstrates setting the concrete type T = mut tuple meaning that Foo originally wraps the type [mut tuple]. Then, upon copying the original value, the type is coerced to T = tuple resulting in Foo wrapping the deeply immutable type [tuple]: Fig 3: newtype Foo : [T] var original: Foo> = Foo([mut (\"original\", 1)]);\nvar coercedCopy: Foo> = copy(original); unwrap(original)[0][0] = \"UPDATED\";\nunwrap(original)[0][1] = 2; print(\"original: {original}\");\nprint(\"coercedCopy: {coercedCopy}\"); Output: original: Foo([mut (UPDATED, 2)])\ncoercedCopy: Foo([(original, 1)])","breadcrumbs":"Copying Data » Mutability Coercion on Copy » Mutability Coercion Can Apply to Type Parameters of a User Defined Type","id":"160","title":"Mutability Coercion Can Apply to Type Parameters of a User Defined Type"},"161":{"body":"As Claro's builtin copy(...) performs a deep copy , performance becomes an important consideration when data can become arbitrarily large (whether as a result of a deeply nested type or not). Fortunately, Claro is able to perform one significant optimization that can have an incredible effect on the runtime performance of copying large data structures.","breadcrumbs":"Copying Data » Performance Optimizations » Performance Optimizations","id":"161","title":"Performance Optimizations"},"162":{"body":"The key observation that enables this performance optimization is that, as Claro does not expose a value's memory location to users, if a piece of data is deeply-immutable (and in a few other situations that Claro takes advantage of), there is no possible way to distinguish between the two situations below: having equal values located at different addresses in memory having \"shared references\" to the exact same value in memory Note : This exact same observation underpins Claro's \" Fearless Concurrency \" guarantees. (TODO(steving) Link to section explicitly explaining the fact that Graph procedure inputs must be deeply immutable.) Claro takes advantage of this fact to generate the most efficient possible code to copy the specific type in question. It does so by eliminating any actual copying of deeply immutable data found nested anywhere within a copied value. For example, take the below mutable list containing immutable lists. When it is copied, a new mutable list must be initialized to represent the outer list so that the original and copied values may be mutated independently. However, the internal immutable lists can just be referenced directly in the copied list (thus establishing what are known as \"shared references\" to the underlying memory). Fig 1: var original = mut [[1, 2, 3], [4, 5], [6]];\nvar copied = copy(original); print(original);\nprint(copied); Output: mut [[1, 2, 3], [4, 5], [6]]\nmut [[1, 2, 3], [4, 5], [6]]","breadcrumbs":"Copying Data » Performance Optimizations » Claro's copy(...) is Aware of Mutability","id":"162","title":"Claro's copy(...) is Aware of Mutability"},"163":{"body":"Again, I'll reiterate that it's impossible to directly observe from Claro code itself that this optimization has taken place as Claro doesn't provide any mechanism for actually checking a value's memory address. So, instead, I'll try to demonstrate indirectly that this optimization must actually be occurring. The below example sets up an experiment where a very large, nested list is populated and then copied twice. The first copy is done manually using list comprehension. Then, the second copy uses the builtin copy(...). Each copy is timed to get a sense of the impact of this optimization. To make things interesting, the outermost level of the list is mutable so that the overall copy is not a no-op . However, the performance gain comes from being able to avoid the unnecessary copies all of the inner lists. Note : I'm not claiming that this is a real \"benchmark\" of any sort - just that this broadly demonstrates the claim. Fig 2: $$# Claro's list comprehension needs to support unused elem variable: [someExpr | _ in coll]\n$$function discardFirst(a: A, b: B) -> B {\n$$ _ = a;\n$$ return b;\n$$}\n$$var numbers: mut [int] = mut [];\n$$lists::ensureCapacity(numbers, 1000);\n$$var i = 0;\n$$while (i++ < 1000) {\n$$ lists::add(numbers, i);\n$$}\n$$var GIANT_TEST_LIST: mut [[[int]]] = mut [];\n$$repeat (100) {\n$$ var innerList = [discardFirst(unused, [x | x in numbers]) | unused in numbers];\n$$ lists::add(GIANT_TEST_LIST, innerList);\n$$}\n$$\n# Compute the number of ints in the test list.\nprint(\"GIANT_TEST_LIST dimensions: {len(GIANT_TEST_LIST)}x{len(GIANT_TEST_LIST[0])}x{len(GIANT_TEST_LIST[0][0])}\\n\"); # Now, manually copy the test lest using list comprehension.\nvar firstTestStart = instant::now();\nvar manuallyCopied = mut [[[x | x in l2] | l2 in l1] | l1 in GIANT_TEST_LIST];\nvar firstTestEnd = instant::now(); # Now, copy using the builtin `copy(...)` function.\nvar secondTestStart = instant::now();\nvar efficientlyCopied = copy(GIANT_TEST_LIST);\nvar secondTestEnd = instant::now(); # Let's see approximately how much time each took!\nvar MILLIS_PER_SECOND = 1000.0;\nvar NANOS_PER_SECOND = 1000000000.0;\nduration::between(firstTestStart, firstTestEnd) |> duration::toMillis(^) |> print(\"Manual copy time: {^/MILLIS_PER_SECOND} seconds\");\nduration::between(secondTestStart, secondTestEnd) |> duration::toNanos(^) |> print(\"Builtin copy time: {^/NANOS_PER_SECOND} seconds\"); # Now just to really finish the demonstration, let's confirm that these copies actually contain equal elements to the\n# giant copied list.\nprint(\"\\nmanuallyCopied == GIANT_TEST_LIST: {manuallyCopied == GIANT_TEST_LIST}\");\nprint(\"efficientlyCopied == GIANT_TEST_LIST: {efficientlyCopied == GIANT_TEST_LIST}\"); Output: GIANT_TEST_LIST dimensions: 100x1000x1000 Manual copy time: 2.679 seconds\nBuiltin copy time: 1.28E-4 seconds manuallyCopied == GIANT_TEST_LIST: true\nefficientlyCopied == GIANT_TEST_LIST: true","breadcrumbs":"Copying Data » Performance Optimizations » Demonstrating the Performance Win","id":"163","title":"Demonstrating the Performance Win"},"164":{"body":"Currently Claro's copy implementation suffers from two different implementation problems that will be resolved in a future release. I'll describe them below just for the sake of clarity. Please feel free to reach out if you'd like to help to address these bugs!","breadcrumbs":"Copying Data » Known Copy Bugs » Known copy(...) Bugs","id":"164","title":"Known copy(...) Bugs"},"165":{"body":"Currently, the Claro compiler doesn't do any special handling of recursively defined types, and so as it attempts to generate code for an inlined copy of a recursive type, it ends up infinitely looping over the codegen phase. Fig 1: # This type is recursive (with int as its \"bottom\" to terminate recursion).\nnewtype ComplexData : oneof, {ComplexData}> function generateRandomComplexData(rng: random::RandomNumberGenerator, maxDepth: int) -> ComplexData { # ...\n$$ return generateRandomComplexData_impl(rng, 0, maxDepth);\n}\n$$\n$$function generateRandomComplexData_impl(rng: random::RandomNumberGenerator, currDepth: int, maxDepth: int) -> ComplexData {\n$$ if (currDepth == maxDepth) {\n$$ return ComplexData(-1); # Let's just avoid attempting to create some infinitely large data structure.\n$$ }\n$$ var next = lambda () -> ComplexData { return generateRandomComplexData_impl(rng, currDepth + 1, maxDepth); };\n$$ match (random::nextNonNegativeBoundedInt(rng, 3)) {\n$$ case 0 -> # int\n$$ return ComplexData(random::nextNonNegativeBoundedInt(rng, 100));\n$$ case 1 -> # tuple\n$$ return ComplexData((next(), next()));\n$$ case _ -> # {ComplexData}\n$$ return ComplexData({next(), next(), next()});\n$$ }\n$$} var someComplexData = generateRandomComplexData(random::forSeed(3), 3);\nprint(someComplexData); # KNOWN COMPILER BUG: CURRENTLY CLARO IS UNABLE TO CORRECTLY GENERATE COPY LOGIC OVER RECURSIVE TYPES!\n# This currently causes the compiler to stack overflow. This will be resolved in a future release.\n# var copied = copy(someComplexData);\n# print(copied); Output: ComplexData({ComplexData((ComplexData((ComplexData(-1), ComplexData(-1))), ComplexData(82))), ComplexData({ComplexData(81), ComplexData(2), ComplexData(64)}), ComplexData({ComplexData(37), ComplexData(6), ComplexData((ComplexData(-1), ComplexData(-1)))})}) In the future, this will be fixed by statically identifying when a recursive type is being copied, and then generating a custom copy function for that particular type that will actually recurse at runtime rather than at compile time. Note, this will put the onus on the programmer to ensure that they never call copy(...) on any cyclical data structure .","breadcrumbs":"Copying Data » Known Copy Bugs » Compiler Stack Overflows on Copying Recursive Types","id":"165","title":"Compiler Stack Overflows on Copying Recursive Types"},"166":{"body":"Potentially more nefarious than the previous bug, Claro's current copy implementation handles the copying of shared references to mutable data in a way that is potentially likely to cause confusion or lead to bugs. A piece of nested data that contains multiple fields of the same mutable type has the potential to contain shared references to the same mutable value. This is a semantically meaningful feature, not just some esoteric feature of the low-level memory layout. Mutation of this shared mutable data will be observable via each reference in the containing structure. Problematically, when a copy is made, every single mutable value within the entire recursive structure will be guaranteed to have a single, unique reference. This may be a useful guarantee in some contexts, but I believe that this goes against Claro's goals of being as unsurprising as possible. The copied data should have the exact same semantics as the original data that it was derived from, but in this one subtle way that is not currently the case. This will be fixed in a future release. Fig 2: var X = mut [99];\nvar l1 = [X, X];\nvar l2 = copy(l1);\nprint(\"l1: {l1}\");\nprint(\"l2: {l2}\"); l1[0][0] = -1;\nprint(\"\\nl1: {l1} # <-- Notice that both list elements have updated after a single write to the shared reference.\");\nprint(\"l2: {l2}\"); l2[0][0] = -2;\nprint(\"\\nl1: {l1}\");\nprint(\"l2: {l2} # <-- This is arguably a bug. The shared reference was severed.\"); Output: l1: [mut [99], mut [99]]\nl2: [mut [99], mut [99]] l1: [mut [-1], mut [-1]] # <-- Notice that both list elements have updated after a single write to the shared reference.\nl2: [mut [99], mut [99]] l1: [mut [-1], mut [-1]]\nl2: [mut [-2], mut [99]] # <-- This is arguably a bug. The shared reference was severed.","breadcrumbs":"Copying Data » Known Copy Bugs » Generated Copy Logic Severs Shared References to Mutable Data","id":"166","title":"Generated Copy Logic Severs Shared References to Mutable Data"},"167":{"body":"User Defined Types support the declaration of initializers that restrict the usage of the type's default constructor to only the procedures defined within the initializers block. Claro's builtin copy(...) currently provides a backdoor to initialize and instance of a user defined type without actually using one its initializers . This is fortunately of limited impact as the worst thing a user can do is create instances with a mutability declaration that the type would otherwise not support. But regardless, this will be addressed in a future release. Fig 3: newtype Foo : T initializers Foo { # Calling this function should be the **only** way to get an instance of Foo. function getFooForInts(ints: [int]) -> Foo<[int]> { return Foo(ints); }\n} var original: Foo<[int]> = getFooForInts([0, 1, 2]); # The fact that this is somehow permitted is arguably a bug... why are you able\n# to initialize a Foo without invoking the declared initializer?? This seems\n# to break the semantic intent of declaring initializers to restrict the direct\n# instantiation of user defined types to have to \"go through the front door\".\nvar coercedCopy: Foo = copy(original);\nprint(coercedCopy); Output: Foo(mut [0, 1, 2])","breadcrumbs":"Copying Data » Known Copy Bugs » Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions","id":"167","title":"Mutability Coercion Can Circumvent a User Defined Type's initializers Restrictions"},"168":{"body":"There is one remaining significant factor that a programming language should provide builtin mechanisms for in order to enable programmers to develop very highly performant code that can take full advantage of the available CPU hardware: concurrency. Sometimes you have already squeezed every last drop of performance out of your algorithmic designs, or you are constrained by waiting for slow operations to complete (DB requests, networked API calls, file I/O) before your program may even make progress through its workload. In these situations, often the only way possible to get more work done is to do more than one thing at the same time. In order to achieve this, Claro asks you to first think about the dependencies between the various steps in your desired workflow. These dependencies come in the form of data, so you should be asking yourself, \"At any given step in my workflow, what data do I need to be available in order to make the decisions I'll need to make or to take the actions needed?\". When you start to reason in this way, you will likely come across opportunities where certain components of your workflow are completely independent, in the sense that they do not rely at all upon the same data in order to do their work. Examples of this are easy to see in web service request handling (each reg can typically be handled independently of any others), or if you look a bit closer it can also be seen in MapReduce style batch processing (the large input is partitioned for the workers to map independently of other partitions. There will be many more examples, but the key takeaway is that if these work items can be partitioned to be completely independent like this, then they should be run at exactly the same time rather than sequentially. In a single-machine context, you achieve this by using multiple threads to execute your program, or portions of your program, concurrently. Unfortunately, using threads is known to have inherent dangers. Mistakes with threaded programs have been known to cause \"deadlocking\" or other issues where a program becomes completely stock and is unable to make forward progress. Alternatively, you may run into \"data races\" where multiple threads attempt to read/write the same shared data simultaneously, each not knowing that another thread may be impacting or be impacted by the state change - this leads to consistency problems where threads end up operating on stale, corrupted, or inconsistent data. These have tended to be reasons for people to fully avoid working with multithreaded code at all - but that caution is just leaving performance on the table. Thankfully, Claro addresses these issues and provides convenient, fearless concurrency!","breadcrumbs":"Concurrency » Concurrency","id":"168","title":"Concurrency"},"169":{"body":"A Graph Procedure is much like a regular Procedure, with the only difference coming in how you structure code in the body. As its mame implies, the body of a Graph Procedure will be structured as a graph of operations. Specifically it is a DAG (directed-acyclic-graph) where each node in the DAG represents some isolated unit of work which may depend on data produced by one or more other nodes and will produce its own resulting data. This structure is inherently parallelizable as Claro can analyze the provided DAG to schedule nodes to run as soon as possible once all of the data depended on by that node is ready. If any two nodes happen to have all of their dependent data ready at the same time, then Claro may schedule those nodes to run concurrently. In fact, not only does Claro enable concurrency, it actually is able to create the optimal schedule to run your nodes. You don't need to think about scheduling at all, simply encode the data relationships between your operations, and Claro does the rest. All of this is achieved by scheduling nodes to run cooperatively on a threadpool currently configured to have a single thread per CPU core (as of this writing, this default is the only option, but it will become configurable in the future (i.e. Google Java services default to 50 request threads)). This allows you to trivially achieve significantly better utilization of your available hardware resources than single threaded code, and much more safely and more easily than can generally be achieved with a handcrafted threaded program. The example below shows syntax vs DAG visualization: Fig 1: graph function getWatchlist(userId: UserId) -> future { root recWatchlist <- mergeTopTen(@movies, @shows); node movies <- getTopMovies(@profile); node shows <- getTopShows(@profile); node profile <- getUserFromDB(userId);\n} As you can see clearly in the diagram below, profile must run first but movies and shows may be computed concurrently: graph TD profile(profile) --> movies profile --> shows movies(movies) --> recWatchList shows(shows) --> recWatchList","breadcrumbs":"Concurrency » Graph Procedures » Graph Procedures","id":"169","title":"Graph Procedures"},"17":{"body":"This is the one place where you'll see the term \"module\" overloaded to refer to Bazel's concept of Modules relating to Bazel's external package management solution. So, the name you pick for your top-level module(name = \"...\") declaration should be something that you would be ok with using to publicly present your project to downstream users if you chose to publish your project to the Bazel Central Registry later on.","breadcrumbs":"Getting Started! » Understanding the Starter Project » module(name = \"example-claro-module\")","id":"17","title":"module(name = \"example-claro-module\")"},"170":{"body":"Great! Now Graph Procedures have given us free concurrency just by structuring our code declaratively rather than imperatively. But as we'd realistically only want to put a few nodes in a single Graph Procedure from a code maintenance and readability point of view, how do we write DAGS that are larger than just a few nodes? Composition! By this I mean simply calling another Graph Procedure from within the current one. For Example: Fig 1: graph function bar(argB: int, argC: C) -> future { root barRes <- doBar(@barA); node barA <- doBarA(@barB, @barC); node barB <- doBarB(argB); node barC <- doBarC(argC);\n} graph TD barC(barC) --> barA barB(barB) --> barA barA(barA) --> barRes Fig 2: graph function foo(argA: A) -> future { root fooRes <- doFoo(@fooA, @fooB); node fooA <- doFooA(@fooC); node fooB <- bar(10, @fooC); # <-- Graph Composition via Call to `bar`. node fooC <- doFooC(argA);\n} graph TD fooC --> fooA fooC --> fooB fooB --> fooRes fooA --> fooRes Because foo(...) includes a call to bar(...) as a subgraph, you can imagine that node fooB in graph foo actually composes around the entire bar graph. graph TD fooC --> fooA fooC --> barC barRes --> fooRes subgraph fooB barC --> barA barB --> barA barA --> barRes end fooA --> fooRes This composition is extremely simple to understand in this way. The entire subgraph is started after all data dependencies of the node wrapping it are ready.","breadcrumbs":"Concurrency » Graph Procedure Composition » Graph Procedure Composition","id":"170","title":"Graph Procedure Composition"},"171":{"body":"As you've already seen, if you call a Graph Procedure from within another Graph (composition) then Claro will automatically handle the scheduling for you so that downstream nodes receive the value when it's ready. If you tried calling a Graph Procedure from the top-level of a file, or from a non-Graph Procedure, then you'll see you receive a value wrapped in a future<...>. This is because, as Claro follows the Async pattern for concurrent execution, some nodes in the Graph Procedure may not be done running yet meaning that the overall Graph result may not be ready either. For example, the getWatchlist Graph Procedure defined earlier could be called as if it were a typical procedure call: Fig 1: $$var someUserId: UserId = \"Jake\";\nvar graphRes: future = getWatchlist(someUserId); There's not much you can do with a future<...> as it's really just a handle representing work whose result you'd like to be able to access when it's ready. In this situation (outside a Graph), as a future<...> represents some computation that may not be done yet, the only way to get the actual result is to block the current thread until the other threads running the graph backing the future<...> have finished. To do so, use the \"blocking unwrap\" op <-|: Fig 2: $$var someUserId: UserId = \"Jake\";\nvar graphRes: Watchlist <-| getWatchlist(someUserId);\nprint(graphRes); Output: Watchlist([{name = Arrival}, {name = Doctor Who, episodeCount = 1000}])","breadcrumbs":"Concurrency » Calling Graph Procedures » Calling Graph Procedures","id":"171","title":"Calling Graph Procedures"},"172":{"body":"The number one thing to keep in mind is that between calling a Graph and blocking on its result, any operations between may be running concurrently with the graph backing the future<...> (you don't know when the graph actually finishes except that it will certainly have finished after the <-| operation). Fig 3: var graphFuture: future = fooGraph(...); # These two instructions are likely running concurrently with respect to\n# `graphFuture`, as `graphFuture` likely hasn't finished yet, but they are\n# definitely serialized with respect to each other.\ndoSomething(...);\ndoAnotherThing(...); # Blocking the current thread to \"unwrap\" the `future` into a raw `Foo`\n# value we can operate on.\nvar graphRes: Foo <-| graphFuture;","breadcrumbs":"Concurrency » Calling Graph Procedures » Graphs Execute off the \"Main\" Thread","id":"172","title":"Graphs Execute off the \"Main\" Thread"},"173":{"body":"There will be times when you actually only want to execute some portion of the graph upon satisfying some condition. In this case, you may inject the node to a procedure expecting a provider> so that you may conditionally trigger execution yourself after checking the condition: Fig 1: graph function getHomepage(userId : UserId) -> future { root homepage <- renderPage(@basePage, @maybeUpgradeBanner); node basePage <- getBasePageFromDB(); node maybeUpgradeBanner <- getOptionalUpgradeBannerFromDB( @userIsPremium, @upgradeBanner # <-- \"Lazy Subgraph\" injection requested. ); node userIsPremium <- checkPremiumFromDB(userId); node upgradeBanner <- getUpgradeBannerFromDB(@specialOffers); node specialOffers <- getSpecialOffers();\n} function getOptionalUpgradeBannerFromDB( alreadyPremium: boolean, getUpgradeBannerFromDBProvider: provider>\n) -> future { if (alreadyPremium) { return futures::immediateFuture(getBasicBanner()); } # Actually invoke the lazy subgraph here since the user isn't premium. return getUpgradeBannerFromDBProvider();\n} function getUpgradeBannerFromDB(specialOffers: [Offer]) -> future { # ...\n$$ # Just an example - real implementation would send DB query.\n$$ _ = specialOffers;\n$$ return futures::immediateFuture(Html(\"
    some html
    \"));\n} provider getSpecialOffers() -> future<[Offer]> { # ...\n$$ # Just an example - real implementation would send an RPC to some downstream service.\n$$ var res: [Offer] = [];\n$$ return futures::immediateFuture(res);\n} # ... Read closely above . The getOptionalUpgradeBannerFromDB() function above expects an arg of type provider> which is injected as a lazy subgraph rooted at node upgradeBanner. In this way, two of the nodes within the overall getHomepage() graph will only run conditionally upon determining that the user is not already a \"premium\" member. graph TD basePage --> homePage maybeUpgradeBanner --> homePage userIsPremium --> maybeUpgradeBanner upgradeBanner -.-> maybeUpgradeBanner specialOffers -.-> upgradeBanner subgraph Conditional Subgraph upgradeBanner specialOffers end","breadcrumbs":"Concurrency » (Advanced) Conditional Subgraph Execution » (Advanced) Conditional Subgraph Execution","id":"173","title":"(Advanced) Conditional Subgraph Execution"},"174":{"body":"One of Claro's most powerful advantages is that it is able to statically analyze your concurrent code to determine that it is impossible to run into a deadlock at runtime. A deadlock is a situation where a thread blocks its execution waiting for another thread to complete or for some other action to complete before it can continue, but the other thread or action never completes thereby leaving the waiting thread permanently blocked. Threads are not free, and effectively losing access to a deadlocked thread has costlier implications than just losing that unit of work completing. Each thread costs about 1MB of RAM and in a server application deployed with a fixed number of threads, losing even one can lead to cascading failures such as thread starvation (having no more threads in a healthy state available do meaningful work) or simply falling behind on incoming request handling, leading to a server decreasing its effective throughput, causing other servers to pick up the load ( making them more likely to fail in turn) or just straight up dropping user requests returning errors to them and degrading product experience. To mitigate these risks at scale, high-throughput, low-latency services turn to the async concurrency pattern to handle all operations in a non-blocking way. Claro's Graph Procedures implement the async pattern for you for free, while statically validating that your concurrent code is entirely non-blocking . It does so by modeling every Graph node as an async operation that will not even be started until after all of its data dependencies are resolved. Once a node is ready for execution it will be scheduled on a threadpool with as many threads as available CPU cores (will be configurable in the future). In this way, calling a Graph Procedure is actually an extremely lightweight operation from the perspective of the calling thread. The calling thread simply traverses the Graph (without executing any nodes) composes a future<...> representing a handle to the work to be done by the Graph submits the Graph to the Graph Executor to schedule on its threadpool when threads become available After these steps the calling thread is completely freed to move on, knowing that the work represented by the Graph Procedure's returned future<...> will be handled by other threads. As a result, in a web server, after calling a request handling Graph the service thread is free to just immediately move on to accepting new requests. The service thread never needs to block to wait for request handling business logic to complete. Now, a server built using this approach will no longer be bound by the number of incoming requests as it will be able to continuously schedule incoming requests to be processed when Graph Executor threads become available. Of course, the server may still fail due to heavy load, though this will end up coming from OOMs (out-of-memory errors) as the result of storing all of the queued requests. Even so, as a general rule, this will happen much later than if you were to execute request handling logic using thread blocking operations, and it will almost always degrade more gracefully when it does eventually reach its limit. The only concession that you, as a programmer, have to make is simply defining all of your concurrent logic inside a Graph Procedure. Claro will then manage all of the scheduling for you, while enforcing that you never block one of the Graph Executor threads (you may not use the <-| operator in any code transitively reachable from your Graph, or else you'll receive a compiler error). To provide a single, well-lit path for safely designing scalable services in Claro, the only available mechanism to access threads are Graph Procedures.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Guaranteed Deadlock-Free Concurrency","id":"174","title":"Guaranteed Deadlock-Free Concurrency"},"175":{"body":"Whereas other languages with some form of builtin concurrency mechanism may tend to make it harder to write async code than blocking code, Claro is very intentional about inverting that balance. Make the good things easy and the bad things hard. So, you may write blacking code in Claro, but as it's really only intended to be used in limited contexts, Claro forces your hand. Any procedure that makes use of the <-| operator either directly or indirectly, must be explicitly annotated to be blocking: Fig 1: blocking function doBlocking(x: int) -> Bar { # ...do stuff... var unwrappedGraphRes: Foo <-| fooGraph(x); # <-- Blocking unwrap. # ...do stuff using `unwrappedGraphRes`... return # ...\n$$ Bar(unwrappedGraphRes);\n}","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Blocking Procedures","id":"175","title":"Blocking Procedures"},"176":{"body":"To prevent deadlocking, procedures annotated blocking may not be called from a Graph: Fig 2: graph function attemptToDeferToBlockingFn(x: int) -> future> { root noopRes <- @defer; node defer <- doBlocking(x); # <-- Illegal call to blocking procedure in Graph.\n} Compilation Errors: Graph Function attemptToDeferToBlockingFn function future>> has illegal transitive dep on the following blocking procedures [doBlocking blocking function Bar>]. Blocking is forbidden within a Graph Function in order to avoid deadlocking.\n1 Error Therefore, you can be confident that the threading implementation of any logic defined within a Graph Procedure will certainly not suffer from liveliness issues in the form of deadlocks (of course, you may still write code with bugs such as infinite loops that may lead to a \"livelock\").","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Blocking Procedures » Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)","id":"176","title":"Graph Procedures May not Call any Blocking Procedures (Directly or Indirectly)"},"177":{"body":"( For context, the blog post \"What Color is Your Function?\" by Bob Nystrom is highly recommended reading. ) Unfortunately, introducing the blocking procedure type variant has the effect of \"coloring\" all functions that transitively reach a blocking procedure. This ends up being a problem for any code that provides some generic functionality over first-class procedure arguments that we would ideally like to be able to reuse and call from any context, whether blocking or not. Take, for example, Functional Programming's common filter function with the following signature: Fig 1: function filter(l: [T], pred: function boolean>) -> [T]; As currently defined, the filter function with the above signature could only be used over non-blocking pred function args. You'd need to write a duplicate function explicitly accepting a blocking pred function in its signature if you wanted to filter lists using a pred function that makes use of blocking operations: Fig 2: blocking function filterBlocking(l: [T], pred: blocking function boolean>) -> [T]; This duplication would be pervasive throughout functional-style code, and would discourage using functional-style at all. Both of which are very undesirable outcomes. So, Claro handles this using one more form of generics inspired by Rust's Keyword Generics Initiative , \"Blocking Generics\".","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » Re: \"What Color is Your Function?\"","id":"177","title":"Re: \"What Color is Your Function?\""},"178":{"body":"You're able to define a procedure whose \"blocking\"-ness is generically determined by the type of the first-class procedure arg that the function is called with. Taking inspiration from Rust's Keyword Generics Initiative , a Claro procedure may be declared \"Blocking-Generic\" with the following syntax: Fig 1: # Explicitly annotate which arg(s) are blocking-generic.\nblocking:pred function filter( l: [T], pred: blocking? function boolean> # <-- Accepting a blocking-generic function arg.\n) -> [T] { return [x | x in l where pred(x)];\n} Now, with only a single implementation of your filter function, calls may be statically determined to be either a blocking or non-blocking call depending on the type of the passed pred function arg. So now, from within a Graph, you may call this \"blocking-generic\" function as long as you pass in a non-blocking pred function. Fig 2: graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> { root noopRes <- @defer; # Legal call to non-blocking procedure in Graph. node defer <- filter(l, (x: int) -> boolean { return x > 0; });\n} var res <-| deferToBlockingGenericFn([-1, 5, 3, 0, 2]);\nprint(res); Output: [5, 3, 2] And of course, Claro will statically forbid calls to blocking-generic procedures when a blocking procedure is passed in: Fig 3: graph function deferToBlockingGenericFn(l: [int]) -> future<[int]> { root noopRes <- @defer; # Illegal call to blocking procedure in Graph. node defer <- filter(l, doBlocking);\n} blocking function doBlocking(x: int) -> boolean {\n$$ var unwrappedGraphRes <-| futures::immediateFuture(x); # <-- Blocking unwrap.\n$$ return unwrappedGraphRes > 0;\n} Compilation Errors: Graph Function deferToBlockingGenericFn function<[int] -> future<[int]>> has illegal transitive dep on the following blocking procedures []. Blocking is forbidden within a Graph Function in order to avoid deadlocking.\n1 Error Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » (Advanced) Blocking Generics","id":"178","title":"(Advanced) Blocking Generics"},"179":{"body":"Claro localizes Generics only to procedure signatures. This is done with the intention of making Generics more easily understandable, such that Generics itself may be conceptualized simply as a form of \"templating\" (regardless of whether this is how the compiler is actually implementing the feature). As a result, these type modifier syntaxes are restricted to being used within top-level procedure definition signatures only. In particular, you may not define a variable of a blocking-generic procedure type: Fig 4: # Illegal use of `blocking:...`, and `blocking?` outside of top-level Procedure definition.\nvar myBlockingGenericFn: blocking:arg1 function<|[int], blocking? function boolean>| -> [int]>; Compilation Errors: blocking_generics_EX4_main.claro:3: Unexpected token <:> blocking:arg1 function<|[int], blocking? function boolean>| -> [int]>; ^\nCan't recover from previous error(s)\n2 Errors Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » Note on the blocking:argName and blocking? Syntax","id":"179","title":"Note on the blocking:argName and blocking? Syntax"},"18":{"body":"This file is where you will declare your external dependencies for Bazel to resolve at build time. Every Claro project will need to declare an external dependency on the claro-lang project to get access to the Build Rules (e.g. claro_binary() and claro_module()) as well as the compiler itself. Keeping your installation of Claro up-to-date is as simple as bumping the version number listed here. Claro has been published to the BCR at https://registry.bazel.build/modules/claro-lang. Check for new releases there to make sure that you're using the latest and greatest.","breadcrumbs":"Getting Started! » Understanding the Starter Project » bazel_dep(name = \"claro-lang\", version = \"0.1.409\")","id":"18","title":"bazel_dep(name = \"claro-lang\", version = \"0.1.409\")"},"180":{"body":"This has the implication that lambdas may not make use of blocking generics. But this is in line with Claro's single-use intention for lambdas, encouraging the definition of lambdas that will only be used in a single limited scope. For any cases that actually need to make use of blocking-generics, you are by definition defining a procedure that should have more than one use case, and you should define a top-level procedure instead.","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » Lambdas Cannot Use Any Form of Generics","id":"180","title":"Lambdas Cannot Use Any Form of Generics"},"181":{"body":"You can, however, still make first-class references to top-level blocking-generic procedures in order to pass them around as data. The only restriction, is that you must statically declare which blocking variant the reference will take on: Fig 5: # A blocking function var, to which you may *only* pass blocking functions.\nvar myBlockingFn: blocking function<|[int], blocking function boolean>| -> [int]> = filter; # A non-blocking function var, to which you may *only* pass non-blocking functions.\nvar myNonBlockingFn: function<|[int], function boolean>| -> [int]> = filter;","breadcrumbs":"Guaranteed Deadlock-Free Concurrency » Re: \"What Color is Your Function?\" » (Advanced) Blocking Generics » First-Class References to Blocking-Generic Top-Level Procedures","id":"181","title":"First-Class References to Blocking-Generic Top-Level Procedures"},"182":{"body":"All but the most trivial programs will require some mechanism for decomposing a larger program into smaller, reusable components that can be composed into a larger whole. In Claro projects, this is accomplished via the Module System whereby distinct functionality can be organized logically to facilitate encapsulation. In addition, Claro's Module System is the source of Claro's build incrementality - modules are compiled in isolation, allowing caching such that modules do not need to be recompiled unless its own or its dependencies implementations have changed.","breadcrumbs":"Module System » Module System","id":"182","title":"Module System"},"183":{"body":"A Module exposes an API that is implemented by some set of source files which may depend on other modules.","breadcrumbs":"Module System » Defining a Module","id":"183","title":"Defining a Module"},"184":{"body":"Module APIs are explicitly defined using a .claro_module_api file that will list exported procedure signatures, type declarations, static values, and Contract implementations that are publicly exposed to consumers that place a dependency on this module. # example.claro_module_api contract Numeric { function add(lhs: T, rhs: T) -> T; function multiply(lhs: T, rhs: T) -> T;\n} newtype Foo : int\nimplement Numeric; consumer prettyPrint(lhs: Foo);","breadcrumbs":"Module System » API","id":"184","title":"API"},"185":{"body":"An API alone simply defines an interface that the module will satisfy in its implementation sources. So implementations must be provided in the form of one or more .claro files. The above API could be satisfied by the below implementation files (note: this could be done in a single source file, but here it's split into multiple just as an example): # contract_impl.claro implement Numeric { function add(lhs: Foo, rhs: Foo) -> Foo { return Foo(unwrap(lhs) + unwrap(rhs)); } function multiply(lhs: Foo, rhs: Foo) -> Foo { return Foo(unwrap(lhs) * unwrap(rhs)); }\n} # pretty_print.claro consumer prettyPrint(f: Foo) { unwrap(f) |> \"Foo: {^}\" |> Boxes::wrapInBox(^) # <-- Calling dep Module function. |> print(^);\n}","breadcrumbs":"Module System » Sources","id":"185","title":"Sources"},"186":{"body":"While Modules are intended to be consumed as a reusable component, it may also itself depend on other modules in order to implement its public API. Notice that the implementation of prettyPrint above makes a call to Boxes::wrapInBox(...). This is an example of calling a procedure from a downstream dep Module in Claro. In order to build, this Module must place a dep on some Module that has at least the following signature in its API: function wrapInBox(s: string) -> string;. As you'll see below, this Module will choose to give that downstream dependency Module the name Boxes, but any other name could've been chosen.","breadcrumbs":"Module System » Dependencies","id":"186","title":"Dependencies"},"187":{"body":"A Claro Module is fully defined from the above pieces by adding a claro_module(...) definition to the corresponding Bazel BUILD file: # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") claro_module( name = \"example\", module_api_file = \"example.claro_module_api\", srcs = [ \"contract_impl.claro\", \"pretty_print.claro\", ], deps = { \"Boxes\": \":box\", # <-- Notice the name \"Boxes\" is chosen by the consumer. }, # This Module can be consumed by anyone. visibility = [\"//visibility:public\"],\n) claro_module( name = \"box\", module_api_file = \"boxes.claro_module_api\", srcs = [\"boxes.claro\"], # No visibility declared means that this Module is private to this Bazel package.\n) ...","breadcrumbs":"Module System » Defining BUILD Target","id":"187","title":"Defining BUILD Target"},"188":{"body":"In order to validate that a claro_module(...) target compiles successfully, you can run a Bazel command like the following: (Assuming the BUILD file is located at //path/to/target) $ bazel build //path/to/target:example This will build the explicitly named target and its entire transitive closure of dependencies (assuming their build results have not been previously cached in which case they'll be skipped and the cached artifacts reused).","breadcrumbs":"Module System » Building a Module","id":"188","title":"Building a Module"},"189":{"body":"To close the loop, the above example Module could be consumed and used in the following executable Claro program in the following way. # test.claro var f1 = Ex::Foo(1);\nvar f2 = Ex::Foo(2); var addRes = Ex::Numeric::add(f1, f2);\nEx::prettyPrint(addRes); var mulRes = Ex::Numeric::multiply(f2, Ex::Foo(5));\nEx::prettyPrint(mulRes); # BUILD load(\"@claro-lang//:rules.bzl\", \"claro_module\", \"claro_binary\") ... claro_binary( name = \"test\", main_file = \"test.claro\", deps = { \"Ex\": \":example\", },\n)","breadcrumbs":"Module System » Executable Using Above Example Module","id":"189","title":"Executable Using Above Example Module"},"19":{"body":"See: Official Bazelisk reference - This file configures Bazelisk to use the declared Bazel version. Fig 3: 6.4.0 Claro depends on Bzlmod which was introduced in Bazel version 6, so you'll need to use at least version 6.","breadcrumbs":"Getting Started! » Understanding the Starter Project » .bazelversion","id":"19","title":".bazelversion"},"190":{"body":"Complete source code for the examples above can be found here","breadcrumbs":"Module System » Example Code","id":"190","title":"Example Code"},"2":{"body":"Claro was designed with modern build tooling in mind: Swap any dependency without changing a single line of source code Runtime \"Dependency Injection\" frameworks are a thing of the past First class Module system","breadcrumbs":"Welcome to Claro! » Dependency Management Done Right","id":"2","title":"Dependency Management Done Right"},"20":{"body":"See: Official Bazel reference - This file is used to configure optional Bazel flags. Fig 4: common --enable_bzlmod\ncommon --java_runtime_version=remotejdk_11","breadcrumbs":"Getting Started! » Understanding the Starter Project » .bazelrc","id":"20","title":".bazelrc"},"21":{"body":"This configures Bazel to opt in to enabling the Bzlmod, external package manager. This will be necessary in all Claro projects to at least enable Bazel to resolve your dependency on the Claro compiler.","breadcrumbs":"Getting Started! » Understanding the Starter Project » common --enable_bzlmod","id":"21","title":"common --enable_bzlmod"},"22":{"body":"This configures Bazel to download a remote version of the JVM to execute compiled Claro programs. Technically, you can opt in to using a local Java install, but keeping this flag as is ensures that you're running a JVM version that Claro's actually been tested against.","breadcrumbs":"Getting Started! » Understanding the Starter Project » common --java_runtime_version=remotejdk_11","id":"22","title":"common --java_runtime_version=remotejdk_11"},"23":{"body":"See: Official Bazel reference - BUILD files are the fundamental building block of a Bazel project. Here you'll define \"build targets\" representing components of your program and their dependencies. Fig 5: load(\"@claro-lang//:rules.bzl\", \"claro_binary\") claro_binary( name = \"demo_bin\", main_file = \"demo.claro\", resources = { \"Input\": \"input.txt\", }\n)","breadcrumbs":"Getting Started! » Understanding the Starter Project » BUILD","id":"23","title":"BUILD"},"24":{"body":"This loads (a.k.a. \"imports\") the claro_binary() Build Rule from the rules.bzl Bazel extension file located in the root directory of the claro-lang project. After this load, you're able to define claro_binary() targets in this BUILD file by calling it just as you would a function in any other programming language (albeit with mandatory named parameters).","breadcrumbs":"Getting Started! » Understanding the Starter Project » load(\"@claro-lang//:rules.bzl\", \"claro_binary\")","id":"24","title":"load(\"@claro-lang//:rules.bzl\", \"claro_binary\")"},"25":{"body":"As mentioned above, this declares a build target that represents an executable Claro program (*_binary() is the conventional naming of executable build targets in the Bazel ecosystem). name = \"demo_bin\" All Bazel build targets include a mandatory name = \"...\" parameter - in combination with the full path from the project root, this specific build target can be uniquely referenced as //example:demo_bin. Using this name, you can execute Bazel build/run commands from the command line. You can build the target to have Bazel invoke the Claro compiler to verify that your program is valid and if so generate the executable program artifacts that can be invoked separately: bazel build //example:demo_bin During local development you can directly build and run the target by using the below command which will trigger Bazel to build the target and then upon success invoke the built executable program automatically: bazel run //example:demo_bin main_file = \"demo.claro\" Claro programs begin execution by running top-level statements of a given \"main file\" top-down, rather than looking for some special main function. resources = { \"Input\": \"input.txt\", } This declares that this program should bundle the file input.txt into the final compiled Jar file so that it's available at runtime no matter where the program is run. It makes this resource file available as resources::Input in the compiled program. Find more details about resources in the Reference Guide.","breadcrumbs":"Getting Started! » Understanding the Starter Project » claro_binary(...)","id":"25","title":"claro_binary(...)"},"26":{"body":"Just a resource file read by the demo program. Fig 6: look ma, no hands!","breadcrumbs":"Getting Started! » Understanding the Starter Project » input.txt","id":"26","title":"input.txt"},"27":{"body":"The main Claro file that contains the code to be executed. Fig 7: resources::Input |> files::readOrPanic(^) |> strings::trim(^) |> strings::toUpperCase(^) |> wrapInBox(^) |> print(^); function wrapInBox(s: string) -> string { var line = strings::repeated(\"-\", len(s) + 4); return \"{line}\\n| {s} |\\n{line}\";\n} This program just reads in the contents of the input.txt resource file , trims extra whitespace, converts it to all caps, wraps it in a box of \"-\" characters, and prints it to stdout. Note the calls to functions like files::readOrPanic and strings::trim are calling into functions declared in dep modules. In this case there's no explicit mention of those dependencies in the claro_binary(...) target declaration because files and strings are modules in the stdlib so no explicit dependency is necessary.","breadcrumbs":"Getting Started! » Understanding the Starter Project » demo.claro","id":"27","title":"demo.claro"},"28":{"body":"Now that you've set up your starter Claro project in the previous section, let's go through the process of implementing your first program!","breadcrumbs":"Getting Started! » Your First Program » Your First Program","id":"28","title":"Your First Program"},"29":{"body":"Fig 1: print(\"Hello, world!\"); Hello World is a one-liner in Claro, so it's a great place to start learning how to declare a new Claro program using Bazel. Just to keep things simple, copy the above line into a new file at //example/hello_world.claro. Fig 2: demo\n|-- .bazelrc\n|-- .bazelversion\n|-- MODULE.bazel\n|-- README.md\n`-- example |-- BUILD |-- demo.claro |-- hello_world.claro `-- input.txt 1 directory, 8 files","breadcrumbs":"Getting Started! » Your First Program » Create hello_world.claro","id":"29","title":"Create hello_world.claro"},"3":{"body":"Developed by a Xoogler taking inspiration from years of hands-on development experience with Google-internal backend web frameworks, Claro moves well beyond async/await. Claro’s declarative, DAG-based structured concurrency model is the first of its kind in a programming language - statically guaranteeing that programs are: Non-blocking Data-race free Deadlock free Optimally scheduled Scaleable by default","breadcrumbs":"Welcome to Claro! » Fearless Concurrency","id":"3","title":"Fearless Concurrency"},"30":{"body":"Now, we'll simply add a new build target for our Hello World program to the existing BUILD file that was generated as part of the starter project. Fig 3: load(\"@claro-lang//:rules.bzl\", \"claro_binary\") claro_binary( name = \"demo_bin\", main_file = \"demo.claro\", resources = { \"Input\": \"input.txt\", }\n) claro_binary( name = \"hello_world\", main_file = \"hello_world.claro\",\n)","breadcrumbs":"Getting Started! » Your First Program » Declare a New claro_binary(...) Target in Your BUILD File","id":"30","title":"Declare a New claro_binary(...) Target in Your BUILD File"},"31":{"body":"That's all there is to it! Now you can use the following command to have Bazel build and then run your program: Note: The below recording was made with asciinema - try pausing and copying any text. Congratulations! You just wrote and executed your first Claro program entirely from scratch!","breadcrumbs":"Getting Started! » Your First Program » Now Execute Your Program!","id":"31","title":"Now Execute Your Program!"},"32":{"body":"Notice that when you used bazel run ... to run your executable build target, Bazel produced a bunch of INFO: ... logs related to the build process. Since the program built successfully, this is something that you can usually just ignore. However, if this extra noise bothers you, you can make use of Bazel's generated build artifacts to run the program directly, without any of Bazel's extra logging. Notice the very last line in Bazel's output: INFO: Running command line: bazel-bin/example/hello_world This is a script that can be directly invoked to run the built executable program locally. This is not a portable executable! Continue reading to learn how to generate a portable executable. Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Getting Started! » Your First Program » Avoiding Bazel's Extra Output","id":"32","title":"Avoiding Bazel's Extra Output"},"33":{"body":"As Claro is a JVM language, you can easily generate a self-contained Jar file that can be run anywhere that a JVM is installed. Generate the \"Deploy Jar\" by appending _deploy.jar to the end of any claro_binary() build target, and can then run it using java -jar ... as you would any executable Jar: Note: The below recording was made with asciinema - try pausing and copying any text. Warning: The `java -jar ...` command demonstrated above will make use of your local Java installation. Assuming that you've kept the flag `common --java_runtime_version=remotejdk_11` in your .bazelrc as described in the previous section, you may have been running Claro programs without even manually installing Java, meaning that this command will fail. Generally speaking, you shouldn't worry about this as it's encouraged to use `bazel run ...` during local development anyway.","breadcrumbs":"Getting Started! » Your First Program » Generating a Portable Executable (\"Deploy Jar\")","id":"33","title":"Generating a Portable Executable (\"Deploy Jar\")"},"34":{"body":"Now, the Hello World program that you wrote in the previous section was extremely simple - just a one-liner in a single file. Let's add a tiny bit more functionality to your first program as an excuse to learn about Claro's Module System! Taking inspiration from the starter project's demo program, which printed the following to stdout: ---------------------- | LOOK MA, NO HANDS! | ---------------------- we'll extend our hello_world.claro program to also print out the classic greeting in the same boxed styling. We could of course just copy-paste the demo program's wrapInBox function into hello_world.claro, but instead, in order to avoid having multiple implementations of the same function that could drift over time, we'll walk through the process of refactoring both programs so that each can share a single function implementation as a common dependency.","breadcrumbs":"Getting Started! » Intro to Modules » Intro to Modules","id":"34","title":"Intro to Modules"},"35":{"body":"First thing first, create the file //example:styling.claro to hold the wrapInBox function definition: Fig 1: function wrapInBox(s: string) -> string { var line = strings::repeated(\"-\", len(s) + 4); return \"{line}\\n| {s} |\\n{line}\";\n}","breadcrumbs":"Getting Started! » Intro to Modules » Create //example:styling.claro","id":"35","title":"Create //example:styling.claro"},"36":{"body":"Claro Modules are extremely flexible by design (we'll only begin to scratch the surface here) and in order to achieve that flexibility a Module API file is used to declare which definitions are exported to consumers of the Module. Any definition not listed in the Module API file is \"private\" by default. In this case we just have the one function definition so we'll add its signature to the new file styling.claro_module_api (the only naming requirement here is that it must end with the .claro_module_api suffix). Fig 2: # Wraps the given string in a \"box\" of dashes.\n# E.g.\n# Input:\n# \"Foo\"\n# Output:\n# -------\n# | Foo |\n# -------\nfunction wrapInBox(s: string) -> string; As a general rule of thumb, when working in a Claro project, you should prioritize writing documentation for anything exported in a Module API file. And when reading code, it's advisable to spend most of your time primarily referencing Module API files rather than their corresponding source files, unless of course you are curious to understand the implementation. Your project should now have the following structure: Fig 3: demo\n|-- .bazelrc\n|-- .bazelversion\n|-- MODULE.bazel\n|-- README.md\n`-- example |-- BUILD |-- demo.claro |-- hello_world.claro |-- input.txt |-- styling.claro `-- styling.claro_module_api 1 directory, 10 files","breadcrumbs":"Getting Started! » Intro to Modules » Define a Module API File","id":"36","title":"Define a Module API File"},"37":{"body":"The final step in defining a Module in Claro is defining a claro_module(...) build target. Add the following to your BUILD file to create a Module by declaring explicitly that the styling.claro file implements the interface declared by styling.claro_module_api: Fig 4: load(\"//:rules.bzl\", \"claro_binary\", \"claro_module\") # <-- New claro_binary( name = \"demo_bin\", main_file = \"demo.claro\", resources = { \"Input\": \"input.txt\", }\n) claro_binary( name = \"hello_world\", main_file = \"hello_world.claro\", deps = { # <-- New \"Style\": \":styling\", },\n) claro_module( # <-- New name = \"styling\", module_api_file = \"styling.claro_module_api\", srcs = [\"styling.claro\"],\n)","breadcrumbs":"Getting Started! » Intro to Modules » Add a claro_module(name = \"styling\", ...) Build Target","id":"37","title":"Add a claro_module(name = \"styling\", ...) Build Target"},"38":{"body":"The load(...) statement also needed to be updated to include the newly used claro_module Build Rule.","breadcrumbs":"Getting Started! » Intro to Modules » Updated load(...) Statement","id":"38","title":"Updated load(...) Statement"},"39":{"body":"Claro handles dependencies entirely within Bazel BUILD files, and .claro source files themselves do not have any mechanism for the traditional import style that you will have gotten accustomed to in other languages. This is the key to Claro's extremely flexible Module system and provides many powerful advantages over the traditional import style, but we won't get any further into that here. For now, just note that claro_*() Build targets all accept an (optional) deps = {: } map that explicitly declares and names any dependencies the current compilation unit has on any other Module. Note that the consuming compilation unit is free to choose any name to refer to the Module(s) that it depends on. Here we've chosen to name the //example:styling Module Style.","breadcrumbs":"Getting Started! » Intro to Modules » Added an Explicit Dependency on //example:styling","id":"39","title":"Added an Explicit Dependency on //example:styling"},"4":{"body":"Strict separation between data and functionality Mutability tracked at the type system level Extremely flexible built in algebraic data types Model arbitrary data structures with zero boilerplate","breadcrumbs":"Welcome to Claro! » Data Oriented","id":"4","title":"Data Oriented"},"40":{"body":"Now we're finally ready to update our Hello World program to wrap its output in a box using its new module dependency! Update hello_world.claro to: Fig 5: print(Style::wrapInBox(\"Hello, World!\"));","breadcrumbs":"Getting Started! » Intro to Modules » Update hello_world.claro to Use Style::wrapInBox","id":"40","title":"Update hello_world.claro to Use Style::wrapInBox"},"41":{"body":"Note: The below recording was made with asciinema - try pausing and copying any text.","breadcrumbs":"Getting Started! » Intro to Modules » Now Execute Your Updated Hello World!","id":"41","title":"Now Execute Your Updated Hello World!"},"42":{"body":"Using what you've learned, it should now be straightforward to update //example:demo_bin to also depend on the newly defined Module so that there's only a single definition of the wrapInBox function in your project.","breadcrumbs":"Getting Started! » Intro to Modules » On Your Own: Update //example:demo_bin to Use the New Module","id":"42","title":"On Your Own: Update //example:demo_bin to Use the New Module"},"43":{"body":"This will be a good way to test your understanding of how Claro and Bazel work together. Hint: You can move the Module definition anywhere in the project that you want, but you'll need to update the deps = {...} declarations to reference its new location.","breadcrumbs":"Getting Started! » Intro to Modules » On Your Own: Refactor //example:styling to its Own Directory","id":"43","title":"On Your Own: Refactor //example:styling to its Own Directory"},"44":{"body":"","breadcrumbs":"Common Programming Concepts » Common Programming Concepts","id":"44","title":"Common Programming Concepts"},"45":{"body":"Claro is a statically-compiled, strictly typed language. Practically speaking, this means that the type of all variables must be statically determined upon declaration of the variable, and may never change thereafter. Claro has several builtin \"primitive\" types representing generally small or low-level \"value types\" that are immutable to the programmer. They are referred to as \"primitive\" because they are foundational to the language's type system, and make up the basic building blocks of which every other type in the language is just some structured combination. Values of these primitive types are generally cheap to allocate on the stack, and are passed as copies to other functions (strings, being handled in typical JVM fashion, are actually heap allocated with references to strings passed instead of copying the value itself). The supported set of primitives are: int, long, float, double, boolean, string, char. The example below shows how you'd define variables to represent values of each type: Fig 1: var i: int = 10; # Any whole number from -2^31 to 2^31-1.\nvar l: long = 10L; # Any whole number from -2^63 to 2^63-1.\nvar f: float = 1.15F; # A single-precision 32-bit IEEE 754 floating point number.\nvar d: double = 1.15; # A double-precision 64-bit IEEE 754 floating point number.\nvar b: boolean = true; # true or false.\nvar s: string = \"very first string\"; # An immutable sequence of chars. Heap allocated.\nvar c: char = 'a'; # A single 16-bit Unicode character. To break the syntax down further: var : Keyword introducing / declaring a new variable. b : the name we chose for this particular var. : : a syntactic divider between a variable's name and its type. boolean : the type of the variable, which constrains the domain of values which this variable may hold.","breadcrumbs":"Common Programming Concepts » Variables & Primitive Types » Variables & Primitive Types","id":"45","title":"Variables & Primitive Types"},"46":{"body":"The previous example demonstrates the simultaneous declaration and initialization of a new variable and its initial value. It is also possible to delay initialization to happen independently of declaration. Fig 1: var i: int;\ni = 10; (Note: this is particularly useful when you may want to initialize to different values in different branches of an if-else chain for example.)","breadcrumbs":"Common Programming Concepts » Separate Variable Declaration & Initialization » Separate Variable Declaration & Initialization","id":"46","title":"Separate Variable Declaration & Initialization"},"47":{"body":"By definition, the value represented by a variable may vary, or change, over time throughout the program: Fig 1: var s: string = \"Hello\";\nprint(s); s = \"goodbye\";\nprint(s); Output: Hello\ngoodbye","breadcrumbs":"Common Programming Concepts » Variable Reassignment » Variable Reassignment","id":"47","title":"Variable Reassignment"},"48":{"body":"Claro has only a few control flow structures at the current moment. These structures allow programs to execute code both conditionally and repeatedly. The only thing to keep an eye on, coming from a dynamic language like Python, is that Claro will statically validate that do not misuse conditional execution to run code that may attempt to use a variable before initialization. The examples in the following sections will also demonstrate invalid code that Claro throw a compile-time error on.","breadcrumbs":"Common Programming Concepts » Control Flow » Control Flow","id":"48","title":"Control Flow"},"49":{"body":"Fig 1: var rng = random::forSeed(1);\nvar r = random::nextNonNegativeBoundedInt(rng, 100); var s: string;\nif (r < 33) { # Curly braces are mandatory. s = \"small\";\n} else if (r < 66) { s = \"medium\";\n} else { s = \"large\";\n} print(s); # Prints \"small\", \"medium\", or \"large\". Output: large Possible use of an uninitialized variable is a compile-time error: Fig 2: var rng = random::forSeed(1);\nvar r = random::nextNonNegativeBoundedInt(rng, 100); var s: string;\nif (r < 33) { s = \"red\";\n} else if (r < 66) { s = \"green\";\n} print(s); # `s` is uninitialized if r >= 66. Compilation Errors: if_else_EX2_example.claro:11: Variable may not have been initialized!\nprint(s); # `s` is uninitialized if r >= 66. ^\nWarning! The following declared symbols are unused! [s]\n2 Errors Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Common Programming Concepts » Control Flow » If-Else » If-Else","id":"49","title":"If-Else"},"5":{"body":"Bi-directional type inference Robust standard library Builtin external package manager Build time metaprogramming","breadcrumbs":"Welcome to Claro! » Unapologetically Practical","id":"5","title":"Unapologetically Practical"},"50":{"body":"Fig 1: var i = 0;\nwhile (i < 10) { print(i++);\n} Output: 0\n1\n2\n3\n4\n5\n6\n7\n8\n9 Possible use of an uninitialized variable is a compile-time error: Fig 4: var s: string;\nwhile (input(\"Should `s` be initialized? (Y/n)\") == \"Y\") { s = input(\"Enter the value for `s`:\");\n}\nprint(s); Compilation Errors: while_EX4_example.claro:5: Variable may not have been initialized!\nprint(s); ^\nWarning! The following declared symbols are unused! [s]\n2 Errors","breadcrumbs":"Common Programming Concepts » Control Flow » While » While Loops","id":"50","title":"While Loops"},"51":{"body":"You can exit a loop early by using the break keyword as below. Fig 2: var i = 0;\nwhile (i < 10) { if (i == 5) { break; } print(i++);\n} Output: 0\n1\n2\n3\n4","breadcrumbs":"Common Programming Concepts » Control Flow » While » Exiting a While Loop Early","id":"51","title":"Exiting a While Loop Early"},"52":{"body":"You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below. Fig 3: var i = 0;\nwhile (i < 10) { if (i % 2 == 0) { ++i; continue; } print(i++);\n} Output: 1\n3\n5\n7\n9","breadcrumbs":"Common Programming Concepts » Control Flow » While » Skipping to the Next Iteration of the While Loop","id":"52","title":"Skipping to the Next Iteration of the While Loop"},"53":{"body":"For loops in Claro are closely analogous to Java's \"enhanced for-loops\" . They enable you to easily iterate over the elements of a collection.","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loops","id":"53","title":"For Loops"},"54":{"body":"Fig 1: for (e in [1, 2, 3, 4, 5]) { print(e);\n} Output: 1\n2\n3\n4\n5","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loop Over Lists","id":"54","title":"For Loop Over Lists"},"55":{"body":"Fig 2: for (e in {1, 2, 3}) { print(e);\n} Output: 1\n2\n3","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loop Over Sets","id":"55","title":"For Loop Over Sets"},"56":{"body":"Iterating over the elements of a map of type {K: V} using the for-loop construct will yield a loop variable whose type is tuple: Fig 3: for (e in {'a': 1, 'b': 2, 'c': 3}) { print(\"Key: {e[0]} - Val: {e[1]}\");\n} Output: Key: a - Val: 1\nKey: b - Val: 2\nKey: c - Val: 3","breadcrumbs":"Common Programming Concepts » Control Flow » For » For Loop Over Maps","id":"56","title":"For Loop Over Maps"},"57":{"body":"For loops over tuples are not currently supported as it's unclear what the appropriate behavior would be iterating over\na collection of heterogeneous types. It's possible that in the future support may be added for a loop variable whose\ntype is oneof<...all unique types in the tuple...> but there are no current plans for prioritizing this.","breadcrumbs":"Common Programming Concepts » Control Flow » For » Note 1 :","id":"57","title":"Note 1 :"},"58":{"body":"Possible use of an uninitialized variable is a compile-time error: Fig 4: $$random::create()\n$$ |> random::nextNonNegativeBoundedInt(^, 10)\n$$ |> var r = ^;\n$$var l: mut [int] = mut [];\n$$while (r-- > 0) {\n$$ lists::add(l, r);\n$$}\n$$\nvar s: int;\nfor (elem in l) { # <-- `l` could be empty. s = elem;\n}\nprint(s); Compilation Errors: for_EX4_example.claro:13: Variable may not have been initialized!\nprint(s); ^\nWarning! The following declared symbols are unused! [s]\n2 Errors","breadcrumbs":"Common Programming Concepts » Control Flow » For » Note 2 :","id":"58","title":"Note 2 :"},"59":{"body":"You can exit a loop early by using the break keyword as below. Fig 5: for (e in [1, 2, 3, 4, 5]) { if (e == 3) { break; } print(e);\n} Output: 1\n2","breadcrumbs":"Common Programming Concepts » Control Flow » For » Exiting a For Loop Early","id":"59","title":"Exiting a For Loop Early"},"6":{"body":"Incremental compilation out of the box Code reuse made simple Develop codebases of any size without devolving into a spaghetti labyrinth","breadcrumbs":"Welcome to Claro! » Designed to Scale with You","id":"6","title":"Designed to Scale with You"},"60":{"body":"You can also skip ahead to the loop's next iteration by using the 'continue' keyword as below. Fig 6: for (e in [1, 2, 3, 4, 5]) { if (e % 2 == 0) { continue; } print(e);\n} Output: 1\n3\n5","breadcrumbs":"Common Programming Concepts » Control Flow » For » Skipping to the Next Iteration of the For Loop","id":"60","title":"Skipping to the Next Iteration of the For Loop"},"61":{"body":"Repeat loops in Claro enable you to easily repeat a task some number of times: Fig 1: repeat (5) { print(\"Repeating...\");\n} Output: Repeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating... The loop count can be computed at runtime: Fig 2: var loopCount = random::nextNonNegativeBoundedInt(random::create(), 10); repeat (loopCount) { print(\"Repeating...\");\n} Output: Repeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating...\nRepeating...","breadcrumbs":"Common Programming Concepts » Control Flow » Repeat » Repeat Loops","id":"61","title":"Repeat Loops"},"62":{"body":"Piping is a control flow mechanism that is not common to all languages, but is truly just syntactic sugar (one of the few pure-sugar features in the language). Piping gives you a mechanism to decompose deeply nested function calls into a linear chain of operations that happen one after the other much like any other imperative code you're familiar with. The main thing to know is that on each line beginning with the \"pipe\" operator |>, the token ^ (known as the \"backreference\" operator) refers to the value of the expression before the pipe operator. It is intended that the ^ operator, visually resembles an arrow pointing upwards to the value produced on the line above. Fig 1: [\"Claro\", \"piping\", \"is\", \"so\", \"cool\"] |> [^[0], ^[len(^) - 1]] # <-- Get the first and last element of the list. |> strings::join(\" is damn \", ^) |> \"{^}! I'll say it again... {^}!!\" # <-- Can backreference prev value more than once. |> print(^); Output: Claro is damn cool! I'll say it again... Claro is damn cool!! Compare to the alternative code without piping. Notice how use of piping in the above example even allows elimination of multiple temporary variables - this is a powerful motivator for using pipelining as it's well known that naming is one of the two hard problems in computer science : Fig 2: # With piping, these temporary vars are unnecessary.\nvar nonPipingSource = [\"Claro\", \"piping\", \"is\", \"so\", \"cool\"]; var joinedTmp = strings::join( \" is damn \", [nonPipingSource[0], nonPipingSource[len(nonPipingSource) - 1]] ); print(\"{joinedTmp}! I'll say it again... {joinedTmp}!!\"); Output: Claro is damn cool! I'll say it again... Claro is damn cool!!","breadcrumbs":"Common Programming Concepts » Control Flow » Pipes » Pipes","id":"62","title":"Pipes"},"63":{"body":"It's worth noting that the primary motivation for pipelining support in Claro is to take what could otherwise be highly nested procedure calls whose data flow conceptually runs \"inside-out\", and allow it to instead be written in a style that has the data flowing in the same linear direction as the textual source code itself. As such, Claro's pipelines introduce a concept of \"source\" and \"sink\". The \"source\" is the initial expression (data) that conceptually \"enters the pipeline\" and the \"sink\" is some terminal statement that consumes the data that \"comes out of the end of the pipeline\". This means that the pipeline's sink can be any valid Claro statement that uses the value computed by the penultimate step in the pipeline. Notice how the following variable assignment allows data to flow top-to-bottom in the same direction as the source code is written textually: Fig 3: [\"Hello\", \"world!\"] |> [strings::toUpperCase(s) | s in ^] |> strings::join(\", \", ^) |> var greeting = ^; print(greeting); Output: HELLO, WORLD! whereas, very confusingly, the non-pipelining style has source code written top-to-bottom, but yet the data is effectively flowing in a circuitous route from bottom-to-top and then back down again. Fig 4: var greeting = strings::join( \", \", [strings::toUpperCase(s) | s in [\"Hello\", \"world!\"]] ); print(greeting); Output: HELLO, WORLD! This may be something that we all get used to in other languages, but it's certainly an obstacle to readability particularly for new programmers.","breadcrumbs":"Common Programming Concepts » Control Flow » Pipes » Textually Linear Data Flow","id":"63","title":"Textually Linear Data Flow"},"64":{"body":"Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to\nbe addressed). More to come! In addition to the typical if-else style branching construct, Claro offers a more powerful construct called \"Pattern Matching\". In its simplest form, Pattern Matching can simply be used as a more concise replacement for if-else chains. Compare the following if-else chain: Fig 1: $$var x = 2;\n$$\nvar sizeStr: string;\nif (x <= 1) { sizeStr = \"small\";\n} else if (x == 2) { sizeStr = \"medium\";\n} else { sizeStr = \"large\";\n}\n$$\n$$print(sizeStr); with the comparable match-statement: Fig 2: $$var x = 2;\n$$\nvar sizeStr: string;\nmatch (x) { case 1 -> sizeStr = \"small\"; case 2 -> sizeStr = \"medium\"; case _ -> sizeStr = \"large\";\n}\n$$\n$$print(sizeStr); The match statement takes in a single expression of any type, to be compared against the given cases clauses in order - the first one to successfully match is executed (there is no fallthrough like in a Java or C++ style switch).","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Pattern Matching","id":"64","title":"Pattern Matching"},"65":{"body":"The example above makes use of a \"default\" case that will match anything that the cases preceding it didn't match. Fig 3: $$var x = 2;\n$$\n$$var sizeStr: string;\n$$match (x) {\n$$ case 1 -> sizeStr = \"small\";\n$$ case 2 -> sizeStr = \"medium\"; case _ -> sizeStr = \"large\";\n$$}\n$$\n$$print(sizeStr); In the context of pattern matching, the _ token represents a \"wildcard\" pattern. Learn more about this in the Wildcard Patterns section .","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » \"Default\" Case","id":"65","title":"\"Default\" Case"},"66":{"body":"When a case is matched, the associated code block following the -> and preceding the next case (or until the overall closing }) will all be executed. This code block can contain any number of statements. Fig 4: $$var x = 2;\n$$\n$$var sizeStr: string;\n$$match (x) {\n$$ case 1 ->\n$$ sizeStr = \"small\"; case 2 -> print(\"More than one line of code is valid.\"); sizeStr = \"medium\";\n$$ case _ ->\n$$ sizeStr = \"large\";\n$$}\n$$\n$$print(sizeStr); Output: More than one line of code is valid.\nmedium","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Multi-Statement Cases","id":"66","title":"Multi-Statement Cases"},"67":{"body":"While this may seem like an arbitrary restriction, this is actually necessary in order to ensure that Claro's static\nexhaustiveness and case reachability checks are actually guaranteed to be correct. Technically, it would be possible for\nClaro to loosen this restriction, but this is a conscious, opinionated design choice to limit the number of special cases to keep in mind when writing or reading a match statement. The following is invalid: Fig 5: var x = # ...\n$$ 2;\nmatch (2) { case x -> print(\"Matched variable {x}\"); case 1 -> print(\"1!\"); case _ -> print(\"default!\");\n} Compilation Errors: match_EX5_example.claro:4: Wildcard Binding Shadows Declared Variable: Names of wildcard bindings in Match case patterns must not shadow any already-declared variable in scope. case x -> print(\"Matched variable {x}\"); ^\nmatch_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.\nmatch (2) { ^\nmatch_EX5_example.claro:3: Illegal Duplicate Match Case: All case patterns should be unique within a match block.\nmatch (2) { ^\nmatch_EX5_example.claro:3: Illegal Match Containing Multiple Default Cases: Each match block should contain at most one case matching the `_` wildcard.\nmatch (2) { ^\n4 Errors Note: Claro's error messaging is a work in progress - the above error message will be improved.","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Patterns Must Not Reference Existing Variables","id":"67","title":"Patterns Must Not Reference Existing Variables"},"68":{"body":"Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to\nbe addressed). More to come! Pattern Matching is much more than just a classic C-style switch statement. In particular, it can be used to match arbitrarily structured data. Fig 1: var employee = {name = \"Bob\", title = \"Intern\"}; var permission: boolean;\nmatch (employee) { case {name = \"Sarah\", title = \"Manager\"} -> permission = true; case {name = \"Joe\", title = \"Manager\"} -> permission = true; case _ -> permission = false;\n} print(\"Permission granted for {employee.name}?: {permission}\"); Output: Permission granted for Bob?: false","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Matching Structured Data » Matching Structured Data","id":"68","title":"Matching Structured Data"},"69":{"body":"Claro supports pattern matching over arbitrary (i.e. tuple<...> and struct{...}) structured types as their structures are fully known at compile time. Fig 2: var player = {name = \"Jason\", currLoc = (1, 2)}; match (player) { case {name = \"Sarah\", currLoc = (3, 4)} -> print(\"Sarah wins!\"); case {name = \"Jason\", currLoc = (1, 2)} -> print(\"Jason wins!\"); case _ -> print(\"Keep playing...\");\n} Output: Jason wins!","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Matching Structured Data » Matching Arbitrarily Nested Structured Types","id":"69","title":"Matching Arbitrarily Nested Structured Types"},"7":{"body":"Claro is in active development and is not yet ready for production use . While Claro has been in active development for more than 3 years, its design and implementation has been done entirely by its single maintainer, Jason Steving - while the foundation has been laid, contributions are welcome! Anyone with interest is actively encouraged to reach out and get involved!","breadcrumbs":"Welcome to Claro! » Actively In Development","id":"7","title":"Actively In Development"},"70":{"body":"Note: Pattern Matching support is currently only partway through it's planned feature support (and has some open bugs to\nbe addressed). More to come! The utility of Pattern Matching is dramatically increased by making use of wildcards. For example, they enable the below match with cases that only specify partial matches and then bind matched values to a variable: Fig 1: newtype Square : int\nnewtype Rectangle : struct {height: int, width: int}\nnewtype Line : int consumer printShapeArea(shape: oneof) { var area: int; match (shape) { case Rectangle({height = H:int, width = W:int}) -> area = H * W; case Square(W:int) -> area = W * W; case _ -> area = 0; } print(\"Area of {shape}: {area}\");\n} printShapeArea(Square(2));\nprintShapeArea(Rectangle({height = 10, width = 10}));\nprintShapeArea(Line(2)); Output: Area of Square(2): 4\nArea of Rectangle({height = 10, width = 10}): 100\nArea of Line(2): 0 The syntax W:int is a \"wildcard binding\" that matches any int value and declares a variable that the int will be assigned to in the case code block.","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Wildcard Patterns » Wildcard Patterns","id":"70","title":"Wildcard Patterns"},"71":{"body":"Cases are semantically matched in the order that they appear in the source code. This means that it's possible to define unreachable cases if the cases above already cover the pattern: Note: Claro's error messaging is a work in progress - the below error message will be improved. Fig 2: var t = (1, 2);\nmatch (t) { case (1, 3) -> # ...\n$$ print(\"(1, 3)\"); case (_, 2) -> # ...\n$$ print(\"(_, 2)\"); case (1, 2) -> # <-- This is unreachable.\n$$ print(\"(1, 2)\"); case _ -> # ...\n$$ print(\"_\");\n} Compilation Errors: wildcards_EX2_example.claro:2: Illegal Duplicate Match Case: All case patterns should be unique within a match block.\nmatch (t) { ^\n1 Error Simply changing the ordering of the cases above will fix this problem: Fig 3: var t = (1, 2);\nmatch (t) { case (1, 3) -> print(\"(1, 3)\"); case (1, 2) -> print(\"(1, 2)\"); case (_, 2) -> print(\"(_, 2)\"); case _ -> print(\"_\");\n} Output: (1, 2)","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Wildcard Patterns » Case Ordering and Wildcards","id":"71","title":"Case Ordering and Wildcards"},"72":{"body":"Pattern Matching is not just convenient syntax sugar. By using a match statement instead of an if-else chain, Claro is able to statically validate that every possible case is exhaustively handled by some case. For example, the following match over a value of type oneof is missing a case to handle the Green atom and Claro rejects the match at compile-time: Fig 1: $$atom Red\n$$atom Yellow\n$$atom Green\n$$\nvar lightColor: oneof = Green; var lightColorStr: string;\nmatch (lightColor) { case _:Red -> lightColorStr = \"red\"; case _:Yellow -> lightColorStr = \"yellow\";\n} print(lightColorStr); Compilation Errors: exhaustiveness_checks_EX1_example.claro:8: Non-exhaustive Match: The given cases do not match every possible value of the matched type `oneof`. For example the following case is unhandled: case _:Green -> ...; You can also ensure that all possible cases are being handled by adding a final fallback case as below: case _ -> ...;\nmatch (lightColor) { ^^^^^^^^^^\n1 Error By following the suggestion in the error message above, we can fix the program: Fig 2: $$atom Red\n$$atom Yellow\n$$atom Green\n$$\nvar lightColor: oneof = Green; var lightColorStr: string;\nmatch (lightColor) { case _:Red -> lightColorStr = \"red\"; case _:Yellow -> lightColorStr = \"yellow\"; case _:Green -> lightColorStr = \"green\";\n} print(lightColorStr); Output: green","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Static Exhaustiveness Checks » Static Exhaustiveness Checks","id":"72","title":"Static Exhaustiveness Checks"},"73":{"body":"The above example is fairly trivial, just validating that all oneof type variants are handled. However, Claro's exhaustiveness checks are fairly sophisticated, and should be able to catch mistakes in much more complicated scenarios: Fig 3: newtype Foo : T\nvar myStruct2 = {a = {x = 1, y = \"ninety-nine\"}, z = Foo(true)}; match (Foo(myStruct2)) { case Foo({a = {x = 1, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = {x = 3, y = \"zero\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"zero\\\"}, z = Foo(false)})\"); case Foo({a = {x = 1, y = _}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = _}, z = Foo(false)})\"); case Foo({a = {x = _, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = _, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = A, z = Foo(true)}) -> print(\"Foo(\\{a = A, z = Foo(true)}) where A = {A}\"); case Foo({a = {x = 3, y = \"six\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"six\\\"}, z = Foo(false)})\");\n} Compilation Errors: exhaustiveness_checks_EX3_example.claro:4: Non-exhaustive Match: The given cases do not match every possible value of the matched type `Foo}>`. For example the following case is unhandled: case Foo({a = {x = _, y = _}, z = Foo(false)}) -> ...; You can also ensure that all possible cases are being handled by adding a final fallback case as below: case _ -> ...;\nmatch (Foo(myStruct2)) { ^^^^^^^^^^^^^^\n1 Error Again, following the suggestion from the error message, we can fix the program: Fig 4: newtype Foo : T\nvar myStruct2 = {a = {x = 1, y = \"ninety-nine\"}, z = Foo(true)}; match (Foo(myStruct2)) { case Foo({a = {x = 1, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = {x = 3, y = \"zero\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"zero\\\"}, z = Foo(false)})\"); case Foo({a = {x = 1, y = _}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 1, y = _}, z = Foo(false)})\"); case Foo({a = {x = _, y = \"two\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = _, y = \\\"two\\\"}, z = Foo(false)})\"); case Foo({a = A, z = Foo(true)}) -> print(\"Foo(\\{a = A, z = Foo(true)}) where A = {A}\"); case Foo({a = {x = 3, y = \"six\"}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = 3, y = \\\"six\\\"}, z = Foo(false)})\"); # Adding the case suggested by the prior error message. case Foo({a = {x = _, y = _}, z = Foo(false)}) -> print(\"Foo(\\{a = \\{x = _, y = _}, z = Foo(false)})\");\n} Output: Foo({a = A, z = Foo(true)}) where A = {x = 1, y = ninety-nine} Note: Claro's suggestions for resolving non-exhaustiveness match statements are intelligent and reliable, but Claro will only warn about a single missing case example at a time (even if there are multiple unhandled cases). You may have to apply multiple suggestions in succession, but simply following the suggestions will definitely (eventually) lead to a fully exhaustive match statement.","breadcrumbs":"Common Programming Concepts » Control Flow » Pattern Matching » Static Exhaustiveness Checks » Non-Trivial Exhaustiveness Checks Example","id":"73","title":"Non-Trivial Exhaustiveness Checks Example"},"74":{"body":"Claro takes direct inspiration from Python's powerful \"Comprehensions\" syntax to provide powerful single-expression operation to encode the common pattern of iterating some collection's elements and putting them into a new collection after potentially filtering and transforming the elements. This allows you to do complex initializations of both mutable and immutable collections directly in-line without having to drop down to multi-line initialization using some form of loop.","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Collection Comprehension","id":"74","title":"Collection Comprehension"},"75":{"body":"Compare the following loop-based initialization: Fig 1: var mutList: mut [string] = mut [];\nfor (x in [1, 3, 99, 2, 1]) { if (x <= 10) { lists::add(mutList, strings::repeated(\"*\", x)); }\n}\nprint(mutList); Output: mut [*, ***, **, *] with the List Comprehension based alternative: Fig 2: # The `|` below is read either \"for\" or \"given\".\nvar mutList = mut [strings::repeated(\"*\", x) | x in [1, 3, 99, 2, 1] where x <= 10];\nprint(mutList); Output: mut [*, ***, **, *] As you can see, taking the time to get comfortable with Comprehension expressions can serve to significantly simplify your code. Optional : it may be useful to read a bit about the \"Set Builder Notation\" that inspires this syntax in both Claro and Python.","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » List Comprehension","id":"75","title":"List Comprehension"},"76":{"body":"The same convenient Comprehension-based initialization is also supported for Sets. Simply swap the square brackets [...] for curly braces {...}: Fig 3: var immutableSet = {strings::repeated(\"*\", x) | x in [1, 3, 99, 2, 1] where x <= 10};\nprint(immutableSet); Output: {**, *, ***} Notice now, even though the same mapping and filtering is done over the same input collection as in the list comprehension examples above, the output here does not duplicate the entry \"*\" as Set Comprehension honors set semantics. (However, to be very explicit, strings::repeated(\"*\", 1) was called twice).","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Set Comprehension","id":"76","title":"Set Comprehension"},"77":{"body":"And finally, Comprehension-based initialization is also supported for Maps. Again, use curly braces {...} instead of square brackets [...], but this time a colon-separated key-value entry is computed from the input collection instead of a single value: Fig 4: var mutMap = mut {x : strings::repeated(\"*\", x) | x in [1, 3, 99, 2] where x <= 10};\nprint(mutMap); Output: mut {1: *, 2: **, 3: ***} Warning : Map Comprehension will Panic at runtime if you attempt to create multiple entries yielding the same key. It's still up for debate whether this is desirable behavior - it's possible that this may be updated to some other model such as \"last entry wins\". TBD.","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Map Comprehension","id":"77","title":"Map Comprehension"},"78":{"body":"While the previous section emphasized the ergonomic and simplifying qualities of Comprehensions, it should be explicitly stated that this construct is not just syntax sugar . Specifically, there is no other way in the language to directly initialize a List/Set/Map with size and elements determined dynamically at runtime without incurring an extra copy : Fig 1: var mutList: mut [string] = mut [];\nfor (x in [1, 3, 99, 2, 1]) { if (x <= 10) { lists::add(mutList, strings::repeated(\"*\", x)); }\n} # Claro is automatically coercing the copied list to be immutable.\nvar immutableList: [string] = copy(mutList);\nprint(immutableList); Output: [*, ***, **, *] Using List Comprehension instead not only produces much simpler code, but will also allow you to drop the unnecessary copy: Fig 2: var immutableList = [strings::repeated(\"*\", x) | x in [1, 3, 99, 2, 1] where x <= 10];\nprint(immutableList); Output: [*, ***, **, *] Note : Read more about Claro's built-in copy(...) operator here (TODO(steving)).","breadcrumbs":"Common Programming Concepts » Control Flow » Collection Comprehension » Comprehension is More Than Syntax Sugar » Comprehension is More Than Syntax Sugar","id":"78","title":"Comprehension is More Than Syntax Sugar"},"79":{"body":"Claro is a statically typed, compiled programming language. This means that if you attempt to assign a value of the wrong type to a variable, Claro will emit a compiler error asking for a correction before your program will be able to run. This will prevent you from waiting until runtime to find many program errors. Fig 1: var s: string = 100.55; Compilation Errors: static_typing_EX1_example.claro:1: Invalid type: Found: double Expected: string\nvar s: string = 100.55; ^^^^^^\n1 Error","breadcrumbs":"Types » Types","id":"79","title":"Types"},"8":{"body":"Fig 1: print(\"Hello, world!\"); Output: Hello, world! As you can already see from the most minimal program possible, Claro programs eliminate unnecessary boilerplate. Every Claro program is simply a sequence of statements that are executed from top-to-bottom as if it were a \"script\". You don't need to specify a \"main\" method\" as in other languages like Java, instead, much like Python, you simply specify a starting file which will execute top-down at program start.","breadcrumbs":"Hello, World » Hello, World!","id":"8","title":"Hello, World!"},"80":{"body":"Claro also rounds out its builtin types with a small set of convenient collection types that allow you to manipulate many values using a single variable. These are provided as builtins for your convenience, but their implementations have been hand selected to cover the majority of your general purpose programming use cases.","breadcrumbs":"Types » Builtin Collections » Builtin Collections","id":"80","title":"Builtin Collections"},"81":{"body":"Unlike many other languages (e.g. Java/C++/etc.) that require a formal declaration of any type before it can be instantiated, Claro's builtin collections can all be simply instantiated at will as if the type already exists. For example, any struct-like collection of named fields in Java would first require the declaration of a class, and potentially the declaration of other things like a constructor, hashCode() and equals() implementations. In Claro, you simply skip all the boilerplate. For example, the following Claro procedure declares a struct {row: int, col: int} inline as the function's return type and doesn't need any top-level declaration of that type before it's used: Fig 1: function findInNestedList(l: [[T]], t: T) -> struct {row: int, col: int} { var r = 0; for (row in l) { var c = 0; for (elem in row) { if (elem == t) { return {row = r, col = c}; # <-- Just instantiate the struct. } ++c; } ++r; } return {row = -1, col = -1};\n} [[1, 2], [3, 4], [5, 6]] |> findInNestedList(^, 4) |> print(^); Output: {row = 1, col = 1}","breadcrumbs":"Types » Builtin Collections » Ad-Hoc Declarations","id":"81","title":"Ad-Hoc Declarations"},"82":{"body":"All of Claro's builtin collection types come in either a mutable or immutable variant - by default, Claro will assume that any collection literals are intended to be immutable . Fig 2: var l = [1, 2, 3]; # Immutable list of ints.\nprint(l); # The below line would be illegal as `lists::add` expects a mutable list.\n# lists::add(l, 4); Output: [1, 2, 3] The following example demonstrates initialization of a mutable list of integers: Fig 3: var l = mut [1, 2, 3];\nprint(\"Before: {l}\"); lists::add(l, 4); # <-- Mutation happens here.\nprint(\"After: {l}\"); Output: Before: mut [1, 2, 3]\nAfter: mut [1, 2, 3, 4]","breadcrumbs":"Types » Builtin Collections » Mutability","id":"82","title":"Mutability"},"83":{"body":"Claro's mutability annotations are shallow by design so that you maintain fine-grained control over creating arbitrarily complex nested data structures that mix mutability and immutability as needed. The following examples demonstrate different combinations of nested mutability annotations: This example demonstrates a mutable list whose elements are immutable lists. Fig 4: var l: mut [[int]] = mut [];\nfor (i in [1, 2, 3]) { lists::add(l, [i, i]); # <-- Add an immutable list to the mutable list.\n}\nprint(l); Output: mut [[1, 1], [2, 2], [3, 3]] This example demonstrates an immutable list whose elements are mutable lists. Fig 5: var l: [mut [int]] = [mut [], mut [], mut []];\nvar i = 1;\nfor (mutList in l) { lists::add(mutList, i); # <-- Append an int to this inner mutable list. lists::add(mutList, i++);\n}\nprint(l); Output: [mut [1, 1], mut [2, 2], mut [3, 3]]","breadcrumbs":"Types » Builtin Collections » Mutability Annotations are Shallow","id":"83","title":"Mutability Annotations are Shallow"},"84":{"body":"This builtin support for mutability annotations allows Claro to enforce some very strong safety guarantees in concurrent contexts, so this is about more than just providing a convenient library of data types. See the Concurrency section in this book for more details on how Claro will statically leverage knowledge of whether a type is deeply immutable or not to prevent unsafe data races.","breadcrumbs":"Types » Builtin Collections » Data Race Safety via Deep Immutability","id":"84","title":"Data Race Safety via Deep Immutability"},"85":{"body":"The simplest collection type allows you to keep an arbitrary number of values in some ordering. The list is very much like a Python list in that it allows arbitrary appends, and random access to read values at a O-based index. Unlike Python, as Claro is statically typed, all values in the list must be of the same type, and this type must be pre-determined upon declaration of the variable which reference the list. Fig 1: var l: mut [int] = mut [1, 3, 7, 2, -115, 0];\nlists::add(l, 99);\nprint(len(l)); # 7\nprint(l[1] == l[0]); # false\nprint(l[6] == 99); # true Output: 7\nfalse\ntrue","breadcrumbs":"Types » Builtin Collections » Lists » Lists","id":"85","title":"Lists"},"86":{"body":"Lists support random-access indexing via traditional C-like syntax: Fig 2: var l = [1, 2];\nprint(l[0]);\nprint(l[1]); Output: 1\n2","breadcrumbs":"Types » Builtin Collections » Lists » Accessing List Elements","id":"86","title":"Accessing List Elements"},"87":{"body":"You can update the individual values stored at a particular list index via traditional C-like syntax: Fig 3: var l = mut [1, 2];\nl[0] = 99;\nprint(l); Output: mut [99, 2]","breadcrumbs":"Types » Builtin Collections » Lists » Mutable List Element Reassignment","id":"87","title":"Mutable List Element Reassignment"},"88":{"body":"As with most other languages that allow random-access to lists, you must be careful to always index into lists at valid positions. Any accesses of index, i, where i < 0 or i >= len(l) will result in the program Panicking (exiting in an unrecoverable way). var l = mut [1, 2];\nl[99] = 0; # <-- Panic: Index-out-of-Bounds! (Note: it's possible that as the language evolves, Claro may instead opt to make all list subscripting operations inherently safe by returning some structured result that models the possibility that the list index was invalid. This is ideal for safety, however, this would impose a global runtime overhead so the tradeoff is still being evaluated.)","breadcrumbs":"Types » Builtin Collections » Lists » Index-Out-Of-Bounds","id":"88","title":"Index-Out-Of-Bounds"},"89":{"body":"A large variety of list operations are available in the stdlib's lists module . For example, the previous exapmle added an element to the end of a mutable list by using the lists::add procedure whose signature is the following in the lists.claro_module_api file: # Appends the specified element to the end of this list.\nconsumer add(l: mut [T], toAdd: T);","breadcrumbs":"Types » Builtin Collections » Lists » Stdlib lists Module","id":"89","title":"Stdlib lists Module"},"9":{"body":"Claro is fundamentally designed around a deep integration with the extremely powerful Bazel build system - which enables Claro's incremental builds, external package management, extremely flexible module system, and build-time metaprogramming capabilities - so you'll need to do a bit of Bazel-related setup to prepare your Claro project. You'll only need to do this once ! Bazel does not mandate monorepo style development, but it really shines when used in that context. From this single Bazel project, you'll be able to write, build, and run whatever (related or unrelated) Claro programs as you see fit. Follow the below steps to set up your first Claro project with Bazel!","breadcrumbs":"Getting Started! » Create Your First Claro Project with Bazel!","id":"9","title":"Create Your First Claro Project with Bazel!"},"90":{"body":"It's worth noting that Claro has no way of inferring the correct element type of an empty list when it's type is not constrained by context. For example, the below variable declaration would be a compile-error: var l = []; # Compiler Error: ambiguous type.","breadcrumbs":"Types » Builtin Collections » Lists » Empty Lists","id":"90","title":"Empty Lists"},"91":{"body":"You might think that Claro should be able to infer the type intended for this empty list based on the later usage of the variable it's assigned to. Claro takes the opinionated stance that this would be inherently undesirable behavior . Type inference shouldn't follow some esoteric resolution rules. It would be all too easy to implement a complex type inference system that can infer types far better than any real world human reader could - the end result would simply be enabling code to be written that is intrinsically difficult for your colleagues (and your future self) to read later on. This is an anti-goal of Claro. The following will never be supported : # Hypothetically, Claro could infer that the type of `l` is `mut [string]` based\n# solely on the usage of `l` later on.\nvar l = mut []; ...a bunch of code... append(l, \"foo\");","breadcrumbs":"Types » Builtin Collections » Lists » Empty List Type Inference By Later Usage (Will Never Be Supported)","id":"91","title":"Empty List Type Inference By Later Usage (Will Never Be Supported)"},"92":{"body":"Claro sets are much like Python sets, with a fixed, single type for all elements. You may initialize them with many elements and then check for membership in the set later. Fig 1: var mySet: {int} = {1, 6, -12};\nprint(10 in mySet);\nprint(6 in mySet); Output: false\ntrue","breadcrumbs":"Types » Builtin Collections » Sets » Sets","id":"92","title":"Sets"},"93":{"body":"Elements can be added to a set by making use of the sets::add function from the stdlib's sets module . Fig 2: # Adds the specified element to this set if it is not already present. If this set already contains the element, the\n# call leaves the set unchanged and returns false. This ensures that sets never contain duplicate elements.\n#\n# Returns: true if this set did not already contain the specified element.\nfunction add(s: mut {T}, t: T) -> boolean; Fig 3: var s = mut {1, 2};\nprint(10 in s);\n_ = sets::add(s, 10); # <-- Explicitly ignoring output of function call.\nprint(10 in s); Output: false\ntrue","breadcrumbs":"Types » Builtin Collections » Sets » Adding Elements to a Mutable Set","id":"93","title":"Adding Elements to a Mutable Set"},"94":{"body":"A mapping of keys of a fixed value type, to values of a fixed type. Fig 1: var myMap: mut {string: int} = mut {};\nmyMap[\"Jason\"] = 28;\nprint(\"Jason\" in myMap); # true\nmyMap[\"Kenny\"] = 29;\nprint(myMap); # mut {\"Jason\": 28, \"Kenny\": 29} Output: true\nmut {Jason: 28, Kenny: 29}","breadcrumbs":"Types » Builtin Collections » Maps » Maps","id":"94","title":"Maps"},"95":{"body":"You can check for the existence of a key in a map by using the in keyword. Fig 2: var m = {\"a\": 1, \"b\": 2}; for (k in [\"a\", \"b\", \"c\"]) { print(\"{k} in map: {k in m}\");\n} Output: a in map: true\nb in map: true\nc in map: false","breadcrumbs":"Types » Builtin Collections » Maps » Checking if a Key Exists","id":"95","title":"Checking if a Key Exists"},"96":{"body":"Claro's for loop supports iterating over the entries of a map, with each entry modeled as tuple: Fig 3: var m = {\"a\": 1, \"b\": 2}; for (entry in m) { var k = entry[0]; var v = entry[1]; print(\"{k} -> {v}\");\n} Output: a -> 1\nb -> 2","breadcrumbs":"Types » Builtin Collections » Maps » Iterating Over the Entries of a Map","id":"96","title":"Iterating Over the Entries of a Map"},"97":{"body":"A large variety of map operations are available in the stdlib's maps module . For example, you can declare a default value that will be used as fallback if the read key doesn't exist in the map by using the following function declared in the maps.claro_module_api file: Fig 4: # Returns the value to which the specified key is mapped, or `defaultValue` if this map contains no mapping for the key.\nfunction getOrDefault(m: {K:V}, k: K, defaultValue: V) -> V; Fig 5: var m = {\"a\": 1, \"b\": 2}; for (k in [\"a\", \"b\", \"c\"]) { print(maps::getOrDefault(m, k, -1));\n} Output: 1\n2\n-1","breadcrumbs":"Types » Builtin Collections » Maps » Stdlib maps Module","id":"97","title":"Stdlib maps Module"},"98":{"body":"Tuples are a fixed-order, fixed-size collection of values which do not all have to be of the same type.","breadcrumbs":"Types » Builtin Collections » Tuples » Tuples","id":"98","title":"Tuples"},"99":{"body":"You can see in the example below, tuples interact w/ type validation in an interesting way worth making note of. When you index into a tuple, you should generally prefer to use a literal int constant. When you do, Claro can statically determine the type of the value you're accessing at compile time, which allows safer and more efficient code. For example, Claro is able to statically find the bugs in the below program: Fig 1: var myPair: tuple = (1, \"one\"); # Claro will interpret literal int subscripts at compile-time for type validation.\nvar myInt: int = myPair[1]; # <-- Wrong index.\nprint(myInt);\nvar myStr: string = myPair[3]; # <-- Out-of-bounds index.\nprint(myStr); Compilation Errors: tuple_type_EX1_example.claro:4: Invalid type: Found: string Expected: int\nvar myInt: int = myPair[1]; # <-- Wrong index. ^^^^^^^^^\ntuple_type_EX1_example.claro:6: Tuple Subscript Literal Out of Bounds: For subscript on tuple of type: tuple Found: 3 Expected: index in range [0, 2)\nvar myStr: string = myPair[3]; # <-- Out-of-bounds index. ^^^^^^^^^\n2 Errors Making it easy to apply the fix: Fig 2: var myPair: tuple = (1, \"one\"); # Claro will interpret literal int subscripts at compile-time for type validation.\nvar myInt: int = myPair[0]; # <-- Correct index.\nprint(myInt);\nvar myStr: string = myPair[1]; # <-- Correct index.\nprint(myStr); Output: 1\none","breadcrumbs":"Types » Builtin Collections » Tuples » Compile-Time Validated Indexing","id":"99","title":"Compile-Time Validated Indexing"}},"length":191,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{".":{"1":{".":{"4":{"0":{"9":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":26,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"178":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"5":{"df":1,"docs":{"45":{"tf":1.0}},"f":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":1,"docs":{"135":{"tf":1.0}}},"2":{"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"147":{"tf":1.0},"163":{"tf":1.4142135623730951},"171":{"tf":1.0}}},"df":6,"docs":{"129":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"49":{"tf":1.4142135623730951},"70":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"106":{"tf":2.449489742783178},"107":{"tf":3.1622776601683795},"121":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"85":{"tf":1.0}}},"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"92":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},"df":103,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"146":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":2.449489742783178},"149":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.449489742783178},"158":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":2.8284271247461903},"166":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":2.8284271247461903},"72":{"tf":1.4142135623730951},"73":{"tf":3.4641016151377544},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":2.449489742783178},"82":{"tf":2.23606797749979},"83":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"b":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},".":{"6":{"7":{"9":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":2,"docs":{"107":{"tf":1.0},"152":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}},"9":{"df":3,"docs":{"104":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772}}},"^":{"3":{"1":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"3":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":83,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"133":{"tf":1.0},"137":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":2.23606797749979},"158":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"160":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"69":{"tf":1.7320508075688772},"71":{"tf":3.4641016151377544},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"3":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"2":{"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"df":60,"docs":{"100":{"tf":1.0},"104":{"tf":1.7320508075688772},"106":{"tf":1.0},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":2.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.7320508075688772},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.0},"162":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.7320508075688772},"19":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":2.23606797749979},"73":{"tf":3.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}},"4":{".":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":34,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"179":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"97":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"169":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}},"6":{".":{"4":{".":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"49":{"tf":2.0}}},"df":13,"docs":{"101":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"122":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"8":{"df":3,"docs":{"137":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":2.0},"158":{"tf":1.4142135623730951},"166":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":4,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"_":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":19,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"173":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":3.872983346207417},"93":{"tf":1.0}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"158":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":30,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.4142135623730951},"190":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.0},"151":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"150":{"tf":1.7320508075688772},"160":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"103":{"tf":1.4142135623730951},"121":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":2.6457513110645907}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"106":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"36":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"7":{"tf":2.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":26,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0}}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"93":{"tf":1.0}},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":9,"docs":{"133":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"83":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":2,"docs":{"107":{"tf":2.449489742783178},"189":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"df":9,"docs":{"111":{"tf":1.0},"187":{"tf":1.0},"39":{"tf":1.0},"57":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"81":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.4142135623730951}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"142":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"166":{"tf":1.0},"22":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":2,"docs":{"104":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":6,"docs":{"111":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"157":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"i":{"a":{"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":2.0},"128":{"tf":2.449489742783178}},"s":{"df":5,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":20,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.4142135623730951},"169":{"tf":1.0},"182":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"125":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"185":{"tf":1.0}},"g":{"df":1,"docs":{"150":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":13,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"143":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"153":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":4,"docs":{"137":{"tf":1.4142135623730951},"155":{"tf":2.449489742783178},"156":{"tf":2.449489742783178},"90":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":18,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"113":{"tf":1.0},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"131":{"tf":1.7320508075688772},"133":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"143":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"83":{"tf":1.7320508075688772},"84":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"133":{"tf":1.0},"145":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":11,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"91":{"tf":1.0}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"187":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"145":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"168":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"36":{"tf":2.23606797749979}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":4,"docs":{"33":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.0},"174":{"tf":1.0}}},"df":3,"docs":{"160":{"tf":1.0},"73":{"tf":1.0},"99":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"144":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"144":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"153":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"154":{"tf":1.0},"159":{"tf":1.0},"57":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"163":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"(":{"df":2,"docs":{"136":{"tf":1.0},"178":{"tf":1.0}}},"1":{"df":1,"docs":{"112":{"tf":1.0}}},"2":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"150":{"tf":1.0}}},"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":12,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.0},"144":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"122":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":2.0},"145":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"142":{"tf":1.0},"148":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"168":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"133":{"tf":1.0},"142":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"150":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"188":{"tf":1.4142135623730951},"33":{"tf":1.0},"82":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.0},"154":{"tf":1.0},"72":{"tf":2.6457513110645907}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"135":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":2.0},"119":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"159":{"tf":1.0},"171":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"89":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":11,"docs":{"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"162":{"tf":1.0}}},"y":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":1,"docs":{"175":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"1":{"0":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.0}}},"df":2,"docs":{"118":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"170":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":9,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"3":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"118":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":4,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":2.0}}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"r":{"c":{"df":5,"docs":{"15":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"19":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"b":{"b":{"df":1,"docs":{"158":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"152":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":10,"docs":{"112":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"149":{"tf":2.449489742783178},"163":{"tf":2.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}},"df":16,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"129":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"57":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}},"v":{"df":2,"docs":{"154":{"tf":1.0},"166":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"127":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"n":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}}}},"d":{"df":2,"docs":{"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":7,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"75":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"138":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"175":{"tf":2.23606797749979},"176":{"tf":2.449489742783178},"177":{"tf":3.0},"178":{"tf":4.242640687119285},"179":{"tf":2.449489742783178},"180":{"tf":1.4142135623730951},"181":{"tf":3.0},"23":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"178":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"177":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":4,"docs":{"113":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"106":{"tf":1.0},"130":{"tf":1.4142135623730951},"150":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"68":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"152":{"tf":1.0},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"32":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"165":{"tf":1.0},"63":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"154":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":8,"docs":{"157":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":2.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"15":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":11,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"164":{"tf":1.4142135623730951},"165":{"tf":1.0},"166":{"tf":2.0},"167":{"tf":1.0},"176":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"99":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":28,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.7320508075688772},"188":{"tf":2.23606797749979},"189":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":2.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"29":{"tf":1.0},"30":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"150":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"11":{"tf":1.0},"174":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":23,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"161":{"tf":1.0},"163":{"tf":1.7320508075688772},"167":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"32":{"tf":1.0},"91":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"19":{"tf":1.0},"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"c":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"11":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":35,"docs":{"125":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.6457513110645907},"156":{"tf":3.0},"159":{"tf":1.0},"165":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":2.23606797749979},"172":{"tf":1.0},"174":{"tf":2.23606797749979},"176":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":2.6457513110645907},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"146":{"tf":2.0},"147":{"tf":2.0},"148":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"88":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":30,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"110":{"tf":2.23606797749979},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"188":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":2.449489742783178},"66":{"tf":2.449489742783178},"67":{"tf":3.605551275463989},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":3.872983346207417},"72":{"tf":3.7416573867739413},"73":{"tf":4.69041575982343},"80":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"135":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"100":{"tf":2.23606797749979},"125":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"156":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":2.0},"73":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"145":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"168":{"tf":1.0}}}}}}}},"df":14,"docs":{"137":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"156":{"tf":1.4142135623730951},"170":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"148":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"176":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"168":{"tf":1.0},"182":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"71":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"106":{"tf":2.23606797749979},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"110":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"126":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"186":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"148":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":3,"docs":{"186":{"tf":1.0},"187":{"tf":1.0},"39":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"117":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"'":{"df":38,"docs":{"109":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.7320508075688772},"148":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.4142135623730951},"22":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"18":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":2.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"39":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"18":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":1.0},"189":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":106,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"10":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"110":{"tf":2.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":2.0},"17":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":2.23606797749979},"182":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"53":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":2.23606797749979},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":1.0},"99":{"tf":2.0}},"’":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":7,"docs":{"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"2":{"tf":1.0},"81":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"126":{"tf":1.0},"34":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"150":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"109":{"tf":1.0}}},"r":{"df":1,"docs":{"113":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"173":{"tf":1.0},"189":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0}},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":3,"docs":{"145":{"tf":1.4142135623730951},"148":{"tf":1.7320508075688772},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"148":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":36,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":2.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"190":{"tf":1.4142135623730951},"2":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":2.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"91":{"tf":1.4142135623730951},"99":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"78":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"159":{"tf":2.6457513110645907},"160":{"tf":1.7320508075688772},"167":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"163":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"91":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":19,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.0},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"98":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}},"r":{"df":1,"docs":{"177":{"tf":1.7320508075688772}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"136":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"11":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"177":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"151":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":46,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":2.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":2.23606797749979},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"79":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"99":{"tf":2.23606797749979}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"136":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":2.449489742783178},"190":{"tf":1.0}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}},"2":{"df":1,"docs":{"165":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":1,"docs":{"165":{"tf":1.0}}},"8":{"2":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"3":{"7":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}}},"df":1,"docs":{"165":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"168":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"23":{"tf":1.0}}},"s":{"df":4,"docs":{"128":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"182":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":2.0},"171":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"163":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":1.7320508075688772},"78":{"tf":1.7320508075688772}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"140":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"44":{"tf":1.0},"63":{"tf":1.0}},"u":{"df":3,"docs":{"153":{"tf":1.0},"179":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":2.8284271247461903},"125":{"tf":1.7320508075688772},"127":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":13,"docs":{"1":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.0},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"3":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"149":{"tf":1.4142135623730951},"173":{"tf":2.0},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.4142135623730951},"154":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"67":{"tf":1.0}},"s":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"108":{"tf":1.0},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"161":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"45":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":3,"docs":{"117":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"146":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.4142135623730951},"78":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"119":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"140":{"tf":2.6457513110645907},"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"27":{"tf":1.0},"33":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":14,"docs":{"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.4142135623730951},"65":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"u":{"df":3,"docs":{"125":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"14":{"tf":1.0},"174":{"tf":1.4142135623730951},"32":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"150":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"125":{"tf":1.0},"150":{"tf":3.0},"151":{"tf":1.7320508075688772},"152":{"tf":2.0},"153":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.7320508075688772},"156":{"tf":2.23606797749979},"184":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":4,"docs":{"107":{"tf":1.0},"48":{"tf":1.4142135623730951},"62":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":8,"docs":{"115":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"120":{"tf":1.0}}},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"y":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"145":{"tf":1.0},"147":{"tf":1.0},"157":{"tf":2.8284271247461903},"158":{"tf":2.449489742783178},"159":{"tf":2.6457513110645907},"160":{"tf":1.7320508075688772},"161":{"tf":1.7320508075688772},"162":{"tf":2.8284271247461903},"163":{"tf":4.0},"164":{"tf":1.4142135623730951},"165":{"tf":2.6457513110645907},"166":{"tf":2.23606797749979},"167":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"78":{"tf":2.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"[":{"1":{"]":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"df":1,"docs":{"157":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"130":{"tf":1.0},"187":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"149":{"tf":1.0},"61":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"71":{"tf":1.0},"80":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.4142135623730951},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.4142135623730951},"37":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":21,"docs":{"100":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"113":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":1.0},"3":{"tf":1.0}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"df":34,"docs":{"109":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":2.0},"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"161":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"166":{"tf":2.449489742783178},"168":{"tf":2.449489742783178},"169":{"tf":2.23606797749979},"170":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":2.0},"63":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}},"df":2,"docs":{"152":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"168":{"tf":1.0},"174":{"tf":2.0},"176":{"tf":1.7320508075688772},"178":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":47,"docs":{"101":{"tf":2.0},"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.7320508075688772},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"146":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"167":{"tf":2.0},"17":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"81":{"tf":2.449489742783178},"85":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"182":{"tf":1.0},"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":5,"docs":{"157":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"62":{"tf":1.0},"84":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":8,"docs":{"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"3":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.0},"82":{"tf":1.0},"97":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"178":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":41,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.0},"167":{"tf":2.23606797749979},"171":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":19,"docs":{"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":2.23606797749979},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"187":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"140":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"15":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":2.0},"33":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772}}}}}}}},"p":{"df":10,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"27":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"11":{"tf":1.0},"153":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.7320508075688772},"188":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.7320508075688772},"21":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"33":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"166":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":5,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"148":{"tf":1.7320508075688772},"154":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":4,"docs":{"105":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"77":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"149":{"tf":1.0},"155":{"tf":1.0},"25":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"137":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"113":{"tf":1.0},"13":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"157":{"tf":1.0},"91":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"167":{"tf":1.0},"169":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"133":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"113":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"182":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"162":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"81":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"146":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":12,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"2":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"167":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"103":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"79":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"25":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"110":{"tf":1.0},"174":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"177":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"135":{"tf":1.0},"153":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"128":{"tf":1.0},"157":{"tf":1.0},"18":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":22,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"168":{"tf":1.0},"175":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"169":{"tf":1.0},"179":{"tf":1.0},"33":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"25":{"tf":1.0}}}}}}}}}},"df":6,"docs":{"149":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"137":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"162":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"163":{"tf":1.0},"58":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"149":{"tf":2.0},"157":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.449489742783178}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"162":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"128":{"tf":1.0},"134":{"tf":1.0},"58":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"148":{"tf":1.4142135623730951}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"120":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"182":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":6,"docs":{"114":{"tf":1.0},"132":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"169":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"111":{"tf":1.0},"180":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":13,"docs":{"108":{"tf":1.7320508075688772},"145":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":6,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"174":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"117":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.0},"63":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"106":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.4142135623730951},"174":{"tf":1.0},"188":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":2.0}}},"y":{"[":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.7320508075688772}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"110":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"81":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"115":{"tf":2.0},"116":{"tf":1.0},"117":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"154":{"tf":1.0},"78":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"154":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"179":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":30,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"128":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":2.0},"179":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"79":{"tf":2.0},"90":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"166":{"tf":1.0},"91":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"146":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":17,"docs":{"110":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"33":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":2,"docs":{"174":{"tf":1.0},"73":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"x":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.0}}},"5":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"f":{"2":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"127":{"tf":1.0},"130":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":58,"docs":{"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":2.0},"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.0},"76":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":2,"docs":{"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"/":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"189":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.7320508075688772},"174":{"tf":2.0},"189":{"tf":1.4142135623730951},"22":{"tf":1.0},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":2.0},"33":{"tf":1.4142135623730951},"41":{"tf":1.0},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.23606797749979}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"120":{"tf":1.0},"150":{"tf":1.4142135623730951},"30":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"t":{"df":3,"docs":{"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"100":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"130":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}},"n":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.0},"27":{"tf":1.4142135623730951},"39":{"tf":1.0},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.4142135623730951}}}},"s":{"df":3,"docs":{"162":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0}}}},"r":{"df":1,"docs":{"100":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"140":{"tf":1.0},"143":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":3,"docs":{"27":{"tf":1.0},"32":{"tf":1.7320508075688772},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"157":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"147":{"tf":1.0}}},"1":{"df":1,"docs":{"147":{"tf":1.0}}},"5":{"df":1,"docs":{"147":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":1.0},"162":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"149":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}}}},"s":{"df":8,"docs":{"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":7,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"179":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"164":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"170":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.4142135623730951},"116":{"tf":1.0},"166":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":126,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"181":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"df":29,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.0},"188":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":2.8284271247461903},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"8":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"150":{"tf":1.0},"178":{"tf":1.0}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"149":{"tf":2.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"146":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"d":{"df":7,"docs":{"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"157":{"tf":1.0},"25":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"83":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"128":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.7320508075688772},"149":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"2":{"tf":1.0},"28":{"tf":1.4142135623730951},"3":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":12,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":4,"docs":{"107":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":2.23606797749979}}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"112":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"o":{"(":{"1":{"df":3,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0}}},"[":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"160":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"150":{"tf":1.0}}},"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"73":{"tf":2.6457513110645907}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"73":{"tf":3.872983346207417}}},"df":0,"docs":{}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"160":{"tf":1.0},"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"160":{"tf":2.23606797749979},"167":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"170":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"120":{"tf":2.0},"121":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.8284271247461903},"36":{"tf":1.4142135623730951},"91":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":1,"docs":{"172":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"170":{"tf":2.23606797749979}}}},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"101":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":2,"docs":{"138":{"tf":1.0},"175":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":11,"docs":{"112":{"tf":1.0},"152":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"161":{"tf":1.0},"167":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":11,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"162":{"tf":1.0},"190":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":6,"docs":{"146":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":2.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0}},"i":{"df":8,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"187":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"149":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}}},"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"143":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}},"t":{"df":2,"docs":{"177":{"tf":1.4142135623730951},"178":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}}},"b":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0}}}}}}},"df":50,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":2.449489742783178},"139":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":3.605551275463989},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":2.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":2.0},"175":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":3.872983346207417},"178":{"tf":3.4641016151377544},"181":{"tf":2.0},"182":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"186":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"23":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"155":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.0},"131":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"57":{"tf":1.0},"91":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"172":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"(":{"\"":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{">":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"173":{"tf":1.0}}},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"153":{"tf":1.0},"163":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"3":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":39,"docs":{"108":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"129":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":2.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.4142135623730951},"149":{"tf":2.23606797749979},"15":{"tf":1.0},"150":{"tf":3.4641016151377544},"151":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":2.0},"156":{"tf":1.7320508075688772},"160":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":2.8284271247461903},"179":{"tf":2.0},"180":{"tf":1.7320508075688772},"181":{"tf":1.4142135623730951},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"80":{"tf":1.0},"99":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"7":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":2,"docs":{"136":{"tf":1.0},"138":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"[":{"0":{"df":1,"docs":{"167":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"62":{"tf":1.0}},"n":{"df":12,"docs":{"122":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"91":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"167":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":1,"docs":{"166":{"tf":1.0}}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"43":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"83":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"h":{"df":10,"docs":{"146":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":2.6457513110645907},"170":{"tf":3.4641016151377544},"171":{"tf":3.1622776601683795},"172":{"tf":2.0},"173":{"tf":2.0},"174":{"tf":3.7416573867739413},"176":{"tf":2.6457513110645907},"178":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":2.0},"111":{"tf":1.4142135623730951},"49":{"tf":1.0},"72":{"tf":3.3166247903554}}},"t":{"df":2,"docs":{"34":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}},"t":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":3.7416573867739413},"173":{"tf":2.23606797749979}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":9,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.0},"3":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"15":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":6,"docs":{"142":{"tf":1.0},"175":{"tf":1.0},"26":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":10,"docs":{"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"177":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"117":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"169":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"115":{"tf":1.0},"162":{"tf":1.4142135623730951},"174":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"70":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"136":{"tf":1.4142135623730951},"152":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"47":{"tf":1.4142135623730951},"63":{"tf":2.0},"8":{"tf":1.4142135623730951}}}},"p":{"df":1,"docs":{"164":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"df":13,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"190":{"tf":1.0},"23":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"1":{"tf":1.0},"10":{"tf":1.0},"114":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"63":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"111":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"126":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"<":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"12":{"tf":1.0},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":2.0}}}},"m":{"df":1,"docs":{"163":{"tf":1.0}}}},".":{"df":3,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"69":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"140":{"tf":1.0},"168":{"tf":1.0}}}},"1":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"138":{"tf":1.0}},"l":{"df":3,"docs":{"127":{"tf":1.0},"177":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"122":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"f":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"93":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"128":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":10,"docs":{"101":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"146":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"82":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"112":{"tf":1.0},"170":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"149":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"101":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.7320508075688772},"83":{"tf":2.0},"84":{"tf":1.4142135623730951}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":2,"docs":{"125":{"tf":1.0},"156":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"107":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":2.23606797749979},"153":{"tf":2.0},"154":{"tf":2.23606797749979},"157":{"tf":1.0},"159":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"91":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"138":{"tf":1.0},"174":{"tf":1.0},"180":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":2,"docs":{"128":{"tf":1.0},"169":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"129":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":6,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"161":{"tf":1.0},"24":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"101":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":4,"docs":{"125":{"tf":1.0},"128":{"tf":2.23606797749979},"163":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":7,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"150":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"70":{"tf":1.0}}}},"d":{"df":1,"docs":{"161":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"182":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"d":{"df":1,"docs":{"154":{"tf":2.23606797749979}},"e":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"147":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"$":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":2.0},"155":{"tf":1.4142135623730951}}}},"df":2,"docs":{"154":{"tf":1.0},"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":2.449489742783178},"135":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":2.23606797749979},"99":{"tf":3.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"i":{"c":{"df":3,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"156":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"125":{"tf":2.23606797749979},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"156":{"tf":1.0},"5":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":2.449489742783178}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"176":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"108":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"150":{"tf":1.0},"152":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"140":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":26,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"11":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"134":{"tf":1.0},"149":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":3.0},"177":{"tf":1.0},"178":{"tf":1.0},"46":{"tf":2.23606797749979},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"2":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"165":{"tf":1.0},"81":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"159":{"tf":1.0},"163":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":10,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"147":{"tf":1.0},"174":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":7,"docs":{"107":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":2.0},"18":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.7320508075688772}}},"n":{"c":{"df":4,"docs":{"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"125":{"tf":1.0},"167":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":4,"docs":{"106":{"tf":3.4641016151377544},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"136":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"163":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"128":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"163":{"tf":1.0},"180":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"172":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":55,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"106":{"tf":2.8284271247461903},"107":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.0},"115":{"tf":2.0},"118":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":2.6457513110645907},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":2.0},"154":{"tf":3.0},"155":{"tf":1.0},"156":{"tf":2.449489742783178},"159":{"tf":2.449489742783178},"160":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":2.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"184":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.4142135623730951},"70":{"tf":2.6457513110645907},"73":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"135":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"n":{"d":{"df":8,"docs":{"134":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"186":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"116":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"154":{"tf":1.0},"163":{"tf":1.0},"7":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":4,"docs":{"151":{"tf":1.7320508075688772},"153":{"tf":1.0},"185":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":4,"docs":{"158":{"tf":1.0},"162":{"tf":1.0},"3":{"tf":1.0},"68":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"115":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"106":{"tf":2.449489742783178},"107":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"91":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"177":{"tf":1.0},"19":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"34":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":2.0}}}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":14,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"125":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.7320508075688772},"32":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"158":{"tf":1.0},"169":{"tf":1.0},"182":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"114":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.4142135623730951},"176":{"tf":1.0}}}}},"t":{"'":{"df":31,"docs":{"10":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}},"r":{"df":7,"docs":{"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"74":{"tf":1.0},"96":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"115":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"186":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"33":{"tf":2.449489742783178}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"104":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"94":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"k":{"_":{"1":{"1":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":8,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"169":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":2.0},"64":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.7320508075688772}},"o":{"b":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"15":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"k":{":":{"df":0,"docs":{},"v":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":4,"docs":{"56":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"y":{"df":8,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":11,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"159":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":10,"docs":{"105":{"tf":1.0},"106":{"tf":2.0},"13":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}}}},"l":{"1":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"b":{"d":{"a":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":12,"docs":{"112":{"tf":1.4142135623730951},"133":{"tf":2.0},"142":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":1.4142135623730951},"145":{"tf":2.6457513110645907},"146":{"tf":2.0},"147":{"tf":2.449489742783178},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"165":{"tf":1.0},"180":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"24":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"g":{"df":25,"docs":{"1":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":2.0},"111":{"tf":1.0},"129":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"152":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":10,"docs":{"161":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"49":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"182":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"168":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":6,"docs":{"108":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}},"df":19,"docs":{"130":{"tf":1.4142135623730951},"134":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":2.23606797749979},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":11,"docs":{"105":{"tf":1.0},"122":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":6,"docs":{"105":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"158":{"tf":2.23606797749979}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"(":{"df":3,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":3,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"108":{"tf":1.0}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"'":{"df":6,"docs":{"15":{"tf":1.0},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":1,"docs":{"128":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":13,"docs":{"114":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"25":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"81":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"117":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"132":{"tf":1.0},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"152":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":2.0},"110":{"tf":2.449489742783178},"111":{"tf":2.449489742783178},"72":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"109":{"tf":1.0}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"167":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":13,"docs":{"148":{"tf":1.0},"180":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"r":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"k":{"df":2,"docs":{"108":{"tf":1.0},"162":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"108":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":27,"docs":{"108":{"tf":1.4142135623730951},"134":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":1.4142135623730951},"159":{"tf":1.7320508075688772},"160":{"tf":1.0},"162":{"tf":2.449489742783178},"163":{"tf":2.8284271247461903},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":2.6457513110645907},"85":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":2.0},"89":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":4,"docs":{"58":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"82":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"1":{"tf":1.0},"174":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"112":{"tf":1.0},"135":{"tf":1.7320508075688772},"82":{"tf":1.0},"99":{"tf":2.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":1,"docs":{"150":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"145":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"a":{"d":{"(":{"\"":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"145":{"tf":1.0},"179":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"t":{"df":4,"docs":{"162":{"tf":1.4142135623730951},"188":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"c":{"df":11,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.4142135623730951},"168":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"153":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}},"df":18,"docs":{"149":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}},"w":{"df":3,"docs":{"166":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"189":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"172":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"116":{"tf":1.0},"170":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"149":{"tf":1.0},"80":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":27,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"169":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.0},"68":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"150":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":13,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.7320508075688772},"33":{"tf":1.0}},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":9,"docs":{"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"96":{"tf":1.4142135623730951},"97":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"144":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":17,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"64":{"tf":2.8284271247461903},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":3.605551275463989},"68":{"tf":2.23606797749979},"69":{"tf":1.7320508075688772},"70":{"tf":2.6457513110645907},"71":{"tf":2.449489742783178},"72":{"tf":3.1622776601683795},"73":{"tf":2.8284271247461903}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"159":{"tf":1.0},"25":{"tf":1.0}}}}}},"x":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"156":{"tf":2.0}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"e":{"$":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":2.23606797749979}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"130":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"187":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"182":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"162":{"tf":2.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"152":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"168":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}}},"x":{"df":1,"docs":{"83":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"151":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"179":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":24,"docs":{"125":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.7320508075688772},"182":{"tf":2.23606797749979},"183":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951},"186":{"tf":2.6457513110645907},"187":{"tf":1.7320508075688772},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"2":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"36":{"tf":2.6457513110645907},"37":{"tf":1.4142135623730951},"39":{"tf":2.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.4142135623730951}},"e":{"(":{"df":1,"docs":{"39":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"153":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":32,"docs":{"108":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.7320508075688772},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"174":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.0},"74":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"136":{"tf":1.0},"137":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"185":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.4142135623730951},"77":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":2.0},"104":{"tf":1.4142135623730951},"145":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"159":{"tf":2.23606797749979},"160":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"166":{"tf":2.449489742783178},"167":{"tf":1.4142135623730951},"4":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":2.8284271247461903},"84":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":2.8284271247461903},"104":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.0},"162":{"tf":1.0},"166":{"tf":1.0},"82":{"tf":1.0}}}},"df":23,"docs":{"101":{"tf":2.449489742783178},"104":{"tf":2.0},"148":{"tf":2.23606797749979},"157":{"tf":2.23606797749979},"158":{"tf":3.1622776601683795},"159":{"tf":3.872983346207417},"160":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"166":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":3.1622776601683795},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":2.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":2.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":2.0},"99":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"[":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"99":{"tf":1.0}}},"1":{"df":1,"docs":{"99":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":27,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"188":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"107":{"tf":2.449489742783178},"108":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"137":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"178":{"tf":1.0}}},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.7320508075688772},"45":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"w":{"df":22,"docs":{"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"122":{"tf":1.0},"126":{"tf":1.0},"150":{"tf":1.0},"162":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":19,"docs":{"108":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"148":{"tf":1.0},"154":{"tf":1.0},"160":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"184":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":2.8284271247461903},"14":{"tf":1.0},"165":{"tf":2.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"73":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772},"169":{"tf":3.3166247903554},"170":{"tf":3.1622776601683795},"171":{"tf":1.4142135623730951},"173":{"tf":2.8284271247461903},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.7320508075688772}}}}},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"108":{"tf":1.0},"135":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.4142135623730951},"3":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":42,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"185":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":3,"docs":{"126":{"tf":2.23606797749979},"127":{"tf":2.0},"160":{"tf":1.0}}},"i":{"c":{"df":9,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"32":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"151":{"tf":1.0}}}}}},"w":{"df":18,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.0},"163":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"76":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"128":{"tf":1.0},"163":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"45":{"tf":2.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}}}}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"166":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"129":{"tf":1.0},"132":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}},"r":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"136":{"tf":1.4142135623730951},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"64":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}}}}}},"k":{"df":2,"docs":{"100":{"tf":1.0},"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"104":{"tf":1.0},"129":{"tf":1.0}}}}},"n":{"c":{"df":5,"docs":{"11":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"9":{"tf":1.0}}},"df":37,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{";":{".":{".":{".":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":2.0},"136":{"tf":1.0},"165":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"72":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"154":{"tf":1.0}}}},"df":8,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0},"111":{"tf":1.0},"132":{"tf":1.0},"153":{"tf":1.0},"73":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"106":{"tf":1.0}}},"4":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":2,"docs":{"154":{"tf":1.0},"165":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}}},"p":{"df":2,"docs":{"163":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.0},"142":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"x":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"106":{"tf":1.4142135623730951},"120":{"tf":1.0},"13":{"tf":1.0},"140":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":2.23606797749979},"74":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"67":{"tf":1.0},"91":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"t":{"df":5,"docs":{"100":{"tf":1.0},"153":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":5,"docs":{"161":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"169":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"169":{"tf":1.0},"20":{"tf":1.0},"39":{"tf":1.0},"75":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.4142135623730951},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":2.0},"176":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.7320508075688772},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"4":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":8,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.8284271247461903},"160":{"tf":2.449489742783178},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"132":{"tf":1.0},"167":{"tf":1.0},"63":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{">":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}},"df":20,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"122":{"tf":1.0},"148":{"tf":2.23606797749979},"149":{"tf":1.0},"15":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.0},"147":{"tf":2.0},"159":{"tf":1.0},"162":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":84,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"140":{"tf":1.0},"145":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}}}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"125":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"112":{"tf":1.0},"153":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.0},"122":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"17":{"tf":1.0},"187":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"100":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"150":{"tf":1.0}}},"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":1.0},"160":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"123":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"160":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.0},"165":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"1":{"tf":1.0},"174":{"tf":1.0},"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":14,"docs":{"105":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"64":{"tf":2.0},"65":{"tf":1.7320508075688772},"67":{"tf":2.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}}},"r":{"df":1,"docs":{"169":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":2.23606797749979},"162":{"tf":1.0},"163":{"tf":1.4142135623730951},"168":{"tf":1.7320508075688772}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"165":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"17":{"tf":1.0},"174":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"156":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"187":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":3.1622776601683795}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":5,"docs":{"157":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"y":{"df":1,"docs":{"69":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"149":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"170":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"163":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.0},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":24,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.7320508075688772},"132":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"177":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"166":{"tf":1.7320508075688772},"74":{"tf":1.0},"81":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"117":{"tf":1.0},"152":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"137":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":3,"docs":{"150":{"tf":1.0},"177":{"tf":2.23606797749979},"178":{"tf":1.7320508075688772}}},"df":2,"docs":{"102":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"17":{"tf":1.0},"93":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"184":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"186":{"tf":1.0}}}}}}}}}},"v":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"122":{"tf":1.0},"148":{"tf":1.7320508075688772},"176":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":9,"docs":{"152":{"tf":1.0},"166":{"tf":1.0},"179":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}},"s":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":2.23606797749979}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"71":{"tf":2.0}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"159":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"82":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"147":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"29":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":1,"docs":{"147":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}},"y":{"df":1,"docs":{"56":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"2":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"df":1,"docs":{"140":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"137":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"f":{"df":2,"docs":{"119":{"tf":1.0},"120":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"115":{"tf":1.0}}},"2":{"df":1,"docs":{"115":{"tf":1.0}}},"3":{"df":1,"docs":{"115":{"tf":1.0}}},"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"l":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":2,"docs":{"102":{"tf":1.0},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"1":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0}}}}}}}},"r":{"df":1,"docs":{"178":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"(":{"[":{"\"":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"143":{"tf":1.0}}}},"df":8,"docs":{"108":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"185":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"110":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"57":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":9,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":37,"docs":{"125":{"tf":1.4142135623730951},"132":{"tf":2.0},"133":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.4142135623730951},"144":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.7320508075688772},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.23606797749979},"156":{"tf":2.23606797749979},"162":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":2.0},"170":{"tf":2.0},"171":{"tf":2.6457513110645907},"173":{"tf":1.0},"174":{"tf":2.0},"175":{"tf":1.4142135623730951},"176":{"tf":2.449489742783178},"177":{"tf":1.7320508075688772},"178":{"tf":2.8284271247461903},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0},"89":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"169":{"tf":1.4142135623730951},"32":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":2,"docs":{"174":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":40,"docs":{"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":1.0},"182":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":2.0},"80":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":6,"docs":{"159":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"168":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":17,"docs":{"11":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"114":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":26,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"39":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"184":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"150":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"74":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":7,"docs":{"129":{"tf":1.0},"145":{"tf":1.0},"48":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"r":{">":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":6,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.0},"84":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"49":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"137":{"tf":1.0},"156":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"165":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":10,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":2.6457513110645907},"49":{"tf":2.8284271247461903},"58":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"107":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"170":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"df":6,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.7320508075688772},"174":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"d":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"91":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}},"z":{"df":2,"docs":{"145":{"tf":1.0},"149":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"153":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"177":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"d":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"179":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"126":{"tf":1.7320508075688772},"127":{"tf":1.0},"128":{"tf":2.8284271247461903},"165":{"tf":2.8284271247461903},"166":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"49":{"tf":1.0},"72":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"149":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"112":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"108":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"144":{"tf":1.7320508075688772},"145":{"tf":1.7320508075688772},"16":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":3.0},"17":{"tf":1.0},"181":{"tf":1.7320508075688772},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"167":{"tf":1.0},"179":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"168":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"147":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"105":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"169":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"123":{"tf":1.0},"163":{"tf":1.0},"61":{"tf":4.123105625617661}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":16,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"145":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"65":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":3.0}}}}},"i":{"df":0,"docs":{},"r":{"df":19,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"113":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":2.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"v":{"df":7,"docs":{"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"73":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":7,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"169":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"167":{"tf":1.7320508075688772},"179":{"tf":1.0},"181":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":14,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"179":{"tf":1.0},"188":{"tf":1.0},"88":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":36,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":2.449489742783178},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"154":{"tf":2.6457513110645907},"155":{"tf":2.0},"156":{"tf":2.23606797749979},"159":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":2.449489742783178},"167":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"178":{"tf":1.7320508075688772},"185":{"tf":1.4142135623730951},"27":{"tf":1.0},"35":{"tf":1.0},"81":{"tf":1.7320508075688772},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"138":{"tf":1.0},"152":{"tf":1.4142135623730951},"177":{"tf":1.0},"188":{"tf":1.0},"6":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"h":{"df":7,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"128":{"tf":1.0},"158":{"tf":2.23606797749979},"2":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"126":{"tf":1.0},"16":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"178":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"w":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.6457513110645907}}}},"p":{"c":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"159":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"91":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":2.23606797749979},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.0},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"48":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"100":{"tf":2.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.7320508075688772},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"61":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"177":{"tf":1.0},"178":{"tf":1.0}}},"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"135":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}},"r":{"df":4,"docs":{"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{"2":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"154":{"tf":1.0},"156":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"154":{"tf":1.7320508075688772},"156":{"tf":1.0}}}}},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"84":{"tf":1.4142135623730951},"88":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":21,"docs":{"110":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.7320508075688772},"168":{"tf":2.0},"169":{"tf":1.0},"34":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"173":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"150":{"tf":1.0}}}},"b":{"df":1,"docs":{"108":{"tf":2.23606797749979}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"174":{"tf":1.0},"6":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"169":{"tf":2.23606797749979},"171":{"tf":1.0},"174":{"tf":2.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"100":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":2.0},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":11,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"49":{"tf":3.3166247903554},"50":{"tf":2.449489742783178},"58":{"tf":2.0},"63":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"163":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"108":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"162":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":3,"docs":{"148":{"tf":1.0},"167":{"tf":1.0},"67":{"tf":1.0}}},"n":{"df":4,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":6,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"33":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"25":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"c":{"df":4,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.0}}},"df":0,"docs":{}}}},"t":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":2.0},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":2.8284271247461903}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"93":{"tf":1.0}}},"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"166":{"tf":1.7320508075688772},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"147":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"83":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":2.8284271247461903},"168":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"(":{"\"":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"140":{"tf":1.0}}},"df":2,"docs":{"169":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"113":{"tf":1.0},"150":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":11,"docs":{"125":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"150":{"tf":2.449489742783178},"156":{"tf":1.0},"177":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"36":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"75":{"tf":1.0}}}}}}},"df":2,"docs":{"161":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":1.0},"151":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"116":{"tf":1.0},"126":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"64":{"tf":1.0},"85":{"tf":1.0}}}}},"i":{"df":24,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.7320508075688772},"179":{"tf":1.0},"185":{"tf":1.0},"30":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"91":{"tf":1.0}},"f":{"df":1,"docs":{"153":{"tf":1.0}},"i":{"df":3,"docs":{"151":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":1.0},"168":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"127":{"tf":1.0},"138":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.4142135623730951},"185":{"tf":1.0},"2":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"k":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"150":{"tf":1.0},"154":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.0},"136":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"73":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"df":3,"docs":{"6":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":2.8284271247461903},"65":{"tf":2.0},"66":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"188":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"100":{"tf":1.0},"168":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"135":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"109":{"tf":1.0},"17":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"131":{"tf":1.0},"138":{"tf":1.0},"167":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"105":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"168":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.0},"135":{"tf":1.0},"163":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":1.7320508075688772},"190":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":2.23606797749979},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"153":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"165":{"tf":1.0},"25":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":6,"docs":{"150":{"tf":1.4142135623730951},"70":{"tf":1.0},"8":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"70":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"r":{"c":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"165":{"tf":1.4142135623730951},"45":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"91":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":5,"docs":{"168":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"29":{"tf":1.0},"8":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"15":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":2.0},"168":{"tf":1.0},"174":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":32,"docs":{"1":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"110":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.4142135623730951},"148":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"108":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":3,"docs":{"89":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"]":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"27":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"128":{"tf":1.0},"168":{"tf":1.4142135623730951},"174":{"tf":1.0},"37":{"tf":1.0},"63":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"138":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"151":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":30,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"107":{"tf":2.0},"110":{"tf":1.7320508075688772},"112":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"152":{"tf":2.0},"186":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"91":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"s":{":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"27":{"tf":1.0},"35":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"84":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"108":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":20,"docs":{"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"83":{"tf":1.0},"88":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":10,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.0},"39":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"b":{"df":2,"docs":{"105":{"tf":2.0},"138":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"170":{"tf":1.7320508075688772},"173":{"tf":2.449489742783178}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"135":{"tf":2.0},"88":{"tf":1.0},"99":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.0},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"188":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"150":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"164":{"tf":1.0},"176":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"62":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":2.23606797749979}}}}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"149":{"tf":1.0},"152":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":27,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"13":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.4142135623730951},"45":{"tf":1.0},"57":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"91":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"2":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"64":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"124":{"tf":1.0},"146":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"130":{"tf":1.0},"140":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":13,"docs":{"133":{"tf":1.0},"143":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"45":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":11,"docs":{"117":{"tf":1.0},"13":{"tf":1.0},"159":{"tf":1.0},"182":{"tf":1.7320508075688772},"2":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"137":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"105":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}}},"df":23,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"168":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0}},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"187":{"tf":1.0},"188":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"27":{"tf":1.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"157":{"tf":1.0},"61":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"173":{"tf":1.0}}},"df":18,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":2.449489742783178},"154":{"tf":1.0},"160":{"tf":2.0},"167":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.4142135623730951},"184":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"81":{"tf":2.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"117":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"d":{"df":4,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0}}},"df":2,"docs":{"106":{"tf":1.0},"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"128":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"163":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"t":{"'":{"df":3,"docs":{"105":{"tf":1.0},"127":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"157":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"42":{"tf":1.0}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"176":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}},"r":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":12,"docs":{"151":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}}},"k":{"df":7,"docs":{"132":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"27":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":6,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"148":{"tf":1.0},"154":{"tf":1.0},"174":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":4.69041575982343},"176":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"105":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.0},"177":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}}}},"w":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":1,"docs":{"162":{"tf":1.0}},"m":{"b":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":35,"docs":{"100":{"tf":2.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":2.449489742783178},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":2.0}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"162":{"tf":1.0},"78":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"136":{"tf":1.0},"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"179":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}},"l":{"df":2,"docs":{"138":{"tf":1.0},"2":{"tf":1.0}}}},"p":{"df":9,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"188":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"158":{"tf":1.0},"174":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":2.0},"127":{"tf":1.4142135623730951}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"128":{"tf":1.4142135623730951},"163":{"tf":1.0},"171":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"128":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"27":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.4142135623730951},"169":{"tf":1.0},"182":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":11,"docs":{"130":{"tf":2.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"135":{"tf":2.0},"57":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.0}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"112":{"tf":1.0},"128":{"tf":1.7320508075688772},"130":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}},"k":{"df":2,"docs":{"56":{"tf":1.0},"96":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":2.23606797749979}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"99":{"tf":1.0}}},"6":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"100":{"tf":1.0}}},"6":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":9,"docs":{"116":{"tf":1.0},"126":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"152":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":81,"docs":{"1":{"tf":1.0},"100":{"tf":3.3166247903554},"101":{"tf":2.0},"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":2.8284271247461903},"106":{"tf":3.0},"107":{"tf":3.605551275463989},"108":{"tf":2.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":3.0},"116":{"tf":2.8284271247461903},"117":{"tf":2.6457513110645907},"118":{"tf":2.23606797749979},"119":{"tf":1.7320508075688772},"120":{"tf":3.1622776601683795},"121":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":2.8284271247461903},"124":{"tf":2.0},"125":{"tf":3.3166247903554},"126":{"tf":1.4142135623730951},"127":{"tf":2.0},"128":{"tf":3.4641016151377544},"129":{"tf":3.4641016151377544},"130":{"tf":1.0},"131":{"tf":2.23606797749979},"132":{"tf":2.0},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"135":{"tf":1.4142135623730951},"136":{"tf":2.23606797749979},"137":{"tf":2.449489742783178},"143":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":3.4641016151377544},"151":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"153":{"tf":2.0},"154":{"tf":2.449489742783178},"155":{"tf":2.449489742783178},"156":{"tf":2.23606797749979},"157":{"tf":1.0},"159":{"tf":2.0},"160":{"tf":3.0},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":2.6457513110645907},"166":{"tf":1.0},"167":{"tf":2.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.3166247903554},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"64":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"81":{"tf":2.0},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":2.0},"90":{"tf":1.7320508075688772},"91":{"tf":2.449489742783178},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.449489742783178}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"107":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":5,"docs":{"149":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"157":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"136":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"162":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":7,"docs":{"131":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":1.7320508075688772},"170":{"tf":1.0},"179":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"177":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"166":{"tf":1.0},"25":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"t":{"df":3,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"129":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":6,"docs":{"101":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"152":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"151":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"148":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"171":{"tf":1.0},"174":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"163":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"v":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"160":{"tf":1.0}}},"1":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":6,"docs":{"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"136":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"160":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.4142135623730951},"25":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"108":{"tf":1.0},"136":{"tf":1.0},"167":{"tf":1.0},"91":{"tf":1.7320508075688772}}}},"df":86,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"160":{"tf":1.4142135623730951},"163":{"tf":2.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"177":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"180":{"tf":2.449489742783178},"184":{"tf":1.0},"189":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"6":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"122":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":14,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"167":{"tf":2.23606797749979},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0}},"i":{"d":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"70":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"56":{"tf":2.0}},"i":{"d":{"df":16,"docs":{"100":{"tf":1.4142135623730951},"107":{"tf":1.7320508075688772},"110":{"tf":1.4142135623730951},"117":{"tf":1.0},"146":{"tf":1.4142135623730951},"148":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":2.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}},"df":50,"docs":{"100":{"tf":1.0},"101":{"tf":2.23606797749979},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"166":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"184":{"tf":1.0},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"101":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":100,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":2.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"143":{"tf":2.0},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":3.4641016151377544},"165":{"tf":1.7320508075688772},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"189":{"tf":2.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":2.8284271247461903}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":2.449489742783178},"110":{"tf":1.0},"115":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":1.4142135623730951},"147":{"tf":2.6457513110645907},"148":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":2.6457513110645907},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.23606797749979},"70":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"177":{"tf":1.0},"181":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"89":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":3,"docs":{"56":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":19,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":2.0},"138":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"135":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"146":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.0},"169":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"169":{"tf":1.0}}}},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"y":{"df":28,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"13":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"189":{"tf":1.0},"43":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":2,"docs":{"70":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"'":{"d":{"df":2,"docs":{"127":{"tf":1.0},"170":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"40":{"tf":1.0}}},"v":{"df":1,"docs":{"39":{"tf":1.0}}}},"b":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"0":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"125":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"151":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"182":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"171":{"tf":1.0},"178":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"83":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"n":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"163":{"tf":1.0},"69":{"tf":1.7320508075688772},"77":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"39":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"145":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.4142135623730951},"174":{"tf":1.0},"2":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"df":16,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":2.0},"169":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"152":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"63":{"tf":2.0},"8":{"tf":1.7320508075688772},"91":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":1,"docs":{"110":{"tf":1.0}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"160":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":11,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.23606797749979},"121":{"tf":1.0},"128":{"tf":1.0},"160":{"tf":2.0},"170":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"186":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":21,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"113":{"tf":1.0},"63":{"tf":1.7320508075688772},"91":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{"df":23,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"124":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.7320508075688772},"144":{"tf":1.4142135623730951},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"163":{"tf":2.0},"166":{"tf":1.7320508075688772},"178":{"tf":2.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"73":{"tf":5.0990195135927845},"75":{"tf":2.449489742783178},"76":{"tf":1.7320508075688772},"77":{"tf":2.0},"78":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":6,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"144":{"tf":2.0},"50":{"tf":1.0},"73":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"3":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"72":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":7,"docs":{"128":{"tf":1.0},"130":{"tf":1.0},"149":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":13,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"62":{"tf":1.0},"99":{"tf":1.0}}},"v":{"df":5,"docs":{"129":{"tf":1.0},"171":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"110":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"73":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"114":{"tf":1.0},"4":{"tf":1.0},"73":{"tf":2.0}}}}}}}},"breadcrumbs":{"root":{"0":{".":{"1":{".":{"4":{"0":{"9":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"5":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":26,"docs":{"100":{"tf":1.4142135623730951},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"178":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"1":{",":{"2":{",":{"3":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{"5":{"df":1,"docs":{"45":{"tf":1.0}},"f":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":1,"docs":{"135":{"tf":1.0}}},"2":{"8":{"df":0,"docs":{},"e":{"df":1,"docs":{"163":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{".":{"5":{"5":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"0":{"0":{"0":{"0":{"0":{"0":{".":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"147":{"tf":1.0},"163":{"tf":1.4142135623730951},"171":{"tf":1.0}}},"df":6,"docs":{"129":{"tf":1.0},"147":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"49":{"tf":1.4142135623730951},"70":{"tf":1.0}},"x":{"1":{"0":{"0":{"0":{"df":0,"docs":{},"x":{"1":{"0":{"0":{"0":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":26,"docs":{"106":{"tf":2.449489742783178},"107":{"tf":3.1622776601683795},"121":{"tf":1.0},"137":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"147":{"tf":1.4142135623730951},"149":{"tf":1.0},"154":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"158":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"93":{"tf":1.0}},"l":{"df":1,"docs":{"45":{"tf":1.0}}}},"1":{"1":{"1":{"1":{"1":{"1":{"1":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"df":1,"docs":{"85":{"tf":1.0}}},"df":1,"docs":{"137":{"tf":1.0}}},"2":{"df":1,"docs":{"92":{"tf":1.0}}},"5":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.4142135623730951}}},"6":{"df":1,"docs":{"45":{"tf":1.0}}},"df":103,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.7320508075688772},"101":{"tf":2.0},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"111":{"tf":1.0},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":2.23606797749979},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"146":{"tf":1.0},"147":{"tf":2.0},"148":{"tf":2.449489742783178},"149":{"tf":1.0},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.449489742783178},"158":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"165":{"tf":2.8284271247461903},"166":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.7320508075688772},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":2.8284271247461903},"72":{"tf":1.4142135623730951},"73":{"tf":3.4641016151377544},"75":{"tf":2.23606797749979},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":2.449489742783178},"82":{"tf":2.23606797749979},"83":{"tf":2.449489742783178},"85":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":2.0},"99":{"tf":2.0}},"m":{"b":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"*":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"b":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},".":{"6":{"7":{"9":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":2,"docs":{"107":{"tf":1.0},"152":{"tf":1.0}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"df":1,"docs":{"94":{"tf":1.7320508075688772}}},"9":{"df":3,"docs":{"104":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"94":{"tf":1.7320508075688772}}},"^":{"3":{"1":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"3":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":83,"docs":{"100":{"tf":1.0},"102":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"106":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"133":{"tf":1.0},"137":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":2.23606797749979},"158":{"tf":1.0},"159":{"tf":2.0},"16":{"tf":1.0},"160":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"56":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"69":{"tf":1.7320508075688772},"71":{"tf":3.4641016151377544},"72":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"3":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"2":{"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.0}}},"3":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}},"df":60,"docs":{"100":{"tf":1.0},"104":{"tf":1.7320508075688772},"106":{"tf":1.0},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":2.0},"119":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"144":{"tf":1.0},"148":{"tf":1.7320508075688772},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":2.0},"159":{"tf":2.0},"160":{"tf":1.0},"162":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"167":{"tf":1.0},"172":{"tf":1.0},"178":{"tf":1.7320508075688772},"19":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":2.23606797749979},"73":{"tf":3.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"83":{"tf":2.23606797749979},"85":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.0}}},"4":{".":{"0":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":34,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"179":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"97":{"tf":1.0}}},"5":{"0":{"df":1,"docs":{"169":{"tf":1.0}}},"df":25,"docs":{"101":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"23":{"tf":1.0},"40":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}},"6":{".":{"4":{".":{"0":{"df":1,"docs":{"19":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{".":{"0":{"df":2,"docs":{"113":{"tf":1.0},"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"df":1,"docs":{"45":{"tf":1.0}}},"6":{"df":1,"docs":{"49":{"tf":2.0}}},"df":13,"docs":{"101":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.4142135623730951},"152":{"tf":1.0},"159":{"tf":2.23606797749979},"162":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"26":{"tf":1.0},"50":{"tf":1.0},"60":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}}},"7":{"5":{"4":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"122":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"8":{"df":3,"docs":{"137":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0}}},"9":{"9":{"9":{"9":{"9":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":9,"docs":{"101":{"tf":2.0},"158":{"tf":1.4142135623730951},"166":{"tf":2.8284271247461903},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"df":4,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"_":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":19,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"173":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.0},"72":{"tf":1.0},"73":{"tf":3.872983346207417},"93":{"tf":1.0}}},"a":{".":{"df":0,"docs":{},"k":{".":{"a":{"df":1,"docs":{"24":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"a":{"df":1,"docs":{"158":{"tf":2.23606797749979}}},"df":0,"docs":{}},"b":{"c":{"d":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"153":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0}}}},"o":{"df":0,"docs":{},"v":{"df":30,"docs":{"108":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"122":{"tf":1.0},"127":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.7320508075688772},"190":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"62":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"113":{"tf":1.0},"151":{"tf":1.0}}}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"132":{"tf":1.0},"150":{"tf":1.7320508075688772},"160":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":9,"docs":{"103":{"tf":1.7320508075688772},"121":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"182":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":2.6457513110645907}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.7320508075688772}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":5,"docs":{"106":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"36":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951}}}},"v":{"df":1,"docs":{"7":{"tf":2.23606797749979}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":26,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"y":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"d":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":5,"docs":{"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0}}}},"x":{"df":2,"docs":{"139":{"tf":1.0},"144":{"tf":1.0}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":1,"docs":{"93":{"tf":1.0}},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":9,"docs":{"133":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"83":{"tf":1.0},"93":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"182":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":2,"docs":{"107":{"tf":2.449489742783178},"189":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":13,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"138":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"164":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}}},"df":9,"docs":{"111":{"tf":1.4142135623730951},"187":{"tf":1.0},"39":{"tf":1.4142135623730951},"57":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.7320508075688772}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":7,"docs":{"136":{"tf":1.7320508075688772},"145":{"tf":1.0},"173":{"tf":1.7320508075688772},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"142":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"156":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"166":{"tf":1.0},"22":{"tf":1.0},"64":{"tf":1.0}}}}}}},"df":2,"docs":{"104":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":6,"docs":{"111":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"157":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.0},"24":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"4":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"i":{"a":{"df":7,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":2.0},"128":{"tf":2.6457513110645907}},"s":{"df":6,"docs":{"112":{"tf":2.0},"113":{"tf":2.449489742783178},"114":{"tf":2.449489742783178},"115":{"tf":2.23606797749979},"116":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"45":{"tf":1.7320508075688772}}},"df":0,"docs":{},"w":{"df":20,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"135":{"tf":1.0},"142":{"tf":1.4142135623730951},"169":{"tf":1.0},"182":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"125":{"tf":1.0},"147":{"tf":1.0},"156":{"tf":1.0},"185":{"tf":1.0}},"g":{"df":1,"docs":{"150":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":13,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"133":{"tf":1.0},"137":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"115":{"tf":1.0},"12":{"tf":1.4142135623730951},"133":{"tf":1.0},"143":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"120":{"tf":1.0}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":6,"docs":{"125":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"153":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":4,"docs":{"137":{"tf":1.7320508075688772},"155":{"tf":2.6457513110645907},"156":{"tf":2.6457513110645907},"90":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}}}},"y":{"df":0,"docs":{},"z":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":21,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"113":{"tf":1.0},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"159":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"83":{"tf":2.0},"84":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"df":2,"docs":{"133":{"tf":1.0},"145":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":11,"docs":{"110":{"tf":1.0},"120":{"tf":1.4142135623730951},"126":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"91":{"tf":1.0}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"187":{"tf":1.0},"7":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"145":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"162":{"tf":1.0},"33":{"tf":1.0},"43":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":6,"docs":{"168":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.7320508075688772},"185":{"tf":1.4142135623730951},"186":{"tf":1.4142135623730951},"36":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"155":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":4,"docs":{"33":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0}}},"df":3,"docs":{"160":{"tf":1.4142135623730951},"73":{"tf":1.0},"99":{"tf":1.0}}},"y":{"(":{"1":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"<":{"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"144":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"(":{"1":{"0":{"df":1,"docs":{"144":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"153":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"154":{"tf":1.0},"159":{"tf":1.0},"57":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"163":{"tf":1.0}}}}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"117":{"tf":1.0},"161":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":2.8284271247461903}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"(":{"df":2,"docs":{"136":{"tf":1.0},"178":{"tf":1.0}}},"1":{"df":1,"docs":{"112":{"tf":1.0}}},"2":{"df":2,"docs":{"112":{"tf":1.7320508075688772},"150":{"tf":1.0}}},"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":12,"docs":{"114":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.4142135623730951},"144":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.7320508075688772}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":5,"docs":{"113":{"tf":1.0},"122":{"tf":1.0},"135":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"122":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":2.0},"145":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"156":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"142":{"tf":1.0},"148":{"tf":1.0},"170":{"tf":1.0},"181":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"171":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"62":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"188":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"k":{"df":3,"docs":{"151":{"tf":1.0},"168":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.7320508075688772},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951}},"e":{"d":{">":{"(":{"df":0,"docs":{},"o":{"df":1,"docs":{"136":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.4142135623730951}}}}}}}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":7,"docs":{"107":{"tf":1.0},"133":{"tf":1.4142135623730951},"142":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"150":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":3,"docs":{"188":{"tf":1.4142135623730951},"33":{"tf":1.0},"82":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"c":{"/":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"109":{"tf":2.6457513110645907},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"154":{"tf":1.0},"72":{"tf":2.6457513110645907}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":8,"docs":{"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"135":{"tf":1.0},"165":{"tf":1.4142135623730951},"168":{"tf":1.0},"48":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}},"t":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":1,"docs":{"176":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.4142135623730951}},"m":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":2.0},"119":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"159":{"tf":1.0},"171":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}}}},"df":1,"docs":{"10":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":7,"docs":{"150":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":2.23606797749979},"25":{"tf":1.4142135623730951},"89":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":11,"docs":{"129":{"tf":1.0},"135":{"tf":1.4142135623730951},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"162":{"tf":1.4142135623730951}}},"y":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"k":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":3,"docs":{"171":{"tf":1.0},"172":{"tf":1.0},"63":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}}}}},"d":{"df":1,"docs":{"175":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"133":{"tf":1.0},"143":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"175":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"r":{"(":{"1":{"0":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"175":{"tf":1.0},"176":{"tf":1.0}}}}}},"a":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.449489742783178}}},"b":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":1.4142135623730951}}},"c":{"(":{"b":{"a":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"170":{"tf":2.0}}},"df":2,"docs":{"118":{"tf":1.4142135623730951},"170":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"170":{"tf":2.0}}}},"s":{"df":0,"docs":{},"e":{"df":9,"docs":{"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"3":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"i":{"c":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}},"z":{"df":1,"docs":{"118":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"l":{"'":{"df":4,"docs":{"10":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979}}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"18":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":22,"docs":{"10":{"tf":2.449489742783178},"11":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.0},"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.6457513110645907}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"10":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951}}}}},"r":{"c":{"df":5,"docs":{"15":{"tf":1.0},"20":{"tf":1.4142135623730951},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"19":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0}}}}}}}}}},"b":{"b":{"df":1,"docs":{"158":{"tf":2.0}}},"df":0,"docs":{}},"c":{"df":1,"docs":{"152":{"tf":1.0}},"r":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":10,"docs":{"112":{"tf":1.7320508075688772},"130":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"149":{"tf":2.449489742783178},"163":{"tf":2.0},"45":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}},"e":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"161":{"tf":1.4142135623730951},"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}},"df":16,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"150":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"129":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"152":{"tf":1.0},"153":{"tf":1.0},"57":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"105":{"tf":1.0}}},"v":{"df":2,"docs":{"154":{"tf":1.0},"166":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"127":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.4142135623730951},"4":{"tf":1.0},"45":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"5":{"tf":1.0}},"n":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}}}},"d":{"df":2,"docs":{"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"t":{"df":7,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"168":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.7320508075688772},"75":{"tf":1.0},"9":{"tf":1.0}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":19,"docs":{"138":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"175":{"tf":2.6457513110645907},"176":{"tf":2.8284271247461903},"177":{"tf":3.0},"178":{"tf":4.47213595499958},"179":{"tf":2.8284271247461903},"180":{"tf":1.7320508075688772},"181":{"tf":3.3166247903554},"23":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"179":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"178":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"179":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}}},"o":{"b":{"df":2,"docs":{"177":{"tf":1.0},"68":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"169":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":4,"docs":{"113":{"tf":1.0},"4":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"84":{"tf":1.0}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"106":{"tf":1.0},"130":{"tf":1.4142135623730951},"150":{"tf":1.0},"159":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"68":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"152":{"tf":1.0},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"32":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"128":{"tf":1.4142135623730951},"165":{"tf":1.0},"63":{"tf":1.7320508075688772},"8":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"154":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.7320508075688772},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":8,"docs":{"157":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":2.0},"27":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":2,"docs":{"185":{"tf":1.0},"186":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"46":{"tf":1.0},"64":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":1,"docs":{"15":{"tf":1.0}}}}},"o":{"a":{"d":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"138":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"g":{"df":11,"docs":{"110":{"tf":1.0},"114":{"tf":1.0},"164":{"tf":2.0},"165":{"tf":1.4142135623730951},"166":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"176":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"99":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.0},"25":{"tf":1.0}}}}}},"df":28,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":2.449489742783178},"189":{"tf":1.0},"2":{"tf":1.0},"23":{"tf":2.23606797749979},"24":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"29":{"tf":1.0},"30":{"tf":2.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":2.0},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":2.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"150":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"11":{"tf":1.0},"174":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":42,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"161":{"tf":1.0},"163":{"tf":1.7320508075688772},"167":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"80":{"tf":2.23606797749979},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"32":{"tf":1.0},"91":{"tf":1.0}}}},"d":{"df":0,"docs":{},"l":{"df":1,"docs":{"25":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"19":{"tf":1.0},"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"c":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"11":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":35,"docs":{"125":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.0},"140":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.8284271247461903},"156":{"tf":3.1622776601683795},"159":{"tf":1.0},"165":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.7320508075688772},"171":{"tf":2.6457513110645907},"172":{"tf":1.4142135623730951},"174":{"tf":2.23606797749979},"176":{"tf":2.0},"177":{"tf":1.0},"178":{"tf":2.6457513110645907},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.4142135623730951}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"149":{"tf":1.0}}}}}}},"n":{"'":{"df":0,"docs":{},"t":{"df":4,"docs":{"100":{"tf":1.0},"136":{"tf":1.0},"147":{"tf":1.0},"179":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.4142135623730951},"146":{"tf":2.0},"147":{"tf":2.23606797749979},"148":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"88":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"145":{"tf":1.0}}}}},"s":{"c":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":30,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.7320508075688772},"110":{"tf":2.23606797749979},"111":{"tf":1.7320508075688772},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.0},"173":{"tf":1.0},"180":{"tf":1.4142135623730951},"188":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":2.0},"65":{"tf":2.6457513110645907},"66":{"tf":2.6457513110645907},"67":{"tf":3.605551275463989},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":4.0},"72":{"tf":3.7416573867739413},"73":{"tf":4.69041575982343},"80":{"tf":1.0}}},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"135":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":5,"docs":{"100":{"tf":2.23606797749979},"125":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"156":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"110":{"tf":2.0},"73":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":6,"docs":{"145":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"113":{"tf":1.0},"168":{"tf":1.0}}}}}}}},"df":14,"docs":{"137":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"156":{"tf":1.4142135623730951},"170":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"148":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"168":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"172":{"tf":1.0},"176":{"tf":1.0},"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"46":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"168":{"tf":1.0},"182":{"tf":1.0},"2":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"71":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"45":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"149":{"tf":1.0},"45":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":14,"docs":{"106":{"tf":2.449489742783178},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"110":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"92":{"tf":1.0},"95":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.4142135623730951}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"126":{"tf":1.0}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"129":{"tf":1.0},"186":{"tf":1.0},"39":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"148":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0}},"n":{"df":3,"docs":{"186":{"tf":1.0},"187":{"tf":1.0},"39":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"v":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"117":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"164":{"tf":1.0}}}}},"o":{"'":{"df":38,"docs":{"109":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.7320508075688772},"148":{"tf":1.0},"152":{"tf":1.0},"154":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.7320508075688772},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.4142135623730951},"22":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.4142135623730951},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"18":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"24":{"tf":2.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"30":{"tf":2.23606797749979},"33":{"tf":1.0},"37":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"39":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":6,"docs":{"18":{"tf":1.0},"187":{"tf":2.0},"188":{"tf":1.0},"189":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":109,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.7320508075688772},"10":{"tf":1.0},"100":{"tf":2.0},"101":{"tf":1.7320508075688772},"104":{"tf":1.7320508075688772},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":2.23606797749979},"11":{"tf":1.4142135623730951},"110":{"tf":2.0},"111":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":2.23606797749979},"13":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"142":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"150":{"tf":1.0},"151":{"tf":1.4142135623730951},"153":{"tf":1.4142135623730951},"154":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"163":{"tf":1.4142135623730951},"165":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":2.0},"17":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"18":{"tf":2.449489742783178},"182":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"31":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"5":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":2.449489742783178},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"84":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":2.449489742783178},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":1.0},"99":{"tf":2.0}},"’":{"df":1,"docs":{"3":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"142":{"tf":1.7320508075688772},"143":{"tf":1.0},"144":{"tf":2.23606797749979},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.7320508075688772},"2":{"tf":1.0},"81":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"126":{"tf":1.0},"34":{"tf":1.0},"68":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"150":{"tf":1.4142135623730951},"64":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"109":{"tf":1.0}}},"r":{"df":1,"docs":{"113":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"173":{"tf":1.0},"189":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0}},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"145":{"tf":2.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":2.23606797749979},"188":{"tf":1.0}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"<":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}},"df":1,"docs":{"148":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"s":{"df":3,"docs":{"110":{"tf":1.0},"129":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":36,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":2.0},"128":{"tf":1.0},"129":{"tf":2.0},"135":{"tf":1.4142135623730951},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"170":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"190":{"tf":1.7320508075688772},"2":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.7320508075688772},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":2.0},"70":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0},"91":{"tf":1.4142135623730951},"99":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"'":{"d":{"df":1,"docs":{"153":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"78":{"tf":1.0}},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"159":{"tf":2.6457513110645907},"160":{"tf":1.7320508075688772},"167":{"tf":1.0}}},"y":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":2.449489742783178},"160":{"tf":2.0},"167":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"112":{"tf":1.0}}}}}},"l":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.23606797749979}},"l":{"df":1,"docs":{"163":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":2,"docs":{"131":{"tf":1.0},"91":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":39,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"117":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":2.23606797749979},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"80":{"tf":2.0},"81":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}},"r":{"df":5,"docs":{"177":{"tf":2.23606797749979},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"154":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":13,"docs":{"136":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"11":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.7320508075688772},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":43,"docs":{"149":{"tf":1.0},"157":{"tf":1.0},"177":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"151":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":46,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"122":{"tf":1.7320508075688772},"124":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":2.0},"129":{"tf":1.0},"13":{"tf":1.4142135623730951},"131":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":2.449489742783178},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"182":{"tf":1.0},"188":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"79":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"99":{"tf":2.449489742783178}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":6,"docs":{"136":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":2.449489742783178},"190":{"tf":1.0}}},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}},"2":{"df":1,"docs":{"165":{"tf":1.0}}},"6":{"4":{"df":1,"docs":{"165":{"tf":1.0}}},"df":1,"docs":{"165":{"tf":1.0}}},"8":{"2":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"3":{"7":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"165":{"tf":1.0}}}}}}}},"df":1,"docs":{"165":{"tf":3.3166247903554}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":6,"docs":{"105":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"c":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"168":{"tf":1.0},"182":{"tf":1.0},"186":{"tf":1.0},"23":{"tf":1.0}}},"s":{"df":4,"docs":{"128":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"182":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":2.449489742783178},"171":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":6,"docs":{"163":{"tf":1.7320508075688772},"74":{"tf":2.0},"75":{"tf":2.23606797749979},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"78":{"tf":2.449489742783178}}}}}}}},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"140":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":40,"docs":{"108":{"tf":1.0},"109":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}},"u":{"df":3,"docs":{"153":{"tf":1.0},"179":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"111":{"tf":1.0},"64":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":3.0},"125":{"tf":2.23606797749979},"127":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"153":{"tf":1.0},"160":{"tf":1.4142135623730951}},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"125":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":20,"docs":{"1":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"173":{"tf":1.0},"174":{"tf":2.6457513110645907},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.7320508075688772},"84":{"tf":1.4142135623730951}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"107":{"tf":1.0},"149":{"tf":1.4142135623730951},"173":{"tf":2.449489742783178},"48":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"48":{"tf":1.0}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"176":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":8,"docs":{"12":{"tf":1.7320508075688772},"154":{"tf":1.0},"169":{"tf":1.4142135623730951},"174":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"31":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"67":{"tf":1.0}},"s":{"df":1,"docs":{"153":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"108":{"tf":1.0},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"161":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"125":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"45":{"tf":1.0},"90":{"tf":1.0}},"t":{"df":3,"docs":{"117":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"146":{"tf":1.0},"56":{"tf":1.0},"64":{"tf":1.4142135623730951},"78":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"119":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"112":{"tf":1.0},"13":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.0},"140":{"tf":3.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.4142135623730951},"189":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":12,"docs":{"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"157":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.7320508075688772},"27":{"tf":1.0},"33":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":14,"docs":{"107":{"tf":1.4142135623730951},"133":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.4142135623730951},"65":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}},"u":{"df":3,"docs":{"125":{"tf":1.0},"154":{"tf":1.0},"156":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"14":{"tf":1.0},"174":{"tf":1.4142135623730951},"32":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"150":{"tf":1.4142135623730951}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":9,"docs":{"125":{"tf":1.0},"150":{"tf":3.3166247903554},"151":{"tf":2.23606797749979},"152":{"tf":2.6457513110645907},"153":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":1.7320508075688772},"156":{"tf":2.449489742783178},"184":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":33,"docs":{"107":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":8,"docs":{"115":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"t":{"df":1,"docs":{"25":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"120":{"tf":1.0}}},"t":{"df":1,"docs":{"27":{"tf":1.0}}}},"y":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"62":{"tf":2.449489742783178}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":23,"docs":{"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"145":{"tf":1.0},"147":{"tf":1.0},"157":{"tf":3.1622776601683795},"158":{"tf":2.8284271247461903},"159":{"tf":3.1622776601683795},"160":{"tf":2.23606797749979},"161":{"tf":2.0},"162":{"tf":3.1622776601683795},"163":{"tf":4.123105625617661},"164":{"tf":2.23606797749979},"165":{"tf":3.1622776601683795},"166":{"tf":2.8284271247461903},"167":{"tf":1.7320508075688772},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"78":{"tf":2.0}},"e":{"d":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"[":{"1":{"]":{"[":{"0":{"df":1,"docs":{"158":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"df":1,"docs":{"157":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"131":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"130":{"tf":1.0},"187":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"d":{"'":{"df":0,"docs":{},"v":{"df":1,"docs":{"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"149":{"tf":1.0},"61":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"132":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":9,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"71":{"tf":1.0},"80":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":3,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"135":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":12,"docs":{"138":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.4142135623730951},"165":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"37":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}},"e":{"_":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"11":{"tf":1.7320508075688772},"15":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"36":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":21,"docs":{"100":{"tf":1.0},"108":{"tf":1.0},"110":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"177":{"tf":1.0},"39":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"69":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"113":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.7320508075688772},"159":{"tf":1.0},"165":{"tf":1.0}}}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":1.0},"3":{"tf":1.0}}},"m":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":2.449489742783178}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"36":{"tf":1.0}}}},"t":{"a":{"df":39,"docs":{"109":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"157":{"tf":2.449489742783178},"158":{"tf":1.7320508075688772},"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"161":{"tf":1.7320508075688772},"162":{"tf":1.7320508075688772},"163":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":2.8284271247461903},"167":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.23606797749979},"170":{"tf":1.0},"174":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":2.23606797749979},"63":{"tf":2.8284271247461903},"68":{"tf":2.0},"69":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}}},"b":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}},"df":2,"docs":{"152":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":10,"docs":{"168":{"tf":1.0},"174":{"tf":2.449489742783178},"175":{"tf":1.0},"176":{"tf":2.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"157":{"tf":1.0}}}},"b":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":48,"docs":{"101":{"tf":2.0},"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":2.23606797749979},"116":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.0},"146":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"160":{"tf":1.4142135623730951},"167":{"tf":2.0},"17":{"tf":1.0},"170":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"187":{"tf":1.0},"19":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"81":{"tf":2.6457513110645907},"85":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"182":{"tf":1.0},"62":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":5,"docs":{"157":{"tf":1.0},"158":{"tf":1.7320508075688772},"161":{"tf":1.0},"84":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"160":{"tf":1.0},"161":{"tf":1.0},"162":{"tf":1.7320508075688772},"62":{"tf":1.0},"84":{"tf":1.0}}}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":8,"docs":{"167":{"tf":1.0},"169":{"tf":1.4142135623730951},"3":{"tf":1.0},"36":{"tf":1.0},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"82":{"tf":1.0},"97":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"154":{"tf":1.4142135623730951},"176":{"tf":1.4142135623730951},"178":{"tf":2.0}},"t":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"df":1,"docs":{"178":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":45,"docs":{"108":{"tf":1.0},"111":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"143":{"tf":1.4142135623730951},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"160":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":2.449489742783178},"171":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"183":{"tf":1.4142135623730951},"184":{"tf":1.0},"185":{"tf":1.0},"187":{"tf":1.7320508075688772},"23":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":19,"docs":{"115":{"tf":1.0},"116":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":2.449489742783178},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"172":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.4142135623730951},"187":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"73":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"140":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"o":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":8,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":5,"docs":{"15":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":12,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":2.23606797749979},"33":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772}}}}}}}},"p":{"df":10,"docs":{"176":{"tf":1.0},"178":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.0},"189":{"tf":1.0},"27":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951},"43":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"d":{"df":22,"docs":{"11":{"tf":1.0},"153":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"18":{"tf":1.4142135623730951},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":2.0},"188":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":2,"docs":{"174":{"tf":1.0},"33":{"tf":1.7320508075688772}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"166":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":5,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"155":{"tf":1.0},"164":{"tf":1.0},"33":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":12,"docs":{"105":{"tf":1.0},"148":{"tf":1.7320508075688772},"154":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":4,"docs":{"105":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"77":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"149":{"tf":1.0},"155":{"tf":1.0},"25":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"137":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"78":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"113":{"tf":1.0},"13":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0},"3":{"tf":1.4142135623730951},"33":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":2.0},"9":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"157":{"tf":1.0},"91":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"167":{"tf":1.0},"169":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"133":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"<":{"a":{",":{"b":{">":{"(":{"a":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":4,"docs":{"113":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"182":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"110":{"tf":1.0},"120":{"tf":1.0},"162":{"tf":1.0}}}}}}}}}}},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"b":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"36":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":10,"docs":{"100":{"tf":1.0},"109":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"81":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"a":{"(":{"@":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"(":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"146":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":12,"docs":{"11":{"tf":1.0},"150":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0},"179":{"tf":1.0},"185":{"tf":1.0},"2":{"tf":1.4142135623730951},"7":{"tf":1.0},"76":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"167":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"172":{"tf":1.0}}}}}}}},"t":{"df":1,"docs":{"103":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":7,"docs":{"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"79":{"tf":1.0}},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"25":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"186":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"e":{"df":2,"docs":{"110":{"tf":1.0},"174":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":5,"docs":{"177":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{":":{":":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":3,"docs":{"153":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":5,"docs":{"129":{"tf":1.0},"135":{"tf":1.0},"153":{"tf":1.0},"48":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"g":{"df":5,"docs":{"128":{"tf":1.0},"157":{"tf":1.0},"18":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"56":{"tf":1.0}}},"1":{"df":1,"docs":{"56":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"h":{"df":22,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"96":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"168":{"tf":1.0},"175":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"169":{"tf":1.0},"179":{"tf":1.0},"33":{"tf":1.0},"53":{"tf":1.0},"61":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"105":{"tf":1.0},"25":{"tf":1.0}}}}}}}}}},"df":6,"docs":{"149":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":8,"docs":{"137":{"tf":1.0},"140":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"161":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"162":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"163":{"tf":1.0},"58":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":19,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"149":{"tf":2.0},"157":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.4142135623730951},"53":{"tf":1.0},"56":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.6457513110645907}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"162":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.4142135623730951}},"e":{".":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"68":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"i":{"df":5,"docs":{"128":{"tf":1.0},"134":{"tf":1.4142135623730951},"58":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"120":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}},"e":{"_":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"182":{"tf":1.0}}}}}}},"df":0,"docs":{},"o":{"d":{"df":6,"docs":{"114":{"tf":1.0},"132":{"tf":1.0},"151":{"tf":1.4142135623730951},"160":{"tf":1.0},"169":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"g":{"df":4,"docs":{"111":{"tf":1.0},"180":{"tf":1.0},"33":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}}}},"d":{"df":13,"docs":{"108":{"tf":1.7320508075688772},"145":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":6,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"174":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"129":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"117":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"149":{"tf":1.0},"150":{"tf":1.0},"63":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"106":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"158":{"tf":1.0},"166":{"tf":1.0},"170":{"tf":1.4142135623730951},"174":{"tf":1.0},"188":{"tf":1.0},"31":{"tf":1.0},"39":{"tf":1.0},"7":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"96":{"tf":2.23606797749979}}},"y":{"[":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":2.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"171":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"110":{"tf":1.0},"138":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"81":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"115":{"tf":2.0},"116":{"tf":1.0},"117":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"154":{"tf":1.0},"78":{"tf":1.0}}}}}}},"r":{"df":1,"docs":{"154":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"(":{"df":1,"docs":{"179":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":30,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"110":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"128":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"155":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":2.0},"179":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":2.23606797749979},"50":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"67":{"tf":2.0},"71":{"tf":2.0},"72":{"tf":1.7320508075688772},"73":{"tf":2.0},"79":{"tf":2.0},"90":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"166":{"tf":1.0},"91":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"146":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"88":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":17,"docs":{"110":{"tf":1.0},"116":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"33":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"u":{"df":2,"docs":{"174":{"tf":1.0},"73":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"x":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.0}}},"5":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"f":{"1":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"f":{"2":{"df":1,"docs":{"189":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"a":{"d":{"d":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"162":{"tf":1.4142135623730951},"166":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"127":{"tf":1.0},"130":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":58,"docs":{"108":{"tf":2.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.4142135623730951},"136":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":2.0},"155":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.4142135623730951},"177":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"189":{"tf":2.0},"190":{"tf":1.7320508075688772},"29":{"tf":1.0},"36":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":2.23606797749979},"76":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"89":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"/":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":2,"docs":{"39":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"s":{"/":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"12":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"34":{"tf":1.0}}}}},"df":1,"docs":{"189":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":17,"docs":{"168":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.4142135623730951},"173":{"tf":2.23606797749979},"174":{"tf":2.0},"189":{"tf":1.7320508075688772},"22":{"tf":1.0},"25":{"tf":2.449489742783178},"27":{"tf":1.0},"31":{"tf":1.7320508075688772},"32":{"tf":2.0},"33":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0},"8":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"67":{"tf":1.0},"72":{"tf":2.23606797749979},"73":{"tf":2.6457513110645907}},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"8":{"df":1,"docs":{"72":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"120":{"tf":1.0},"150":{"tf":1.4142135623730951},"30":{"tf":1.0},"67":{"tf":1.4142135623730951},"81":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.0}}}},"t":{"df":3,"docs":{"51":{"tf":1.7320508075688772},"59":{"tf":1.7320508075688772},"88":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"117":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"100":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"130":{"tf":1.0},"154":{"tf":1.0},"155":{"tf":1.0},"173":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"d":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"t":{"df":1,"docs":{"15":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}},"n":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":14,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.0},"27":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"76":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":22,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"184":{"tf":1.0},"188":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"78":{"tf":1.0},"93":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.4142135623730951}}}},"s":{"df":3,"docs":{"162":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0}}}},"r":{"df":1,"docs":{"100":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"133":{"tf":1.7320508075688772},"137":{"tf":1.7320508075688772},"140":{"tf":1.0},"143":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":1,"docs":{"24":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":5,"docs":{"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"a":{"df":3,"docs":{"27":{"tf":1.0},"32":{"tf":2.0},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":8,"docs":{"157":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"48":{"tf":1.0}}}},"f":{"(":{"0":{"df":1,"docs":{"147":{"tf":1.0}}},"1":{"df":1,"docs":{"147":{"tf":1.0}}},"5":{"df":1,"docs":{"147":{"tf":1.4142135623730951}}},"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"147":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":1,"docs":{"189":{"tf":1.0}}},"2":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}},"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"t":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"132":{"tf":1.0},"162":{"tf":1.4142135623730951},"167":{"tf":1.0},"169":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"149":{"tf":1.0},"168":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.4142135623730951},"33":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"l":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"72":{"tf":1.0},"73":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"174":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"64":{"tf":1.0}}}}}}}}}},"s":{"df":8,"docs":{"130":{"tf":1.4142135623730951},"159":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"15":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"145":{"tf":1.0}}}},"df":0,"docs":{}}},"df":7,"docs":{"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"143":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":10,"docs":{"112":{"tf":1.0},"136":{"tf":1.0},"154":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"179":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.4142135623730951},"164":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"w":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"170":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":5,"docs":{"102":{"tf":1.0},"103":{"tf":1.7320508075688772},"116":{"tf":1.0},"166":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":126,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"130":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"143":{"tf":1.4142135623730951},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.7320508075688772},"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"16":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"173":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.4142135623730951},"178":{"tf":1.7320508075688772},"179":{"tf":1.0},"181":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"df":29,"docs":{"12":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"18":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.7320508075688772},"187":{"tf":1.0},"188":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"25":{"tf":2.0},"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":3.0},"37":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"8":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"s":{":":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"178":{"tf":1.4142135623730951}}}},"<":{"a":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"150":{"tf":1.0},"178":{"tf":1.0}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"149":{"tf":2.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.0},"181":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"146":{"tf":1.0},"25":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"d":{"df":7,"docs":{"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"157":{"tf":1.0},"25":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"81":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"83":{"tf":1.0}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":4,"docs":{"128":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.7320508075688772}}}},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"13":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":32,"docs":{"11":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"142":{"tf":1.7320508075688772},"143":{"tf":1.0},"144":{"tf":2.23606797749979},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.7320508075688772},"2":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"81":{"tf":1.0},"9":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"t":{"df":1,"docs":{"9":{"tf":1.0}}},"x":{"df":12,"docs":{"100":{"tf":1.0},"122":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"36":{"tf":1.4142135623730951},"39":{"tf":1.0},"4":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"45":{"tf":2.0}}}},"df":0,"docs":{},"w":{"df":32,"docs":{"107":{"tf":1.4142135623730951},"48":{"tf":2.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":2.6457513110645907},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}},"n":{"(":{"a":{"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":3,"docs":{"112":{"tf":1.0},"148":{"tf":1.4142135623730951},"149":{"tf":1.0}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":40,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.4142135623730951},"171":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"186":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.4142135623730951},"31":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"o":{"(":{"1":{"df":3,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0}}},"[":{"(":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"160":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"150":{"tf":1.0}}},"a":{"df":1,"docs":{"170":{"tf":1.0}}},"df":0,"docs":{}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":1,"docs":{"73":{"tf":4.795831523312719}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"2":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":1,"docs":{"73":{"tf":2.6457513110645907}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"{":{"a":{"df":1,"docs":{"73":{"tf":3.872983346207417}}},"df":0,"docs":{}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.4142135623730951}}}}}},"a":{">":{"(":{"a":{"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"160":{"tf":1.0},"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"160":{"tf":2.23606797749979},"167":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"a":{"df":1,"docs":{"170":{"tf":2.23606797749979}}},"b":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"c":{"df":1,"docs":{"170":{"tf":2.449489742783178}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"120":{"tf":2.0},"121":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"175":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.8284271247461903},"36":{"tf":1.4142135623730951},"91":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"175":{"tf":1.0}}}},"df":1,"docs":{"172":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"170":{"tf":2.23606797749979}}}},"r":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"101":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0}}}}},"df":1,"docs":{"178":{"tf":1.0}}},"df":0,"docs":{}}},"c":{"df":2,"docs":{"138":{"tf":1.0},"175":{"tf":1.0}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"81":{"tf":1.0}}},"t":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":11,"docs":{"112":{"tf":1.0},"152":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.4142135623730951},"185":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"161":{"tf":1.0},"167":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"7":{"tf":1.0}}}},"df":11,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"162":{"tf":1.0},"190":{"tf":1.0},"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"174":{"tf":1.0}}},"df":13,"docs":{"146":{"tf":1.0},"164":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":2.449489742783178},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.4142135623730951},"39":{"tf":1.0}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"168":{"tf":1.0},"25":{"tf":1.0}},"i":{"df":8,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.0},"187":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"149":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.0}}}}}},"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"143":{"tf":1.0},"176":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}},"t":{"df":2,"docs":{"177":{"tf":1.4142135623730951},"178":{"tf":1.0}}},"|":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"156":{"tf":1.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951}}}}}},"b":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"133":{"tf":1.0},"144":{"tf":1.0}}}}}}},"df":52,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":2.449489742783178},"139":{"tf":2.0},"142":{"tf":1.0},"144":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":3.605551275463989},"151":{"tf":1.0},"152":{"tf":1.7320508075688772},"154":{"tf":2.0},"156":{"tf":1.4142135623730951},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"160":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":2.0},"175":{"tf":1.0},"176":{"tf":1.7320508075688772},"177":{"tf":4.123105625617661},"178":{"tf":3.605551275463989},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":2.23606797749979},"182":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":1.7320508075688772},"186":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"23":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"155":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":13,"docs":{"113":{"tf":1.0},"131":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"57":{"tf":1.0},"91":{"tf":1.0}},"e":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"178":{"tf":1.7320508075688772}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":1,"docs":{"172":{"tf":1.4142135623730951}},"r":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"169":{"tf":1.0},"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"(":{"\"":{"<":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{">":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":1,"docs":{"173":{"tf":1.0}}},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"153":{"tf":1.0},"163":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"3":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":39,"docs":{"108":{"tf":1.0},"11":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.7320508075688772},"125":{"tf":2.0},"129":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":2.23606797749979},"137":{"tf":2.0},"138":{"tf":1.4142135623730951},"149":{"tf":2.6457513110645907},"15":{"tf":1.0},"150":{"tf":3.605551275463989},"151":{"tf":1.4142135623730951},"152":{"tf":1.7320508075688772},"153":{"tf":2.0},"154":{"tf":2.23606797749979},"155":{"tf":2.449489742783178},"156":{"tf":2.23606797749979},"160":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":1.7320508075688772},"166":{"tf":1.4142135623730951},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":3.1622776601683795},"179":{"tf":2.23606797749979},"180":{"tf":2.23606797749979},"181":{"tf":2.0},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.23606797749979},"36":{"tf":1.0},"45":{"tf":1.4142135623730951},"80":{"tf":1.0},"99":{"tf":1.0}},"i":{"c":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"155":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"7":{"df":1,"docs":{"156":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"154":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":37,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"[":{"0":{"df":1,"docs":{"167":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"<":{"df":0,"docs":{},"k":{",":{"df":0,"docs":{},"v":{">":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"s":{"(":{"@":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"@":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"d":{"b":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"169":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":3.0}}}}}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"186":{"tf":1.0},"62":{"tf":1.0}},"n":{"df":12,"docs":{"122":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"168":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"145":{"tf":1.4142135623730951},"166":{"tf":1.0},"91":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"167":{"tf":1.0},"28":{"tf":1.0}},"e":{"df":1,"docs":{"166":{"tf":1.0}}},"o":{"d":{"b":{"df":0,"docs":{},"y":{"df":1,"docs":{"47":{"tf":1.4142135623730951}}}},"df":2,"docs":{"175":{"tf":1.0},"43":{"tf":1.0}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"3":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"39":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"83":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"68":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"h":{"df":10,"docs":{"146":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":3.0},"170":{"tf":3.7416573867739413},"171":{"tf":3.4641016151377544},"172":{"tf":2.449489742783178},"173":{"tf":2.0},"174":{"tf":3.7416573867739413},"176":{"tf":2.8284271247461903},"178":{"tf":2.6457513110645907}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"172":{"tf":2.0}}}}}}},"r":{"df":2,"docs":{"171":{"tf":1.4142135623730951},"172":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"170":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":2.0},"111":{"tf":1.4142135623730951},"49":{"tf":1.0},"72":{"tf":3.3166247903554}}},"t":{"df":2,"docs":{"34":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}},"t":{"df":3,"docs":{"169":{"tf":2.0},"170":{"tf":3.7416573867739413},"173":{"tf":2.23606797749979}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":16,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"175":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}},"d":{"df":2,"docs":{"107":{"tf":1.7320508075688772},"108":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"15":{"tf":1.0},"25":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"a":{"df":0,"docs":{},"n":{"d":{"c":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":6,"docs":{"142":{"tf":1.0},"175":{"tf":1.0},"26":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":10,"docs":{"165":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"174":{"tf":2.6457513110645907},"177":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":11,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"160":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"46":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0}}}}}},"r":{"d":{"df":4,"docs":{"117":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"62":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"175":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"168":{"tf":1.0},"169":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":5,"docs":{"115":{"tf":1.0},"162":{"tf":1.4142135623730951},"174":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"70":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"174":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.0}},"}":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"140":{"tf":1.0}}}}}}}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":6,"docs":{"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":10,"docs":{"136":{"tf":1.4142135623730951},"152":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"63":{"tf":2.0},"8":{"tf":2.0}}}},"p":{"df":1,"docs":{"164":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"df":13,"docs":{"101":{"tf":1.7320508075688772},"104":{"tf":1.4142135623730951},"107":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"185":{"tf":1.0},"190":{"tf":1.0},"23":{"tf":1.0},"36":{"tf":1.4142135623730951},"39":{"tf":1.4142135623730951},"76":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"i":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":2,"docs":{"15":{"tf":1.0},"174":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"1":{"tf":1.4142135623730951},"10":{"tf":1.0},"114":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"63":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"43":{"tf":1.0}}}}},"o":{"c":{"df":2,"docs":{"111":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951}}},"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"126":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772}},"s":{"(":{"4":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"<":{"/":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{".":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"/":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"/":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"12":{"tf":1.0},"18":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}}}}}}}},"i":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.4142135623730951},"164":{"tf":1.0},"168":{"tf":1.0},"62":{"tf":2.0}}}},"m":{"df":1,"docs":{"163":{"tf":1.0}}}},".":{"df":3,"docs":{"109":{"tf":1.0},"169":{"tf":1.0},"69":{"tf":1.0}}},"/":{"df":0,"docs":{},"o":{"df":2,"docs":{"140":{"tf":1.0},"168":{"tf":1.0}}}},"1":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"115":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"138":{"tf":1.0}},"l":{"df":3,"docs":{"127":{"tf":1.0},"177":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"122":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"f":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"32":{"tf":1.0},"93":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"128":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":10,"docs":{"101":{"tf":1.7320508075688772},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"146":{"tf":1.7320508075688772},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"82":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"112":{"tf":1.0},"170":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":2,"docs":{"149":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":10,"docs":{"101":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":2.23606797749979},"45":{"tf":1.4142135623730951},"74":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.7320508075688772},"83":{"tf":2.0},"84":{"tf":1.7320508075688772}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"62":{"tf":1.0}}}},"l":{"df":2,"docs":{"125":{"tf":1.0},"156":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"107":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":2.23606797749979},"151":{"tf":1.0},"152":{"tf":2.6457513110645907},"153":{"tf":2.23606797749979},"154":{"tf":2.23606797749979},"157":{"tf":1.0},"159":{"tf":1.0},"164":{"tf":1.4142135623730951},"166":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"184":{"tf":1.4142135623730951},"185":{"tf":2.0},"186":{"tf":1.4142135623730951},"28":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"7":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"91":{"tf":1.0}}}}}}},"i":{"c":{"df":3,"docs":{"138":{"tf":1.0},"174":{"tf":1.0},"180":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"df":2,"docs":{"128":{"tf":1.0},"169":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"129":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":6,"docs":{"10":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"161":{"tf":1.0},"24":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"s":{"df":2,"docs":{"101":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":4,"docs":{"125":{"tf":1.0},"128":{"tf":2.6457513110645907},"163":{"tf":1.0},"174":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":7,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"n":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"d":{"df":6,"docs":{"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"150":{"tf":1.0},"170":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"70":{"tf":1.0}}}},"d":{"df":1,"docs":{"161":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"182":{"tf":1.0},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}}}},"d":{"df":1,"docs":{"154":{"tf":2.23606797749979}},"e":{"df":1,"docs":{"129":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":6,"docs":{"147":{"tf":1.0},"151":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":2.0},"46":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"$":{"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"154":{"tf":2.0},"155":{"tf":1.4142135623730951}}}},"df":2,"docs":{"154":{"tf":1.0},"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"<":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}},"df":7,"docs":{"100":{"tf":2.6457513110645907},"135":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":2.449489742783178},"99":{"tf":3.1622776601683795}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"i":{"c":{"df":3,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"135":{"tf":1.0},"156":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"163":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"125":{"tf":2.6457513110645907},"129":{"tf":2.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.7320508075688772},"137":{"tf":1.0},"154":{"tf":2.23606797749979},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"5":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":2.6457513110645907}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"128":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"176":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}}}}},"o":{"df":2,"docs":{"108":{"tf":1.0},"32":{"tf":1.4142135623730951}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"150":{"tf":1.0},"152":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"140":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":26,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"11":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"134":{"tf":1.4142135623730951},"149":{"tf":1.0},"162":{"tf":1.0},"167":{"tf":3.1622776601683795},"177":{"tf":1.0},"178":{"tf":1.0},"46":{"tf":2.6457513110645907},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"58":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"173":{"tf":1.7320508075688772},"2":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"165":{"tf":1.0},"81":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"159":{"tf":1.0},"163":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"(":{"\"":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"15":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0}}}}}},"df":10,"docs":{"138":{"tf":1.0},"162":{"tf":1.0},"168":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"147":{"tf":1.0},"174":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"r":{"df":7,"docs":{"107":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":2.23606797749979},"18":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.7320508075688772}}},"n":{"c":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"125":{"tf":1.0},"167":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":4,"docs":{"106":{"tf":3.605551275463989},"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"136":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"163":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":4,"docs":{"119":{"tf":1.7320508075688772},"128":{"tf":1.0},"167":{"tf":1.0},"81":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"a":{"d":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"130":{"tf":1.0},"163":{"tf":1.0},"180":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"172":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":55,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"106":{"tf":2.8284271247461903},"107":{"tf":2.23606797749979},"112":{"tf":2.0},"113":{"tf":1.0},"115":{"tf":2.0},"118":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"143":{"tf":2.0},"144":{"tf":2.6457513110645907},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.4142135623730951},"152":{"tf":2.0},"154":{"tf":3.0},"155":{"tf":1.0},"156":{"tf":2.449489742783178},"159":{"tf":2.449489742783178},"160":{"tf":2.449489742783178},"163":{"tf":1.7320508075688772},"165":{"tf":2.23606797749979},"167":{"tf":1.4142135623730951},"170":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":2.0},"179":{"tf":1.4142135623730951},"181":{"tf":1.4142135623730951},"184":{"tf":1.0},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"58":{"tf":1.4142135623730951},"70":{"tf":2.6457513110645907},"73":{"tf":1.0},"81":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"e":{"df":0,"docs":{},"g":{"df":2,"docs":{"135":{"tf":1.0},"82":{"tf":1.0}},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"n":{"d":{"df":8,"docs":{"134":{"tf":1.0},"136":{"tf":1.0},"145":{"tf":1.0},"175":{"tf":1.0},"186":{"tf":1.0},"62":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"151":{"tf":1.0},"167":{"tf":1.0},"175":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"152":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":1,"docs":{"116":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"154":{"tf":1.0},"163":{"tf":1.0},"7":{"tf":1.0},"99":{"tf":1.0}}}}},"f":{"a":{"c":{"df":4,"docs":{"151":{"tf":2.0},"153":{"tf":1.0},"185":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":4,"docs":{"158":{"tf":1.0},"162":{"tf":1.0},"3":{"tf":1.0},"68":{"tf":1.0}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"115":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"115":{"tf":2.0}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.23606797749979}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"105":{"tf":1.0},"106":{"tf":2.449489742783178},"107":{"tf":3.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"91":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"177":{"tf":1.0},"19":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}},"df":0,"docs":{}}},"df":10,"docs":{"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":2.0}}}}}}}}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"<":{"df":0,"docs":{},"x":{"df":1,"docs":{"124":{"tf":1.0}}}},"df":14,"docs":{"107":{"tf":1.0},"110":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"125":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"116":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"175":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":4,"docs":{"167":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.7320508075688772},"32":{"tf":1.0}}},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"173":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":3,"docs":{"158":{"tf":1.0},"169":{"tf":1.0},"182":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":7,"docs":{"114":{"tf":1.0},"128":{"tf":1.0},"13":{"tf":1.0},"145":{"tf":1.0},"156":{"tf":1.0},"168":{"tf":1.4142135623730951},"176":{"tf":1.0}}}}},"t":{"'":{"df":31,"docs":{"10":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"128":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.7320508075688772},"175":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"36":{"tf":1.0},"57":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"77":{"tf":1.4142135623730951},"81":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"168":{"tf":1.0}}},"r":{"df":7,"docs":{"52":{"tf":1.7320508075688772},"53":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.7320508075688772},"74":{"tf":1.0},"96":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":9,"docs":{"115":{"tf":1.0},"145":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"186":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}}}}}}}},"j":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}}},"r":{"df":2,"docs":{"25":{"tf":1.0},"33":{"tf":2.6457513110645907}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"104":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"94":{"tf":1.4142135623730951}}}}},"v":{"a":{"'":{"df":1,"docs":{"53":{"tf":1.0}}},"/":{"c":{"+":{"+":{"/":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":1,"docs":{"81":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"k":{"_":{"1":{"1":{"df":3,"docs":{"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":8,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"169":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":2.0},"64":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.7320508075688772}},"o":{"b":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":1,"docs":{"68":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"15":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"m":{"df":4,"docs":{"1":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"k":{":":{"df":0,"docs":{},"v":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":4,"docs":{"56":{"tf":1.0},"95":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":2.0}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":11,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"172":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.4142135623730951}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"33":{"tf":1.0}}}},"y":{"df":8,"docs":{"162":{"tf":1.0},"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.7320508075688772}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":11,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"153":{"tf":1.4142135623730951},"168":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":2,"docs":{"159":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":12,"docs":{"105":{"tf":1.0},"106":{"tf":2.0},"13":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.7320508075688772},"165":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"69":{"tf":1.0}}}}}}},"l":{"1":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"2":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"163":{"tf":1.4142135623730951},"166":{"tf":2.6457513110645907}}},"[":{"0":{"df":4,"docs":{"148":{"tf":1.7320508075688772},"150":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"9":{"9":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"150":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"y":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"m":{"b":{"d":{"a":{"'":{"df":1,"docs":{"133":{"tf":1.0}}},"_":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"146":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":12,"docs":{"112":{"tf":1.4142135623730951},"133":{"tf":2.23606797749979},"142":{"tf":1.7320508075688772},"143":{"tf":2.449489742783178},"144":{"tf":1.7320508075688772},"145":{"tf":3.1622776601683795},"146":{"tf":2.449489742783178},"147":{"tf":2.8284271247461903},"148":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"165":{"tf":1.0},"180":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"30":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":4,"docs":{"12":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":2.0},"24":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"g":{"df":25,"docs":{"1":{"tf":1.4142135623730951},"101":{"tf":1.0},"105":{"tf":2.0},"111":{"tf":1.0},"129":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"138":{"tf":1.7320508075688772},"152":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"24":{"tf":1.0},"3":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"88":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":10,"docs":{"161":{"tf":1.4142135623730951},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"49":{"tf":1.7320508075688772},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"170":{"tf":1.0},"182":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"168":{"tf":1.0},"32":{"tf":1.0},"62":{"tf":1.0},"77":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"174":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":6,"docs":{"108":{"tf":1.0},"142":{"tf":1.0},"17":{"tf":1.0},"174":{"tf":1.0},"91":{"tf":2.23606797749979},"92":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"z":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}},"df":19,"docs":{"130":{"tf":1.4142135623730951},"134":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":2.23606797749979},"178":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":2.0},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772}},"e":{"a":{"d":{"df":11,"docs":{"105":{"tf":1.0},"122":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.4142135623730951},"176":{"tf":1.0},"73":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"65":{"tf":1.0}}}},"v":{"df":6,"docs":{"105":{"tf":1.0},"145":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"158":{"tf":2.23606797749979}}}},"g":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"178":{"tf":1.0}}}},"df":0,"docs":{}},"n":{"(":{"df":3,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0}},"l":{"df":3,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"88":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"159":{"tf":1.0}}}}}}}}},"df":1,"docs":{"62":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"108":{"tf":1.0}}},"t":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"'":{"df":6,"docs":{"15":{"tf":1.0},"154":{"tf":1.0},"163":{"tf":1.4142135623730951},"165":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0}}},"df":1,"docs":{"128":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":13,"docs":{"114":{"tf":1.0},"15":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"25":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"81":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"117":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":4,"docs":{"132":{"tf":1.0},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"152":{"tf":1.0}},"s":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"5":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"109":{"tf":2.0},"110":{"tf":2.449489742783178},"111":{"tf":2.449489742783178},"72":{"tf":2.23606797749979}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":2.6457513110645907}}}}}}}}}},"df":1,"docs":{"109":{"tf":1.0}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":9,"docs":{"111":{"tf":1.0},"131":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":1.0},"167":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.7320508075688772}}}},"df":13,"docs":{"148":{"tf":1.0},"180":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"62":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"82":{"tf":1.0}},"r":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"k":{"df":2,"docs":{"108":{"tf":1.0},"162":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"108":{"tf":1.7320508075688772}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"/":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"78":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":27,"docs":{"108":{"tf":1.4142135623730951},"134":{"tf":1.0},"149":{"tf":2.0},"150":{"tf":1.4142135623730951},"159":{"tf":1.7320508075688772},"160":{"tf":1.0},"162":{"tf":2.449489742783178},"163":{"tf":2.8284271247461903},"166":{"tf":1.4142135623730951},"177":{"tf":1.0},"18":{"tf":1.0},"184":{"tf":1.0},"36":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.0},"75":{"tf":1.7320508075688772},"76":{"tf":1.0},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":2.6457513110645907},"85":{"tf":2.6457513110645907},"86":{"tf":2.0},"87":{"tf":2.0},"88":{"tf":2.23606797749979},"89":{"tf":2.6457513110645907},"90":{"tf":2.0},"91":{"tf":2.0}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"89":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"l":{"df":4,"docs":{"58":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0}}},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"75":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.4142135623730951}}}}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":2,"docs":{"82":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"a":{"df":0,"docs":{},"p":{"a":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"163":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"112":{"tf":1.0},"135":{"tf":2.0},"82":{"tf":1.0},"99":{"tf":2.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"129":{"tf":1.0}}}},"l":{"df":1,"docs":{"150":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"145":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"176":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"o":{"a":{"d":{"(":{"\"":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":5,"docs":{"187":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"30":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"174":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"145":{"tf":1.0},"179":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951}}},"t":{"df":4,"docs":{"162":{"tf":1.4142135623730951},"188":{"tf":1.0},"24":{"tf":1.0},"43":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":1,"docs":{"32":{"tf":1.4142135623730951}},"i":{"c":{"df":11,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.4142135623730951},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"182":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"g":{"df":8,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"120":{"tf":1.0},"129":{"tf":1.0},"145":{"tf":1.0},"178":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"107":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":8,"docs":{"127":{"tf":1.4142135623730951},"138":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.4142135623730951},"168":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"153":{"tf":1.0}}}}},"p":{"'":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}}}},"df":18,"docs":{"149":{"tf":1.0},"165":{"tf":1.0},"176":{"tf":1.0},"189":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"61":{"tf":2.0},"74":{"tf":1.0},"75":{"tf":1.0},"96":{"tf":1.0}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.7320508075688772}}}},"w":{"df":3,"docs":{"166":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0}}}}},"m":{"a":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"o":{"df":1,"docs":{"13":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"11":{"tf":1.0},"166":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}},"df":2,"docs":{"26":{"tf":1.0},"34":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"189":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"172":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"62":{"tf":1.0},"8":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"116":{"tf":1.0},"117":{"tf":1.0},"7":{"tf":1.0},"83":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"116":{"tf":1.0},"170":{"tf":1.0}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"129":{"tf":1.0},"149":{"tf":1.0},"80":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":27,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":1.4142135623730951},"148":{"tf":1.0},"150":{"tf":1.0},"157":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.0},"186":{"tf":1.0},"25":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"169":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":8,"docs":{"10":{"tf":1.4142135623730951},"17":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.4142135623730951},"21":{"tf":1.0},"5":{"tf":1.0},"68":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"150":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"49":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":13,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"157":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"92":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"159":{"tf":1.0},"163":{"tf":1.7320508075688772},"33":{"tf":1.0}},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"p":{"df":9,"docs":{"168":{"tf":1.0},"39":{"tf":1.0},"56":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":2.0},"94":{"tf":2.0},"95":{"tf":2.449489742783178},"96":{"tf":2.0},"97":{"tf":3.0}},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"144":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"c":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"97":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":17,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"159":{"tf":1.4142135623730951},"165":{"tf":1.0},"64":{"tf":3.1622776601683795},"65":{"tf":2.23606797749979},"66":{"tf":1.7320508075688772},"67":{"tf":3.7416573867739413},"68":{"tf":2.8284271247461903},"69":{"tf":2.449489742783178},"70":{"tf":2.8284271247461903},"71":{"tf":2.6457513110645907},"72":{"tf":3.3166247903554},"73":{"tf":3.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"159":{"tf":1.0},"25":{"tf":1.0}}}}}},"x":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"165":{"tf":2.23606797749979}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"156":{"tf":2.0}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"e":{"$":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}}},"1":{"0":{"df":1,"docs":{"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"h":{"df":0,"docs":{},"i":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}}}},"t":{"df":2,"docs":{"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":2.23606797749979}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":3,"docs":{"95":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"130":{"tf":1.0},"153":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"187":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"109":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"138":{"tf":1.0}}}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"113":{"tf":1.0},"116":{"tf":1.0},"145":{"tf":1.0},"150":{"tf":1.0},"151":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"175":{"tf":1.0},"182":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":4,"docs":{"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":4,"docs":{"162":{"tf":2.0},"163":{"tf":1.0},"166":{"tf":1.0},"174":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"151":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"@":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"g":{"df":10,"docs":{"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"152":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"n":{"d":{"df":5,"docs":{"114":{"tf":1.0},"129":{"tf":1.0},"172":{"tf":1.0},"2":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"8":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"s":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"110":{"tf":1.7320508075688772}}}}}},"t":{"a":{"df":0,"docs":{},"k":{"df":2,"docs":{"168":{"tf":1.0},"73":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"48":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"174":{"tf":1.0}}}}},"x":{"df":1,"docs":{"83":{"tf":1.0}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":11,"docs":{"105":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"151":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0},"96":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"159":{"tf":1.0},"179":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":28,"docs":{"125":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":2.0},"182":{"tf":2.6457513110645907},"183":{"tf":2.23606797749979},"184":{"tf":1.7320508075688772},"185":{"tf":1.7320508075688772},"186":{"tf":2.8284271247461903},"187":{"tf":2.0},"188":{"tf":1.7320508075688772},"189":{"tf":2.0},"190":{"tf":1.0},"2":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":3.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.0},"39":{"tf":2.23606797749979},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":2.0},"43":{"tf":1.4142135623730951},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.7320508075688772}},"e":{"(":{"df":1,"docs":{"39":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"16":{"tf":1.0},"17":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":5,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"137":{"tf":1.0},"153":{"tf":1.7320508075688772}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":1,"docs":{"9":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":32,"docs":{"108":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"136":{"tf":1.4142135623730951},"145":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.4142135623730951},"152":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.7320508075688772},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"179":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.7320508075688772},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":2.0},"84":{"tf":1.4142135623730951},"99":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":3,"docs":{"174":{"tf":1.4142135623730951},"3":{"tf":1.0},"43":{"tf":1.0}}},"i":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"122":{"tf":2.23606797749979}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":14,"docs":{"105":{"tf":1.4142135623730951},"129":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"169":{"tf":1.4142135623730951},"171":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"68":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":1,"docs":{"189":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"74":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":10,"docs":{"136":{"tf":1.0},"137":{"tf":1.0},"166":{"tf":1.0},"168":{"tf":1.4142135623730951},"185":{"tf":1.0},"34":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.4142135623730951},"77":{"tf":1.0}},"y":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"h":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"145":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":2.23606797749979},"104":{"tf":1.7320508075688772},"145":{"tf":1.4142135623730951},"157":{"tf":1.4142135623730951},"159":{"tf":2.6457513110645907},"160":{"tf":2.6457513110645907},"162":{"tf":2.0},"163":{"tf":1.0},"166":{"tf":2.6457513110645907},"167":{"tf":1.7320508075688772},"4":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.23606797749979},"83":{"tf":3.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":2.8284271247461903},"104":{"tf":1.4142135623730951},"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.0},"162":{"tf":1.0},"166":{"tf":1.0},"82":{"tf":1.0}}}},"df":23,"docs":{"101":{"tf":2.449489742783178},"104":{"tf":2.0},"148":{"tf":2.23606797749979},"157":{"tf":2.23606797749979},"158":{"tf":3.1622776601683795},"159":{"tf":3.872983346207417},"160":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"163":{"tf":2.23606797749979},"166":{"tf":3.605551275463989},"58":{"tf":1.4142135623730951},"75":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":3.1622776601683795},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":2.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":2.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"179":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":2.23606797749979}}},"y":{"[":{"2":{"df":1,"docs":{"157":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":2.0},"99":{"tf":1.7320508075688772}}}}},"m":{"a":{"df":0,"docs":{},"p":{"[":{"\"":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"94":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"181":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"[":{"0":{"df":2,"docs":{"101":{"tf":1.7320508075688772},"99":{"tf":1.0}}},"1":{"df":1,"docs":{"99":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"100":{"tf":1.7320508075688772}}}}},"df":0,"docs":{}}}},"df":3,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"99":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.7320508075688772}},"u":{"c":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"104":{"tf":1.0}}}},"df":0,"docs":{}}},"2":{"df":1,"docs":{"73":{"tf":1.4142135623730951}}},"df":3,"docs":{"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":27,"docs":{"102":{"tf":1.0},"104":{"tf":1.7320508075688772},"109":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.4142135623730951},"187":{"tf":1.7320508075688772},"188":{"tf":1.0},"189":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.0},"30":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":2.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.7320508075688772},"69":{"tf":1.7320508075688772},"81":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"107":{"tf":2.8284271247461903},"108":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":6,"docs":{"100":{"tf":1.0},"106":{"tf":1.4142135623730951},"137":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"145":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"d":{"df":25,"docs":{"101":{"tf":1.0},"110":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.0},"168":{"tf":1.7320508075688772},"169":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"18":{"tf":1.0},"180":{"tf":1.0},"182":{"tf":1.0},"19":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"f":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"178":{"tf":1.0}}},"t":{"df":11,"docs":{"128":{"tf":1.0},"129":{"tf":1.0},"158":{"tf":1.4142135623730951},"161":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"166":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"69":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"148":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.7320508075688772},"45":{"tf":1.0},"91":{"tf":1.7320508075688772},"93":{"tf":1.0}}}}},"w":{"df":22,"docs":{"113":{"tf":1.0},"115":{"tf":2.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.7320508075688772},"122":{"tf":1.0},"126":{"tf":1.0},"150":{"tf":1.0},"162":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.7320508075688772},"36":{"tf":1.0},"37":{"tf":1.7320508075688772},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0},"74":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"38":{"tf":1.0},"42":{"tf":1.0}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":19,"docs":{"108":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"148":{"tf":1.0},"154":{"tf":1.0},"160":{"tf":1.7320508075688772},"165":{"tf":1.0},"167":{"tf":1.0},"184":{"tf":1.0},"70":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951}}}}}},"x":{"df":0,"docs":{},"t":{"df":6,"docs":{"108":{"tf":2.8284271247461903},"14":{"tf":1.0},"165":{"tf":2.0},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"66":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"73":{"tf":1.7320508075688772}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"73":{"tf":1.7320508075688772}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":1,"docs":{"127":{"tf":2.23606797749979}}}}},"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":10,"docs":{"108":{"tf":1.0},"126":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772},"169":{"tf":3.3166247903554},"170":{"tf":3.1622776601683795},"171":{"tf":1.4142135623730951},"173":{"tf":2.8284271247461903},"174":{"tf":1.7320508075688772},"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"32":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":2.0}}}}},"n":{"df":13,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"135":{"tf":1.7320508075688772},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.4142135623730951},"3":{"tf":1.0},"63":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":2.0}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"106":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":2,"docs":{"176":{"tf":1.0},"178":{"tf":1.4142135623730951}}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"103":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":42,"docs":{"10":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"116":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"148":{"tf":1.0},"153":{"tf":1.7320508075688772},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.7320508075688772},"185":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"39":{"tf":1.4142135623730951},"41":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}},"h":{"df":3,"docs":{"126":{"tf":2.23606797749979},"127":{"tf":2.0},"160":{"tf":1.0}}},"i":{"c":{"df":9,"docs":{"150":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.4142135623730951},"186":{"tf":1.0},"187":{"tf":1.0},"32":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"105":{"tf":1.0},"151":{"tf":1.0}}}}}},"w":{"df":18,"docs":{"101":{"tf":1.0},"109":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":2.0},"163":{"tf":1.7320508075688772},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"76":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"128":{"tf":1.0},"163":{"tf":2.0},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"18":{"tf":1.0},"45":{"tf":2.0},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":2,"docs":{"184":{"tf":1.0},"185":{"tf":1.0}}}}},"t":{"df":1,"docs":{"184":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}}}}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"27":{"tf":1.0},"35":{"tf":1.0}}}}}}}},"o":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":5,"docs":{"140":{"tf":1.0},"147":{"tf":1.0},"162":{"tf":1.4142135623730951},"163":{"tf":1.0},"166":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":2,"docs":{"129":{"tf":1.0},"132":{"tf":1.0}}}}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}},"r":{"df":1,"docs":{"149":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":2,"docs":{"136":{"tf":1.4142135623730951},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"173":{"tf":1.4142135623730951},"64":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":5,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"149":{"tf":1.0}}}}}}}}},"k":{"df":2,"docs":{"100":{"tf":1.0},"17":{"tf":1.0}}},"l":{"d":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"104":{"tf":1.0},"129":{"tf":1.0}}}}},"n":{"c":{"df":5,"docs":{"11":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"62":{"tf":1.0},"9":{"tf":1.0}}},"df":37,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"150":{"tf":1.7320508075688772},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"161":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"172":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"180":{"tf":1.0},"185":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"62":{"tf":1.7320508075688772},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"&":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{";":{".":{".":{".":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"a":{"df":1,"docs":{"136":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":2.0},"136":{"tf":1.0},"165":{"tf":1.0}},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"127":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"72":{"tf":2.0}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"154":{"tf":1.0}}}},"df":8,"docs":{"105":{"tf":2.0},"106":{"tf":2.23606797749979},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"111":{"tf":1.0},"132":{"tf":1.0},"153":{"tf":1.0},"73":{"tf":1.0}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"106":{"tf":1.0}}},"4":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"df":2,"docs":{"154":{"tf":1.0},"165":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}}},"p":{"df":2,"docs":{"163":{"tf":1.0},"171":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":7,"docs":{"100":{"tf":1.0},"105":{"tf":1.0},"110":{"tf":1.0},"142":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"r":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"152":{"tf":1.0}}}}},"x":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":16,"docs":{"106":{"tf":1.7320508075688772},"120":{"tf":1.0},"13":{"tf":1.4142135623730951},"140":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"174":{"tf":2.23606797749979},"175":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":2.23606797749979},"74":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"67":{"tf":1.0},"91":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"t":{"df":5,"docs":{"100":{"tf":1.0},"153":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"88":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":5,"docs":{"161":{"tf":2.0},"162":{"tf":1.4142135623730951},"163":{"tf":2.0},"169":{"tf":1.0},"3":{"tf":1.0}}},"o":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"129":{"tf":1.4142135623730951},"132":{"tf":1.0},"169":{"tf":1.0},"20":{"tf":1.0},"39":{"tf":1.0},"75":{"tf":1.0}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.4142135623730951},"147":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":2.0},"176":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"186":{"tf":1.4142135623730951},"188":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":2.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"4":{"tf":1.4142135623730951}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"[":{"0":{"df":1,"docs":{"159":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"159":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":8,"docs":{"107":{"tf":1.0},"147":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":2.8284271247461903},"160":{"tf":2.449489742783178},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"167":{"tf":1.0}}}}}}},"s":{"df":1,"docs":{"13":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"132":{"tf":1.0},"167":{"tf":1.0},"63":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{">":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"177":{"tf":1.0}}}}},"df":20,"docs":{"108":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"122":{"tf":1.0},"148":{"tf":2.23606797749979},"149":{"tf":1.0},"15":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"7":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.7320508075688772},"99":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"145":{"tf":1.0},"147":{"tf":2.23606797749979},"159":{"tf":1.0},"162":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":84,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"144":{"tf":1.0},"147":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.7320508075688772},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"171":{"tf":1.0},"178":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"8":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"140":{"tf":1.0},"145":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"163":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"66":{"tf":1.0}}}},"df":23,"docs":{"106":{"tf":1.4142135623730951},"125":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"156":{"tf":1.0},"165":{"tf":1.4142135623730951},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"39":{"tf":1.0},"47":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"56":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"69":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"83":{"tf":1.0},"96":{"tf":1.7320508075688772}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"165":{"tf":1.7320508075688772}}}}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":3,"docs":{"112":{"tf":1.0},"153":{"tf":1.4142135623730951},"88":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"122":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":5,"docs":{"17":{"tf":1.0},"187":{"tf":1.0},"21":{"tf":1.0},"5":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"100":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}},"k":{"df":1,"docs":{"88":{"tf":1.0}}}},"df":0,"docs":{}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}},"m":{"(":{"df":1,"docs":{"150":{"tf":1.0}}},"df":3,"docs":{"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"150":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"137":{"tf":1.0},"160":{"tf":1.7320508075688772},"24":{"tf":1.0},"25":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.0}},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.7320508075688772},"155":{"tf":1.0},"157":{"tf":1.0},"165":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":1.0},"68":{"tf":1.0},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"129":{"tf":1.0},"46":{"tf":1.0},"63":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"137":{"tf":1.4142135623730951},"142":{"tf":1.0},"144":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.4142135623730951},"153":{"tf":1.0},"178":{"tf":1.7320508075688772},"181":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951}}},"t":{"df":2,"docs":{"2":{"tf":1.0},"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"/":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"/":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":1,"docs":{"188":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":3,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0},"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":16,"docs":{"105":{"tf":1.0},"148":{"tf":1.0},"149":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.4142135623730951},"64":{"tf":2.449489742783178},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":2.449489742783178},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":2.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"s":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":1,"docs":{"143":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}}}}},"r":{"df":1,"docs":{"169":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":8,"docs":{"107":{"tf":1.0},"153":{"tf":1.4142135623730951},"158":{"tf":1.0},"159":{"tf":1.0},"161":{"tf":2.6457513110645907},"162":{"tf":1.4142135623730951},"163":{"tf":2.0},"168":{"tf":1.7320508075688772}}}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":2.449489742783178}}}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"177":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"165":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"17":{"tf":1.0},"174":{"tf":1.0}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"(":{"[":{"1":{"df":1,"docs":{"156":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"156":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"c":{"df":3,"docs":{"162":{"tf":1.0},"166":{"tf":1.0},"187":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"62":{"tf":3.4641016151377544},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":2.449489742783178}},"e":{"'":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"t":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"c":{"df":0,"docs":{},"e":{"df":8,"docs":{"138":{"tf":1.0},"140":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"17":{"tf":1.0},"184":{"tf":1.0},"186":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":5,"docs":{"157":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}}},"y":{"df":1,"docs":{"69":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"149":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"106":{"tf":1.0},"126":{"tf":1.0},"170":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"163":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"13":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"168":{"tf":1.0},"173":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"137":{"tf":1.4142135623730951},"88":{"tf":1.0}}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":24,"docs":{"107":{"tf":1.0},"111":{"tf":1.0},"125":{"tf":1.7320508075688772},"132":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"46":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"177":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"166":{"tf":1.7320508075688772},"74":{"tf":1.0},"81":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"112":{"tf":1.0},"117":{"tf":1.0},"152":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.0},"62":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"137":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}}},"d":{"(":{"a":{"df":1,"docs":{"150":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":1,"docs":{"178":{"tf":1.0}}}},"df":3,"docs":{"150":{"tf":1.0},"177":{"tf":2.23606797749979},"178":{"tf":1.7320508075688772}}},"df":2,"docs":{"102":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"17":{"tf":1.0},"93":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"108":{"tf":1.0}}},"y":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"185":{"tf":1.0},"187":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"\"":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"l":{"df":0,"docs":{},"h":{"df":1,"docs":{"184":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"186":{"tf":1.0}}}}}}}}}},"v":{"df":1,"docs":{"62":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"122":{"tf":1.0},"148":{"tf":1.7320508075688772},"176":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":9,"docs":{"152":{"tf":1.0},"166":{"tf":1.0},"179":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"46":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}},"s":{"df":1,"docs":{"188":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.0},"36":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":2.6457513110645907}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"105":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"\"":{"(":{"1":{"df":1,"docs":{"71":{"tf":2.0}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"1":{"df":1,"docs":{"166":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"_":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"159":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"157":{"tf":1.0},"159":{"tf":1.0},"82":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"159":{"tf":1.0}}}},"f":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"147":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"(":{"\\":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"73":{"tf":3.605551275463989}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":2,"docs":{"29":{"tf":1.0},"8":{"tf":1.0}}}}}}},"i":{"df":1,"docs":{"147":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"106":{"tf":1.0}}}}}}}}}},"j":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"94":{"tf":1.0}}}}}},"df":0,"docs":{}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"69":{"tf":1.0}}}},"y":{"df":1,"docs":{"56":{"tf":1.0}}}}},"l":{"1":{"df":1,"docs":{"166":{"tf":1.0}}},"2":{"df":1,"docs":{"166":{"tf":1.7320508075688772}}},"df":1,"docs":{"157":{"tf":1.4142135623730951}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"163":{"tf":1.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"66":{"tf":1.0}}}},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"157":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"159":{"tf":1.4142135623730951},"160":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"68":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"61":{"tf":1.4142135623730951}}}}},"s":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"{":{"df":1,"docs":{"140":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}}}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"k":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"n":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"1":{"0":{"df":2,"docs":{"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"d":{"d":{"(":{"1":{"0":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"137":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"148":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":3,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0},"165":{"tf":1.0}}}}}},"df":8,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.0}},"f":{"df":2,"docs":{"119":{"tf":1.0},"120":{"tf":1.4142135623730951}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"141":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":1,"docs":{"171":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}}}}}},"i":{"1":{"df":1,"docs":{"115":{"tf":1.0}}},"2":{"df":1,"docs":{"115":{"tf":1.0}}},"3":{"df":1,"docs":{"115":{"tf":1.0}}},"df":3,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"78":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"l":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.0}}},"6":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":3,"docs":{"82":{"tf":1.0},"83":{"tf":1.4142135623730951},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"72":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"144":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"123":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"125":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"148":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}}},"m":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":2.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.4142135623730951}},"u":{"c":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"i":{"df":1,"docs":{"103":{"tf":1.0}}},"x":{"df":1,"docs":{"103":{"tf":1.0}}}},"df":2,"docs":{"102":{"tf":1.0},"104":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{":":{":":{"a":{"d":{"d":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"1":{"0":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"158":{"tf":1.4142135623730951},"162":{"tf":1.0}}}}}}}},"r":{"df":1,"docs":{"178":{"tf":1.0}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"\"":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":1,"docs":{"40":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"m":{"(":{"[":{"\"":{"a":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":1,"docs":{"152":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"(":{"6":{"0":{".":{"0":{"df":1,"docs":{"122":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"h":{"(":{"1":{"5":{".":{"0":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"y":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":1.0},"127":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.0}}}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"x":{"df":2,"docs":{"137":{"tf":1.0},"143":{"tf":1.0}}}},"df":8,"docs":{"108":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"185":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"49":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"110":{"tf":1.0},"73":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"36":{"tf":1.0},"57":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"187":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"166":{"tf":1.0}}}},"df":9,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"138":{"tf":1.0},"156":{"tf":1.0},"164":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":41,"docs":{"125":{"tf":1.4142135623730951},"132":{"tf":2.23606797749979},"133":{"tf":1.0},"136":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"138":{"tf":2.0},"139":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":2.0},"143":{"tf":1.0},"144":{"tf":2.0},"145":{"tf":1.4142135623730951},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"150":{"tf":1.7320508075688772},"153":{"tf":2.23606797749979},"154":{"tf":1.0},"155":{"tf":2.23606797749979},"156":{"tf":2.23606797749979},"162":{"tf":1.0},"167":{"tf":1.0},"169":{"tf":2.449489742783178},"170":{"tf":2.449489742783178},"171":{"tf":3.0},"172":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.0},"175":{"tf":2.0},"176":{"tf":3.0},"177":{"tf":1.7320508075688772},"178":{"tf":2.8284271247461903},"179":{"tf":2.0},"180":{"tf":1.4142135623730951},"181":{"tf":1.7320508075688772},"184":{"tf":1.0},"186":{"tf":1.0},"63":{"tf":1.0},"81":{"tf":1.0},"89":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"137":{"tf":1.0},"150":{"tf":1.0},"155":{"tf":1.0},"174":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"169":{"tf":1.4142135623730951},"32":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0}},"t":{"df":2,"docs":{"174":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.7320508075688772}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"169":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}}}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":70,"docs":{"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"129":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":1.0},"182":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.8284271247461903},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":2.23606797749979},"32":{"tf":2.0},"33":{"tf":1.4142135623730951},"34":{"tf":2.23606797749979},"40":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.7320508075688772},"8":{"tf":2.0},"80":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":6,"docs":{"159":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"177":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":8,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"168":{"tf":1.4142135623730951},"178":{"tf":1.0},"179":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"157":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"34":{"tf":1.0}}},"df":22,"docs":{"11":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"15":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"182":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"114":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":26,"docs":{"1":{"tf":1.4142135623730951},"105":{"tf":1.0},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.7320508075688772},"141":{"tf":2.0},"150":{"tf":1.0},"152":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"185":{"tf":1.0},"39":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"173":{"tf":1.0}},"e":{"<":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"143":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"u":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"186":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"17":{"tf":1.0},"184":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":3,"docs":{"12":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0}}}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":5,"docs":{"110":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"138":{"tf":1.0},"80":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"150":{"tf":1.4142135623730951},"165":{"tf":1.0},"170":{"tf":1.0},"74":{"tf":1.0}}}},"y":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"74":{"tf":1.0}}},"df":7,"docs":{"129":{"tf":1.0},"145":{"tf":1.0},"48":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"78":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"173":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}}}},"u":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"r":{">":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},":":{":":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"155":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"e":{"df":6,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"3":{"tf":1.0},"84":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"174":{"tf":1.0}}},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":4,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"49":{"tf":1.4142135623730951}}},"2":{"0":{"0":{"0":{"0":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{":":{":":{"c":{"df":0,"docs":{},"r":{"df":4,"docs":{"135":{"tf":1.0},"137":{"tf":1.0},"156":{"tf":1.4142135623730951},"61":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"165":{"tf":1.0},"49":{"tf":1.4142135623730951}}}}}},"df":5,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"58":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"85":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"99":{"tf":1.0}}}},"w":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":10,"docs":{"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.0},"156":{"tf":2.6457513110645907},"49":{"tf":2.8284271247461903},"58":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"174":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"107":{"tf":1.0},"164":{"tf":1.0},"174":{"tf":1.0},"177":{"tf":1.0},"7":{"tf":1.0}}}},"d":{"/":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"168":{"tf":1.0}}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.4142135623730951},"170":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":13,"docs":{"140":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.4142135623730951},"78":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"129":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"df":6,"docs":{"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.7320508075688772},"174":{"tf":1.0},"40":{"tf":1.0},"7":{"tf":1.0}}},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"m":{"d":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":3,"docs":{"163":{"tf":1.0},"173":{"tf":1.4142135623730951},"91":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}},"z":{"df":2,"docs":{"145":{"tf":1.0},"149":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"150":{"tf":1.0},"163":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951}}}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"153":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"10":{"tf":1.0},"177":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"d":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"179":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"70":{"tf":1.4142135623730951}},"e":{"(":{"df":0,"docs":{},"{":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"126":{"tf":2.23606797749979},"127":{"tf":1.7320508075688772},"128":{"tf":3.3166247903554},"165":{"tf":3.0},"166":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"169":{"tf":1.7320508075688772}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":5,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.4142135623730951},"111":{"tf":1.0},"49":{"tf":1.0},"72":{"tf":2.0}},"u":{"c":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"149":{"tf":1.4142135623730951}},"e":{"(":{"[":{"1":{"df":1,"docs":{"149":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"a":{"df":1,"docs":{"149":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":9,"docs":{"112":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"173":{"tf":1.0},"177":{"tf":1.7320508075688772},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"34":{"tf":1.0},"43":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":21,"docs":{"108":{"tf":1.0},"115":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"144":{"tf":2.0},"145":{"tf":1.7320508075688772},"16":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":3.1622776601683795},"17":{"tf":1.0},"181":{"tf":2.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"39":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":8,"docs":{"124":{"tf":1.7320508075688772},"125":{"tf":1.4142135623730951},"136":{"tf":1.0},"145":{"tf":1.0},"148":{"tf":1.0},"162":{"tf":1.0},"25":{"tf":1.0},"36":{"tf":1.0}}},"df":0,"docs":{}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"129":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"167":{"tf":1.0},"179":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"168":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"17":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"169":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"106":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.4142135623730951},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"147":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"9":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":5,"docs":{"105":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"169":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":7,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"18":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"108":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"168":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"168":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}}},"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"(":{"@":{"b":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"173":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"123":{"tf":1.0},"163":{"tf":1.0},"61":{"tf":4.358898943540674}},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"a":{"c":{"df":1,"docs":{"64":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":16,"docs":{"106":{"tf":1.0},"109":{"tf":1.4142135623730951},"111":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"145":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"174":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"65":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"155":{"tf":1.0},"156":{"tf":1.0},"159":{"tf":1.4142135623730951},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":3.0}}}}},"i":{"df":0,"docs":{},"r":{"df":23,"docs":{"10":{"tf":1.4142135623730951},"100":{"tf":1.7320508075688772},"113":{"tf":1.0},"117":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":2.23606797749979},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"137":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":2.0},"151":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.7320508075688772},"156":{"tf":1.0},"157":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0},"81":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"<":{"c":{"df":1,"docs":{"156":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"<":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"129":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"v":{"df":7,"docs":{"156":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"73":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":7,"docs":{"169":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{":":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"25":{"tf":1.0},"27":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"172":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"169":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"101":{"tf":1.0},"135":{"tf":1.0},"145":{"tf":1.7320508075688772},"146":{"tf":1.7320508075688772},"147":{"tf":1.0},"148":{"tf":1.4142135623730951},"150":{"tf":1.0},"167":{"tf":2.0},"179":{"tf":1.0},"181":{"tf":1.0},"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":14,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"156":{"tf":1.0},"158":{"tf":1.0},"160":{"tf":1.0},"161":{"tf":1.0},"169":{"tf":1.0},"171":{"tf":1.7320508075688772},"172":{"tf":1.0},"174":{"tf":1.4142135623730951},"179":{"tf":1.0},"188":{"tf":1.0},"88":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":36,"docs":{"108":{"tf":1.4142135623730951},"113":{"tf":1.0},"122":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"136":{"tf":2.6457513110645907},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"140":{"tf":1.0},"141":{"tf":1.4142135623730951},"143":{"tf":1.0},"144":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"154":{"tf":3.0},"155":{"tf":2.23606797749979},"156":{"tf":2.449489742783178},"159":{"tf":1.7320508075688772},"163":{"tf":1.0},"165":{"tf":2.449489742783178},"167":{"tf":1.0},"173":{"tf":2.0},"174":{"tf":1.4142135623730951},"175":{"tf":1.0},"178":{"tf":1.7320508075688772},"185":{"tf":1.4142135623730951},"27":{"tf":1.0},"35":{"tf":1.0},"81":{"tf":1.7320508075688772},"88":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"182":{"tf":1.0},"186":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"138":{"tf":1.0},"152":{"tf":1.4142135623730951},"177":{"tf":1.0},"188":{"tf":1.0},"6":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"h":{"df":7,"docs":{"132":{"tf":1.4142135623730951},"133":{"tf":2.0},"143":{"tf":1.4142135623730951},"150":{"tf":1.0},"152":{"tf":1.7320508075688772},"184":{"tf":1.4142135623730951},"185":{"tf":1.4142135623730951}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":2.8284271247461903},"127":{"tf":2.6457513110645907},"128":{"tf":1.0},"158":{"tf":2.23606797749979},"2":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"126":{"tf":1.0},"16":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.4142135623730951},"173":{"tf":1.4142135623730951},"176":{"tf":1.0},"178":{"tf":1.4142135623730951},"24":{"tf":1.0},"25":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"63":{"tf":1.0}}}},"w":{"df":2,"docs":{"124":{"tf":1.0},"81":{"tf":2.6457513110645907}}}},"p":{"c":{"df":1,"docs":{"173":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":7,"docs":{"159":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"24":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"91":{"tf":1.0}},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"df":20,"docs":{"11":{"tf":1.0},"13":{"tf":1.4142135623730951},"14":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":2.23606797749979},"171":{"tf":1.4142135623730951},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.0},"31":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"48":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"9":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":17,"docs":{"100":{"tf":2.23606797749979},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"110":{"tf":1.0},"135":{"tf":1.7320508075688772},"153":{"tf":1.7320508075688772},"154":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.0},"2":{"tf":1.0},"25":{"tf":1.0},"61":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"177":{"tf":1.0},"178":{"tf":1.0}}},"/":{"df":0,"docs":{},"j":{"a":{"df":0,"docs":{},"v":{"a":{"/":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":5,"docs":{"135":{"tf":1.0},"147":{"tf":1.0},"169":{"tf":1.0},"174":{"tf":1.0},"88":{"tf":1.0}},"r":{"df":4,"docs":{"154":{"tf":1.4142135623730951},"155":{"tf":1.0},"156":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"s":{"(":{"2":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"154":{"tf":1.0},"156":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"[":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"154":{"tf":1.7320508075688772},"156":{"tf":1.0}}}}},"t":{"df":1,"docs":{"154":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"84":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":2,"docs":{"129":{"tf":1.0},"164":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":21,"docs":{"110":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"149":{"tf":1.7320508075688772},"150":{"tf":1.0},"151":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":1.7320508075688772},"168":{"tf":2.0},"169":{"tf":1.0},"34":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"h":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"173":{"tf":1.0},"185":{"tf":1.4142135623730951}}}}}}},"y":{"df":1,"docs":{"150":{"tf":1.0}}}},"b":{"df":1,"docs":{"108":{"tf":2.23606797749979}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"3":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"174":{"tf":1.0},"6":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":4,"docs":{"169":{"tf":2.23606797749979},"171":{"tf":1.0},"174":{"tf":2.0},"3":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"100":{"tf":1.0},"110":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.4142135623730951},"147":{"tf":2.23606797749979},"180":{"tf":1.0},"67":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"31":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"32":{"tf":1.0},"8":{"tf":1.0}}}}}}},"df":11,"docs":{"149":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.4142135623730951},"49":{"tf":3.3166247903554},"50":{"tf":2.449489742783178},"58":{"tf":2.0},"63":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"149":{"tf":1.0},"163":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"163":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"163":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":15,"docs":{"108":{"tf":1.0},"117":{"tf":1.0},"122":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"152":{"tf":1.0},"155":{"tf":1.0},"162":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"65":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":20,"docs":{"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"17":{"tf":1.0},"171":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"m":{"df":3,"docs":{"148":{"tf":1.0},"167":{"tf":1.0},"67":{"tf":1.0}}},"n":{"df":4,"docs":{"129":{"tf":1.0},"150":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":6,"docs":{"113":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"33":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":11,"docs":{"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"148":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"173":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":3,"docs":{"148":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"25":{"tf":1.0},"4":{"tf":1.0},"46":{"tf":1.7320508075688772},"77":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"45":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"172":{"tf":1.0}}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"75":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"174":{"tf":2.449489742783178}}}},"i":{"c":{"df":4,"docs":{"168":{"tf":1.0},"169":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":2.0}}},"df":0,"docs":{}}}},"t":{"df":18,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"132":{"tf":1.0},"150":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"163":{"tf":1.0},"183":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.4142135623730951},"75":{"tf":1.0},"76":{"tf":2.23606797749979},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":2.449489742783178},"93":{"tf":3.1622776601683795}},"s":{":":{":":{"a":{"d":{"d":{"(":{"df":1,"docs":{"93":{"tf":1.0}}},"df":1,"docs":{"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"p":{"df":2,"docs":{"11":{"tf":1.0},"9":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"166":{"tf":2.0},"45":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"147":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"83":{"tf":1.7320508075688772}}}}}},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"138":{"tf":1.0},"162":{"tf":1.4142135623730951},"166":{"tf":3.0},"168":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"9":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"115":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"(":{"\"":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"140":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"140":{"tf":1.0}}},"df":2,"docs":{"169":{"tf":2.23606797749979},"45":{"tf":1.0}},"n":{"df":2,"docs":{"113":{"tf":1.0},"150":{"tf":1.0}}},"s":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"169":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"140":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":11,"docs":{"125":{"tf":1.0},"132":{"tf":1.7320508075688772},"133":{"tf":1.0},"150":{"tf":2.449489742783178},"156":{"tf":1.0},"177":{"tf":1.7320508075688772},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"186":{"tf":1.0},"36":{"tf":1.0},"89":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"169":{"tf":1.0},"75":{"tf":1.0}}}}}}},"df":2,"docs":{"161":{"tf":1.0},"168":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"102":{"tf":1.0},"151":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"1":{"tf":1.4142135623730951},"109":{"tf":1.0},"110":{"tf":1.0},"116":{"tf":1.0},"126":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"6":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"78":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"112":{"tf":1.0},"64":{"tf":1.0},"85":{"tf":1.0}}}}},"i":{"df":24,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"135":{"tf":1.0},"147":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"159":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.7320508075688772},"179":{"tf":1.0},"185":{"tf":1.0},"30":{"tf":1.0},"64":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"8":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"91":{"tf":1.0}},"f":{"df":1,"docs":{"153":{"tf":1.0}},"i":{"df":3,"docs":{"151":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":1.0},"168":{"tf":1.0},"46":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"127":{"tf":1.0},"138":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":1.0},"150":{"tf":1.0},"166":{"tf":2.0},"168":{"tf":1.0},"169":{"tf":1.4142135623730951},"170":{"tf":1.0},"174":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.4142135623730951},"185":{"tf":1.0},"2":{"tf":1.0},"34":{"tf":1.4142135623730951},"42":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"k":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"150":{"tf":1.0},"154":{"tf":1.0}}},"u":{"a":{"df":0,"docs":{},"t":{"df":9,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":2.0},"136":{"tf":1.0},"153":{"tf":1.0},"162":{"tf":1.4142135623730951},"168":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":1,"docs":{"73":{"tf":2.0}}},"z":{"df":0,"docs":{},"e":{"df":3,"docs":{"6":{"tf":1.0},"78":{"tf":1.0},"98":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"64":{"tf":2.8284271247461903},"65":{"tf":2.0},"66":{"tf":2.0}}}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"188":{"tf":1.0},"52":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"81":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"100":{"tf":1.0},"168":{"tf":1.0}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":6,"docs":{"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"80":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"182":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"114":{"tf":1.7320508075688772},"135":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"157":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"109":{"tf":1.0},"17":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"131":{"tf":1.0},"138":{"tf":1.0},"167":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":10,"docs":{"105":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.0},"143":{"tf":1.0},"150":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"63":{"tf":1.0}}},"i":{"df":0,"docs":{},"m":{"df":4,"docs":{"109":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"168":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"171":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"w":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"106":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"169":{"tf":1.0}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"73":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.0},"135":{"tf":1.0},"163":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":13,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"129":{"tf":1.0},"13":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"185":{"tf":2.0},"190":{"tf":1.0},"2":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"63":{"tf":2.23606797749979},"71":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":5,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"153":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"165":{"tf":1.0},"25":{"tf":1.0},"67":{"tf":1.0}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"173":{"tf":2.0}}}}}}},"df":0,"docs":{},"f":{"df":10,"docs":{"123":{"tf":1.0},"131":{"tf":1.0},"138":{"tf":1.0},"149":{"tf":1.4142135623730951},"154":{"tf":1.0},"156":{"tf":1.0},"162":{"tf":1.0},"169":{"tf":1.0},"25":{"tf":1.0},"78":{"tf":1.0}},"i":{"df":6,"docs":{"150":{"tf":1.4142135623730951},"70":{"tf":1.0},"8":{"tf":1.4142135623730951},"89":{"tf":1.0},"93":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":2,"docs":{"113":{"tf":1.4142135623730951},"15":{"tf":1.0}}},"df":0,"docs":{}},"n":{"d":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"185":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":3,"docs":{"145":{"tf":1.0},"146":{"tf":1.0},"148":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"70":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}},"e":{"(":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":1,"docs":{"168":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"150":{"tf":1.0}}}}}}},"r":{"c":{"df":2,"docs":{"187":{"tf":1.4142135623730951},"37":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":2,"docs":{"165":{"tf":1.7320508075688772},"45":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":1,"docs":{"168":{"tf":1.0}}}},"n":{"c":{"df":1,"docs":{"91":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":39,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"168":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"174":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":7,"docs":{"109":{"tf":1.4142135623730951},"110":{"tf":1.0},"145":{"tf":1.4142135623730951},"148":{"tf":2.0},"168":{"tf":1.0},"174":{"tf":1.0},"78":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":13,"docs":{"107":{"tf":1.0},"130":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.4142135623730951},"8":{"tf":1.0}}}}}}},"i":{"c":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":33,"docs":{"1":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"110":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.7320508075688772},"148":{"tf":1.0},"153":{"tf":2.0},"155":{"tf":1.4142135623730951},"156":{"tf":1.0},"160":{"tf":1.0},"165":{"tf":1.0},"174":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"181":{"tf":1.0},"184":{"tf":1.0},"3":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":2.0},"73":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"d":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"<":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"154":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"d":{":":{":":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"123":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":3,"docs":{"108":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"'":{"df":3,"docs":{"89":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},":":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"d":{"]":{":":{":":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"<":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":3,"docs":{"27":{"tf":1.0},"89":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":2,"docs":{"27":{"tf":1.0},"34":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"128":{"tf":1.0},"168":{"tf":1.4142135623730951},"174":{"tf":1.0},"37":{"tf":1.0},"63":{"tf":1.0},"9":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"7":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":8,"docs":{"13":{"tf":1.0},"130":{"tf":1.0},"148":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"181":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"174":{"tf":1.0},"87":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"138":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"109":{"tf":1.0}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"151":{"tf":1.0},"45":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"_":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{":":{":":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"s":{"b":{"df":1,"docs":{"108":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"r":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"108":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":30,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":2.23606797749979},"107":{"tf":2.0},"110":{"tf":1.7320508075688772},"112":{"tf":1.0},"136":{"tf":1.0},"140":{"tf":1.4142135623730951},"149":{"tf":1.0},"152":{"tf":2.0},"186":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.7320508075688772},"91":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":2.6457513110645907}},"s":{":":{":":{"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"27":{"tf":1.0},"35":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"78":{"tf":1.4142135623730951}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}},"e":{"(":{"df":1,"docs":{"63":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"84":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":11,"docs":{"102":{"tf":2.23606797749979},"103":{"tf":1.7320508075688772},"104":{"tf":2.0},"108":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"148":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":2.0}},"u":{"df":0,"docs":{},"r":{"df":20,"docs":{"116":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"158":{"tf":1.0},"161":{"tf":1.0},"165":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"169":{"tf":1.7320508075688772},"170":{"tf":1.0},"3":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"68":{"tf":2.0},"69":{"tf":2.23606797749979},"83":{"tf":1.0},"88":{"tf":1.0}}}},"{":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"175":{"tf":1.4142135623730951}}}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"40":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":10,"docs":{"148":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":2.23606797749979},"39":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"68":{"tf":1.0},"9":{"tf":1.0}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"36":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":2,"docs":{"36":{"tf":1.0},"37":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"u":{"b":{"df":2,"docs":{"105":{"tf":2.0},"138":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":2,"docs":{"170":{"tf":1.7320508075688772},"173":{"tf":2.8284271247461903}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"135":{"tf":2.23606797749979},"88":{"tf":1.0},"99":{"tf":2.0}}}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"166":{"tf":1.0}}},"y":{"df":0,"docs":{},"p":{"df":3,"docs":{"151":{"tf":1.4142135623730951},"152":{"tf":1.0},"153":{"tf":1.0}}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"25":{"tf":1.0},"73":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"188":{"tf":1.0},"32":{"tf":1.0},"64":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"150":{"tf":1.0},"174":{"tf":1.0},"176":{"tf":1.0},"179":{"tf":1.0},"182":{"tf":1.0},"63":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"164":{"tf":1.0},"176":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"36":{"tf":1.0}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"df":7,"docs":{"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"133":{"tf":1.0},"143":{"tf":1.0},"62":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":2.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":2.23606797749979}}}}}}},"m":{"<":{"df":0,"docs":{},"t":{">":{"(":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"149":{"tf":1.0},"152":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":27,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"13":{"tf":1.7320508075688772},"133":{"tf":1.0},"143":{"tf":1.0},"157":{"tf":1.4142135623730951},"159":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.4142135623730951},"45":{"tf":1.0},"57":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"91":{"tf":1.7320508075688772},"96":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}},"f":{"a":{"c":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"p":{"df":3,"docs":{"112":{"tf":1.4142135623730951},"2":{"tf":1.0},"76":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"(":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"64":{"tf":1.0},"68":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":5,"docs":{"124":{"tf":1.0},"146":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"130":{"tf":1.0},"140":{"tf":1.0},"45":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":13,"docs":{"133":{"tf":1.0},"143":{"tf":1.0},"169":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.7320508075688772},"45":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":2.0},"86":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":19,"docs":{"117":{"tf":1.0},"13":{"tf":1.4142135623730951},"159":{"tf":1.0},"182":{"tf":2.23606797749979},"183":{"tf":1.0},"184":{"tf":1.0},"185":{"tf":1.0},"186":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"2":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"9":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}}}},"t":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"135":{"tf":1.0},"137":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"168":{"tf":1.0}},"e":{"\"":{"/":{"\"":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"153":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"105":{"tf":1.0}}},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"y":{"df":1,"docs":{"168":{"tf":1.0}}}},"df":0,"docs":{}}},"df":23,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":1.4142135623730951},"141":{"tf":1.0},"142":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"162":{"tf":1.7320508075688772},"168":{"tf":1.4142135623730951},"177":{"tf":1.0},"178":{"tf":1.0},"181":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0}},"n":{"df":1,"docs":{"163":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":11,"docs":{"187":{"tf":1.4142135623730951},"188":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":2.6457513110645907},"27":{"tf":1.0},"30":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"157":{"tf":1.0},"61":{"tf":1.0}}}}},"b":{"d":{"df":1,"docs":{"77":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":3,"docs":{"169":{"tf":1.0},"170":{"tf":1.7320508075688772},"173":{"tf":1.0}}},"df":18,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"150":{"tf":2.449489742783178},"154":{"tf":1.0},"160":{"tf":2.0},"167":{"tf":1.0},"177":{"tf":2.0},"178":{"tf":1.4142135623730951},"184":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"81":{"tf":2.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"117":{"tf":1.0},"22":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"150":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"151":{"tf":1.0}}}}},"n":{"d":{"df":4,"docs":{"138":{"tf":1.4142135623730951},"140":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0}}},"df":2,"docs":{"106":{"tf":1.0},"107":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"128":{"tf":1.0},"165":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"189":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":5,"docs":{"13":{"tf":1.0},"163":{"tf":1.4142135623730951},"189":{"tf":1.0},"22":{"tf":1.0},"43":{"tf":1.0}}}},"x":{"df":0,"docs":{},"t":{"df":5,"docs":{"11":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":2.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"168":{"tf":1.0}}}}}}}}},"t":{"'":{"df":3,"docs":{"105":{"tf":1.0},"127":{"tf":1.0},"31":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":2,"docs":{"157":{"tf":1.0},"39":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"'":{"df":6,"docs":{"150":{"tf":1.0},"153":{"tf":1.0},"160":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"42":{"tf":1.0}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}},"b":{"df":0,"docs":{},"i":{"df":2,"docs":{"122":{"tf":1.0},"174":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"120":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"176":{"tf":1.0}}}}}}},"y":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"188":{"tf":1.0}}}},"r":{"df":1,"docs":{"138":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":12,"docs":{"151":{"tf":1.0},"163":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.4142135623730951},"2":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"62":{"tf":1.0},"81":{"tf":1.0}}},"k":{"df":7,"docs":{"132":{"tf":1.0},"149":{"tf":1.0},"151":{"tf":1.0},"157":{"tf":1.0},"168":{"tf":1.0},"169":{"tf":1.0},"91":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"135":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"169":{"tf":1.0},"27":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":6,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"148":{"tf":1.0},"154":{"tf":1.0},"174":{"tf":1.0},"76":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":8,"docs":{"147":{"tf":1.4142135623730951},"148":{"tf":1.0},"168":{"tf":2.449489742783178},"169":{"tf":2.0},"171":{"tf":1.4142135623730951},"172":{"tf":1.7320508075688772},"174":{"tf":4.69041575982343},"176":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"174":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":11,"docs":{"105":{"tf":1.0},"129":{"tf":1.0},"15":{"tf":1.0},"153":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"105":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.0},"177":{"tf":1.0},"47":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}}}}},"w":{"df":1,"docs":{"48":{"tf":1.0}}}}},"u":{"df":1,"docs":{"162":{"tf":1.0}},"m":{"b":{"df":1,"docs":{"36":{"tf":1.0}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":35,"docs":{"100":{"tf":2.0},"11":{"tf":1.4142135623730951},"110":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"159":{"tf":1.0},"163":{"tf":2.449489742783178},"165":{"tf":1.0},"168":{"tf":1.4142135623730951},"169":{"tf":1.0},"173":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":2.23606797749979}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"d":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"113":{"tf":1.0},"122":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"68":{"tf":1.7320508075688772}}}}},"o":{"a":{"d":{"d":{"df":1,"docs":{"89":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"148":{"tf":1.0}}},"y":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":2,"docs":{"162":{"tf":1.0},"78":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"136":{"tf":1.0},"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"179":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"163":{"tf":1.0}}},"l":{"df":2,"docs":{"138":{"tf":1.0},"2":{"tf":1.0}}}},"p":{"df":9,"docs":{"17":{"tf":1.0},"171":{"tf":1.0},"179":{"tf":1.4142135623730951},"180":{"tf":1.0},"181":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"8":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"t":{"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"149":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":4,"docs":{"148":{"tf":1.7320508075688772},"39":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"174":{"tf":1.0},"176":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.0},"188":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"158":{"tf":1.0},"174":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"126":{"tf":2.0},"127":{"tf":1.4142135623730951}}}},"i":{"df":10,"docs":{"11":{"tf":1.0},"110":{"tf":1.0},"114":{"tf":1.0},"128":{"tf":1.4142135623730951},"163":{"tf":1.0},"171":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"128":{"tf":1.0},"173":{"tf":1.0},"25":{"tf":1.0}}}}}},"m":{"df":1,"docs":{"27":{"tf":1.0}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.7320508075688772},"169":{"tf":1.0},"182":{"tf":1.0},"73":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"e":{"df":11,"docs":{"130":{"tf":2.0},"153":{"tf":1.0},"159":{"tf":1.4142135623730951},"163":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":3.1622776601683795},"102":{"tf":1.0},"135":{"tf":2.23606797749979},"57":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":2.0},"99":{"tf":2.23606797749979}},"e":{".":{".":{".":{"&":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"<":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"165":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":6,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.4142135623730951},"112":{"tf":1.0},"128":{"tf":1.7320508075688772},"130":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}},"k":{"df":2,"docs":{"56":{"tf":1.0},"96":{"tf":1.0}}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"128":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"160":{"tf":2.23606797749979}}}}}},"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"1":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"99":{"tf":1.0}}},"6":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"3":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"100":{"tf":1.0}}},"6":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"5":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"4":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"174":{"tf":1.4142135623730951}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"163":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":9,"docs":{"116":{"tf":1.0},"126":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"169":{"tf":1.0},"172":{"tf":1.0},"173":{"tf":1.0},"62":{"tf":1.0},"73":{"tf":2.8284271247461903}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"167":{"tf":1.7320508075688772}}},"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"e":{"d":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"159":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":1,"docs":{"152":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"y":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":92,"docs":{"1":{"tf":1.4142135623730951},"100":{"tf":3.4641016151377544},"101":{"tf":2.23606797749979},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":3.0},"106":{"tf":3.3166247903554},"107":{"tf":4.0},"108":{"tf":2.449489742783178},"109":{"tf":1.0},"110":{"tf":2.0},"111":{"tf":1.7320508075688772},"112":{"tf":2.23606797749979},"113":{"tf":1.7320508075688772},"114":{"tf":1.7320508075688772},"115":{"tf":3.4641016151377544},"116":{"tf":3.3166247903554},"117":{"tf":3.1622776601683795},"118":{"tf":2.8284271247461903},"119":{"tf":2.449489742783178},"120":{"tf":3.7416573867739413},"121":{"tf":2.23606797749979},"122":{"tf":2.449489742783178},"123":{"tf":3.4641016151377544},"124":{"tf":3.0},"125":{"tf":4.0},"126":{"tf":2.449489742783178},"127":{"tf":2.8284271247461903},"128":{"tf":4.123105625617661},"129":{"tf":3.7416573867739413},"130":{"tf":1.4142135623730951},"131":{"tf":2.8284271247461903},"132":{"tf":2.449489742783178},"133":{"tf":1.7320508075688772},"134":{"tf":2.0},"135":{"tf":2.0},"136":{"tf":2.8284271247461903},"137":{"tf":3.0},"143":{"tf":1.4142135623730951},"148":{"tf":1.0},"149":{"tf":3.1622776601683795},"150":{"tf":3.4641016151377544},"151":{"tf":1.7320508075688772},"152":{"tf":1.4142135623730951},"153":{"tf":2.0},"154":{"tf":2.8284271247461903},"155":{"tf":2.6457513110645907},"156":{"tf":2.449489742783178},"157":{"tf":1.0},"159":{"tf":2.0},"160":{"tf":3.3166247903554},"161":{"tf":1.0},"162":{"tf":1.0},"165":{"tf":2.8284271247461903},"166":{"tf":1.0},"167":{"tf":2.0},"173":{"tf":1.0},"177":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.4142135623730951},"184":{"tf":1.0},"4":{"tf":1.4142135623730951},"45":{"tf":3.605551275463989},"5":{"tf":1.0},"56":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"64":{"tf":1.0},"69":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"79":{"tf":2.449489742783178},"80":{"tf":1.7320508075688772},"81":{"tf":2.23606797749979},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":2.23606797749979},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.8284271247461903},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951},"99":{"tf":2.6457513110645907}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"107":{"tf":1.0}}},"df":1,"docs":{"129":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":5,"docs":{"149":{"tf":1.0},"168":{"tf":1.0},"171":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":1,"docs":{"110":{"tf":1.4142135623730951}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"145":{"tf":1.0},"150":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0}}}},"d":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"105":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"156":{"tf":1.0}}}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"157":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"138":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"136":{"tf":1.4142135623730951},"149":{"tf":1.0},"150":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"100":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":1,"docs":{"105":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"162":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"162":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":19,"docs":{"131":{"tf":1.0},"145":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"17":{"tf":1.0},"170":{"tf":1.0},"179":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"177":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":4,"docs":{"138":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":1.0},"177":{"tf":1.0}}}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"l":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"49":{"tf":1.7320508075688772},"50":{"tf":1.0},"58":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"105":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"151":{"tf":1.0},"152":{"tf":1.0},"166":{"tf":1.0},"25":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"t":{"df":3,"docs":{"169":{"tf":1.0},"174":{"tf":1.0},"39":{"tf":1.4142135623730951}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"129":{"tf":1.0},"140":{"tf":1.0},"153":{"tf":1.0},"182":{"tf":1.0},"36":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":6,"docs":{"101":{"tf":1.0},"111":{"tf":1.0},"135":{"tf":1.0},"152":{"tf":1.0},"81":{"tf":1.0},"85":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"163":{"tf":1.0},"62":{"tf":1.0},"78":{"tf":1.0},"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"l":{"df":2,"docs":{"151":{"tf":1.0},"9":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":2,"docs":{"148":{"tf":1.0},"84":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"154":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"166":{"tf":1.0}}}}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"171":{"tf":1.0},"174":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":7,"docs":{"124":{"tf":1.0},"128":{"tf":1.0},"146":{"tf":1.0},"163":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"(":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{")":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"185":{"tf":1.0}}},"h":{"df":0,"docs":{},"e":{"a":{"d":{")":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"108":{"tf":1.0}}}}}},"v":{"df":1,"docs":{"108":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{")":{"[":{"0":{"]":{"[":{"0":{"df":1,"docs":{"160":{"tf":1.0}}},"1":{"df":1,"docs":{"160":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"r":{"df":0,"docs":{},"h":{"df":1,"docs":{"185":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"122":{"tf":1.0}}}}}},"df":6,"docs":{"120":{"tf":1.0},"121":{"tf":1.7320508075688772},"171":{"tf":1.0},"172":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"r":{"df":2,"docs":{"175":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.0},"148":{"tf":1.0},"157":{"tf":2.23606797749979},"159":{"tf":1.0},"160":{"tf":1.4142135623730951},"166":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"136":{"tf":1.0},"142":{"tf":1.0},"145":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"163":{"tf":1.0},"165":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"177":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"45":{"tf":1.0},"77":{"tf":1.0},"9":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"e":{"b":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"173":{"tf":2.449489742783178}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"160":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.4142135623730951},"25":{"tf":1.0},"45":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":4,"docs":{"108":{"tf":1.4142135623730951},"136":{"tf":1.0},"167":{"tf":1.0},"91":{"tf":2.0}}}},"df":86,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.4142135623730951},"148":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"152":{"tf":1.4142135623730951},"154":{"tf":1.0},"160":{"tf":1.4142135623730951},"163":{"tf":2.0},"166":{"tf":1.0},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.7320508075688772},"175":{"tf":1.7320508075688772},"177":{"tf":2.23606797749979},"179":{"tf":1.4142135623730951},"18":{"tf":1.0},"180":{"tf":2.6457513110645907},"184":{"tf":1.0},"189":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"46":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"6":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"1":{"0":{"df":1,"docs":{"122":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":21,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"160":{"tf":1.7320508075688772},"162":{"tf":1.0},"167":{"tf":2.449489742783178},"17":{"tf":1.0},"173":{"tf":1.4142135623730951},"174":{"tf":1.0}},"i":{"d":{"df":3,"docs":{"169":{"tf":1.0},"171":{"tf":1.4142135623730951},"173":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"173":{"tf":1.7320508075688772}}}}}}}}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"169":{"tf":1.0},"70":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"108":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"56":{"tf":2.0}},"i":{"d":{"df":16,"docs":{"100":{"tf":1.7320508075688772},"107":{"tf":1.7320508075688772},"110":{"tf":1.7320508075688772},"117":{"tf":1.0},"146":{"tf":1.7320508075688772},"148":{"tf":1.0},"174":{"tf":1.0},"188":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":2.23606797749979}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"152":{"tf":1.0}}}},"df":0,"docs":{}},"df":50,"docs":{"100":{"tf":1.0},"101":{"tf":2.23606797749979},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0},"107":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"132":{"tf":1.4142135623730951},"135":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"146":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"151":{"tf":1.0},"153":{"tf":1.0},"155":{"tf":1.0},"160":{"tf":1.4142135623730951},"162":{"tf":2.0},"166":{"tf":1.4142135623730951},"171":{"tf":1.4142135623730951},"172":{"tf":1.0},"184":{"tf":1.0},"45":{"tf":2.23606797749979},"46":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"70":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"e":{"'":{"df":4,"docs":{"101":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"163":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":100,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":2.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"110":{"tf":1.4142135623730951},"111":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"125":{"tf":2.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":2.449489742783178},"133":{"tf":1.4142135623730951},"134":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"143":{"tf":2.0},"144":{"tf":1.0},"146":{"tf":1.4142135623730951},"147":{"tf":1.4142135623730951},"148":{"tf":2.0},"149":{"tf":1.4142135623730951},"150":{"tf":1.4142135623730951},"154":{"tf":1.7320508075688772},"155":{"tf":1.4142135623730951},"156":{"tf":1.7320508075688772},"157":{"tf":1.4142135623730951},"158":{"tf":1.4142135623730951},"159":{"tf":2.0},"160":{"tf":1.4142135623730951},"162":{"tf":1.4142135623730951},"163":{"tf":3.4641016151377544},"165":{"tf":1.7320508075688772},"166":{"tf":1.7320508075688772},"167":{"tf":1.4142135623730951},"171":{"tf":2.0},"172":{"tf":1.4142135623730951},"173":{"tf":1.0},"175":{"tf":1.0},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"181":{"tf":2.0},"189":{"tf":2.0},"27":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":1.0},"47":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":2.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":2.0},"73":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.7320508075688772},"97":{"tf":1.0},"99":{"tf":2.8284271247461903}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":2.449489742783178},"110":{"tf":1.0},"115":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"133":{"tf":1.7320508075688772},"142":{"tf":1.0},"145":{"tf":2.0},"146":{"tf":1.4142135623730951},"147":{"tf":3.0},"148":{"tf":1.0},"163":{"tf":1.0},"179":{"tf":1.0},"45":{"tf":3.0},"46":{"tf":2.0},"47":{"tf":2.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.449489742783178},"70":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}},"e":{"'":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"159":{"tf":1.0},"177":{"tf":1.0},"181":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0}}}}},"df":1,"docs":{"47":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"89":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"168":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"129":{"tf":1.0}}}}},"df":3,"docs":{"56":{"tf":1.4142135623730951},"96":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"/":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":19,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"129":{"tf":2.0},"138":{"tf":1.0},"140":{"tf":1.0},"150":{"tf":1.4142135623730951},"154":{"tf":1.4142135623730951},"157":{"tf":1.0},"163":{"tf":1.0},"168":{"tf":1.0},"175":{"tf":1.0},"177":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0}},"f":{"df":1,"docs":{"114":{"tf":1.0}},"i":{"df":1,"docs":{"25":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"10":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951}}}}}}}},"i":{"a":{"df":10,"docs":{"10":{"tf":1.4142135623730951},"135":{"tf":1.0},"153":{"tf":1.4142135623730951},"156":{"tf":1.4142135623730951},"166":{"tf":1.0},"170":{"tf":1.0},"182":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"170":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"146":{"tf":1.0},"159":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{":":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"187":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"l":{"df":1,"docs":{"187":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"129":{"tf":1.0},"169":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"df":1,"docs":{"169":{"tf":1.0}}}},"w":{":":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.7320508075688772},"79":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"34":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":12,"docs":{"109":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.7320508075688772},"15":{"tf":1.0},"157":{"tf":1.0},"170":{"tf":1.0},"173":{"tf":1.0},"177":{"tf":1.0},"43":{"tf":1.0},"46":{"tf":1.0}}}},"r":{"df":0,"docs":{},"n":{"df":11,"docs":{"100":{"tf":1.0},"124":{"tf":1.0},"128":{"tf":1.0},"135":{"tf":1.0},"146":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"58":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"140":{"tf":1.4142135623730951}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"171":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"171":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"y":{"df":28,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"115":{"tf":1.0},"13":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"147":{"tf":1.0},"149":{"tf":1.0},"152":{"tf":1.0},"153":{"tf":1.0},"154":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.4142135623730951},"167":{"tf":1.0},"168":{"tf":1.4142135623730951},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"174":{"tf":1.4142135623730951},"189":{"tf":1.0},"43":{"tf":1.0},"78":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"df":2,"docs":{"70":{"tf":1.7320508075688772},"99":{"tf":1.0}},"e":{"'":{"d":{"df":2,"docs":{"127":{"tf":1.0},"170":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951}}}},"r":{"df":1,"docs":{"40":{"tf":1.0}}},"v":{"df":1,"docs":{"39":{"tf":1.0}}}},"b":{"df":3,"docs":{"168":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":8,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"l":{"df":5,"docs":{"1":{"tf":1.4142135623730951},"174":{"tf":1.0},"18":{"tf":1.0},"3":{"tf":1.0},"62":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"125":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"151":{"tf":1.0},"175":{"tf":1.0},"63":{"tf":1.0}}},"b":{"df":0,"docs":{},"i":{"df":1,"docs":{"182":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"149":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"161":{"tf":1.0},"177":{"tf":1.0},"179":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"4":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"5":{"df":1,"docs":{"50":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"c":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":3,"docs":{"15":{"tf":1.0},"182":{"tf":1.0},"45":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"171":{"tf":1.0},"178":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"83":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"111":{"tf":1.0}},"n":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"70":{"tf":2.0}}}}},"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":4,"docs":{"65":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":2.23606797749979},"71":{"tf":1.7320508075688772}},"s":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"2":{"_":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{":":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":3,"docs":{"163":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"77":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"173":{"tf":1.0},"176":{"tf":1.4142135623730951},"178":{"tf":1.4142135623730951},"179":{"tf":1.0},"39":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":14,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"145":{"tf":1.0},"155":{"tf":1.0},"167":{"tf":1.4142135623730951},"174":{"tf":1.0},"2":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":2,"docs":{"101":{"tf":1.0},"39":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"k":{"df":16,"docs":{"108":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"140":{"tf":1.0},"145":{"tf":1.0},"168":{"tf":2.0},"169":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":2.0},"178":{"tf":1.0},"179":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"168":{"tf":1.0}}}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"168":{"tf":1.7320508075688772}}}}}},"l":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"168":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"l":{"d":{"df":9,"docs":{"152":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.4142135623730951},"63":{"tf":2.0},"8":{"tf":2.23606797749979},"91":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"148":{"tf":1.0},"33":{"tf":1.0}}}},"s":{"df":1,"docs":{"110":{"tf":1.0}},"t":{"df":1,"docs":{"167":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"160":{"tf":1.0},"63":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":11,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.449489742783178},"121":{"tf":1.0},"128":{"tf":1.0},"160":{"tf":2.0},"170":{"tf":1.0},"171":{"tf":1.0},"27":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"(":{"df":4,"docs":{"186":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0}}},"df":4,"docs":{"27":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"42":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":21,"docs":{"106":{"tf":1.0},"109":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"149":{"tf":1.4142135623730951},"15":{"tf":1.0},"150":{"tf":1.4142135623730951},"157":{"tf":1.0},"159":{"tf":1.0},"166":{"tf":1.4142135623730951},"169":{"tf":1.0},"170":{"tf":1.0},"175":{"tf":1.4142135623730951},"176":{"tf":1.0},"177":{"tf":1.0},"36":{"tf":1.0},"67":{"tf":1.0},"9":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"113":{"tf":1.0},"63":{"tf":1.7320508075688772},"91":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"79":{"tf":1.0},"99":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":2,"docs":{"31":{"tf":1.0},"34":{"tf":1.0}}}}}}},"x":{"df":23,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"124":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"143":{"tf":1.7320508075688772},"144":{"tf":1.4142135623730951},"146":{"tf":1.7320508075688772},"147":{"tf":1.7320508075688772},"149":{"tf":1.4142135623730951},"150":{"tf":1.7320508075688772},"163":{"tf":2.0},"166":{"tf":1.7320508075688772},"178":{"tf":2.0},"64":{"tf":2.23606797749979},"65":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"73":{"tf":5.0990195135927845},"75":{"tf":2.449489742783178},"76":{"tf":1.7320508075688772},"77":{"tf":2.0},"78":{"tf":2.449489742783178}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}}},"y":{"/":{"df":0,"docs":{},"n":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":6,"docs":{"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"144":{"tf":2.0},"50":{"tf":1.0},"73":{"tf":5.196152422706632}},"e":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"140":{"tf":1.4142135623730951},"3":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":4,"docs":{"109":{"tf":2.23606797749979},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"72":{"tf":2.8284271247461903}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"110":{"tf":2.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"56":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"u":{"'":{"d":{"df":7,"docs":{"128":{"tf":1.0},"130":{"tf":1.0},"149":{"tf":1.0},"164":{"tf":1.0},"171":{"tf":1.0},"177":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"149":{"tf":1.4142135623730951},"151":{"tf":1.0},"154":{"tf":1.0},"157":{"tf":1.4142135623730951},"17":{"tf":1.0},"171":{"tf":1.0},"174":{"tf":1.0},"186":{"tf":1.0},"19":{"tf":1.0},"23":{"tf":1.0},"43":{"tf":1.0},"9":{"tf":1.7320508075688772}}}},"r":{"df":13,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"140":{"tf":1.0},"149":{"tf":1.0},"15":{"tf":1.0},"150":{"tf":1.0},"153":{"tf":1.4142135623730951},"178":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"62":{"tf":1.0},"99":{"tf":1.0}}},"v":{"df":5,"docs":{"129":{"tf":1.0},"171":{"tf":1.0},"28":{"tf":1.0},"33":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"110":{"tf":1.0},"148":{"tf":1.0},"168":{"tf":1.0},"173":{"tf":1.0}}}}}}}}}},"z":{"df":1,"docs":{"73":{"tf":5.5677643628300215}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":3,"docs":{"114":{"tf":1.0},"4":{"tf":1.0},"73":{"tf":2.0}}}}}}}},"title":{"root":{"0":{".":{"1":{".":{"4":{"0":{"9":{"df":1,"docs":{"18":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":2,"docs":{"10":{"tf":1.0},"57":{"tf":1.0}}},"2":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"58":{"tf":1.0}}},"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":1,"docs":{"189":{"tf":1.0}}}}},"c":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"103":{"tf":1.0},"86":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"d":{"d":{"df":1,"docs":{"37":{"tf":1.0}}},"df":4,"docs":{"111":{"tf":1.0},"39":{"tf":1.0},"81":{"tf":1.0},"93":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"136":{"tf":1.0},"173":{"tf":1.0},"178":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"128":{"tf":1.0}},"s":{"df":4,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":3,"docs":{"137":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"131":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"184":{"tf":1.0},"36":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":1,"docs":{"160":{"tf":1.0}}}}}},"r":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"137":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"133":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"109":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":1,"docs":{"11":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"162":{"tf":1.0}}}},"df":0,"docs":{}}},"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"32":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"18":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}},"r":{"c":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"19":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":5,"docs":{"175":{"tf":1.0},"176":{"tf":1.0},"178":{"tf":1.0},"179":{"tf":1.0},"181":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{":":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"179":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"g":{"df":1,"docs":{"164":{"tf":1.0}}},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"1":{"tf":1.0},"187":{"tf":1.0},"188":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"134":{"tf":1.0},"80":{"tf":1.0}}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":5,"docs":{"136":{"tf":1.0},"155":{"tf":1.0},"156":{"tf":1.0},"171":{"tf":1.0},"176":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"147":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"65":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"106":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"v":{"df":1,"docs":{"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"162":{"tf":1.0}}},"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"24":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"9":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"142":{"tf":1.0},"144":{"tf":1.0},"181":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"145":{"tf":1.0},"148":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"190":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"159":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.0}}}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"134":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"177":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"44":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"122":{"tf":1.0},"165":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"170":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":5,"docs":{"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0}}}}}}}}}},"n":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"106":{"tf":1.0},"125":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":4,"docs":{"1":{"tf":1.0},"168":{"tf":1.0},"174":{"tf":1.0},"3":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"140":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"150":{"tf":1.0},"151":{"tf":1.0},"152":{"tf":1.0},"156":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"48":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"i":{"df":8,"docs":{"12":{"tf":1.0},"157":{"tf":1.0},"158":{"tf":1.0},"159":{"tf":1.0},"162":{"tf":1.0},"164":{"tf":1.0},"165":{"tf":1.0},"166":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"29":{"tf":1.0},"35":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"t":{"a":{"df":6,"docs":{"157":{"tf":1.0},"166":{"tf":1.0},"4":{"tf":1.0},"63":{"tf":1.0},"68":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"174":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"30":{"tf":1.0},"46":{"tf":1.0},"81":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":2,"docs":{"158":{"tf":1.0},"84":{"tf":1.0}}}},"f":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"143":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.0},"183":{"tf":1.0},"187":{"tf":1.0},"36":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"128":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"o":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"163":{"tf":1.0}}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"186":{"tf":1.0},"2":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"6":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"7":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"43":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"51":{"tf":1.0},"59":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"86":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"134":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"148":{"tf":1.0}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"_":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"122":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"111":{"tf":1.0}}}}},"x":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":7,"docs":{"108":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"17":{"tf":1.0},"189":{"tf":1.0},"190":{"tf":1.0},"73":{"tf":1.0}},"e":{":":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"_":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":2,"docs":{"39":{"tf":1.0},"43":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"172":{"tf":1.0},"173":{"tf":1.0},"189":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0}}}}},"df":0,"docs":{}},"h":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"72":{"tf":1.0},"73":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"67":{"tf":1.0},"95":{"tf":1.0}}}},"t":{"df":2,"docs":{"51":{"tf":1.0},"59":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"133":{"tf":1.0},"137":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"30":{"tf":1.0},"36":{"tf":1.0}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"14":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"181":{"tf":1.0},"28":{"tf":1.0},"9":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":2,"docs":{"48":{"tf":1.0},"63":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"180":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"137":{"tf":1.0},"139":{"tf":1.0},"177":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":11,"docs":{"11":{"tf":1.0},"124":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"149":{"tf":1.0},"154":{"tf":1.0},"166":{"tf":1.0},"178":{"tf":1.0},"180":{"tf":1.0},"181":{"tf":1.0},"33":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":5,"docs":{"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"172":{"tf":1.0},"176":{"tf":1.0}}}}},"df":0,"docs":{}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":1,"docs":{"174":{"tf":1.0}}}}}},"d":{"df":1,"docs":{"107":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{".":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"29":{"tf":1.0},"40":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":2,"docs":{"41":{"tf":1.0},"8":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"1":{"tf":1.0}}}}}}},"o":{"c":{"df":2,"docs":{"111":{"tf":1.0},"81":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"84":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"152":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"128":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":3,"docs":{"100":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"156":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"176":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.0},"129":{"tf":1.0},"154":{"tf":1.0},"91":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"128":{"tf":1.0},"134":{"tf":1.0},"167":{"tf":1.0},"46":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}},"n":{"c":{"df":2,"docs":{"119":{"tf":1.0},"120":{"tf":1.0}},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"a":{"c":{"df":1,"docs":{"151":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"52":{"tf":1.0},"60":{"tf":1.0},"96":{"tf":1.0}}}}}},"j":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"33":{"tf":1.0}}},"v":{"a":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"d":{"df":0,"docs":{},"k":{"_":{"1":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"m":{"df":1,"docs":{"1":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"95":{"tf":1.0}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":1,"docs":{"164":{"tf":1.0}}}}}}},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":5,"docs":{"133":{"tf":1.0},"142":{"tf":1.0},"143":{"tf":1.0},"145":{"tf":1.0},"180":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"/":{"/":{":":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{".":{"b":{"df":0,"docs":{},"z":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"18":{"tf":1.0}},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"181":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":8,"docs":{"54":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}}},"t":{"df":1,"docs":{"1":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"135":{"tf":1.0}}}}}},"o":{"a":{"d":{"(":{"\"":{"@":{"c":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"24":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"166":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"p":{"df":10,"docs":{"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"172":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"12":{"tf":1.0},"148":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":5,"docs":{"56":{"tf":1.0},"77":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"64":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":10,"docs":{"17":{"tf":1.0},"182":{"tf":1.0},"183":{"tf":1.0},"188":{"tf":1.0},"189":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"42":{"tf":1.0},"89":{"tf":1.0},"97":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"b":{"a":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"153":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"78":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"159":{"tf":1.0},"160":{"tf":1.0},"162":{"tf":1.0},"166":{"tf":1.0},"167":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"69":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}},"w":{"df":4,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"30":{"tf":1.0},"42":{"tf":1.0}}},"x":{"df":0,"docs":{},"t":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"116":{"tf":1.0}}}}},"n":{"df":3,"docs":{"108":{"tf":1.0},"135":{"tf":1.0},"73":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":5,"docs":{"116":{"tf":1.0},"153":{"tf":1.0},"179":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0}}}},"w":{"df":2,"docs":{"31":{"tf":1.0},"41":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"105":{"tf":1.0},"106":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"106":{"tf":1.0},"13":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"161":{"tf":1.0}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"88":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"147":{"tf":1.0}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"32":{"tf":1.0}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"96":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"165":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"114":{"tf":1.0}}}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"124":{"tf":1.0}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"160":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"123":{"tf":1.0},"127":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"137":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"1":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"64":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"161":{"tf":1.0},"163":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"62":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"33":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"o":{"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":11,"docs":{"132":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"142":{"tf":1.0},"144":{"tf":1.0},"169":{"tf":1.0},"170":{"tf":1.0},"171":{"tf":1.0},"175":{"tf":1.0},"176":{"tf":1.4142135623730951},"181":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":4,"docs":{"14":{"tf":1.0},"28":{"tf":1.0},"31":{"tf":1.0},"44":{"tf":1.0}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"15":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"1":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"84":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"47":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":4,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"165":{"tf":1.0}}}}}},"df":1,"docs":{"177":{"tf":1.0}},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"144":{"tf":1.0},"166":{"tf":1.0},"181":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"61":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"131":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"145":{"tf":1.0},"167":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"136":{"tf":1.0},"154":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"100":{"tf":1.0}}}}}}}},"s":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"84":{"tf":1.0}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":1,"docs":{"147":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":4,"docs":{"55":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"166":{"tf":1.0}}}}}},"h":{"a":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"147":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"83":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"166":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"132":{"tf":1.0}}}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":2,"docs":{"52":{"tf":1.0},"60":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"185":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"165":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"38":{"tf":1.0},"66":{"tf":1.0}}}}}}},"i":{"c":{"df":5,"docs":{"1":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"153":{"tf":1.0},"72":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":2,"docs":{"89":{"tf":1.0},"97":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"104":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"68":{"tf":1.0},"69":{"tf":1.0}}}}}},"df":0,"docs":{}}},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{":":{":":{"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"df":1,"docs":{"40":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"37":{"tf":1.0}}}}}},"u":{"b":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"173":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"135":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"113":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"13":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"y":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":2,"docs":{"179":{"tf":1.0},"78":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"13":{"tf":1.0},"182":{"tf":1.0}}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"187":{"tf":1.0},"30":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":1,"docs":{"172":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"122":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"181":{"tf":1.0}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"148":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"108":{"tf":1.0},"73":{"tf":1.0}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"135":{"tf":1.0},"98":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"'":{"df":1,"docs":{"167":{"tf":1.0}}},"df":27,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"154":{"tf":1.0},"160":{"tf":1.4142135623730951},"165":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"w":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"121":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"a":{"df":0,"docs":{},"g":{"df":2,"docs":{"108":{"tf":1.0},"91":{"tf":1.0}}}},"df":4,"docs":{"180":{"tf":1.0},"189":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"160":{"tf":1.0},"167":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":4,"docs":{"100":{"tf":1.0},"110":{"tf":1.0},"146":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":6,"docs":{"133":{"tf":1.0},"147":{"tf":1.4142135623730951},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"18":{"tf":1.0}}}}}}}},"i":{"a":{"df":3,"docs":{"153":{"tf":1.0},"156":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"l":{"d":{"c":{"a":{"df":0,"docs":{},"r":{"d":{"df":2,"docs":{"70":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":1,"docs":{"163":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"d":{"df":2,"docs":{"41":{"tf":1.0},"8":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file diff --git a/static_typing/BUILD b/static_typing/BUILD new file mode 100644 index 00000000..0fa88831 --- /dev/null +++ b/static_typing/BUILD @@ -0,0 +1,13 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "static_typing", + doc_template = "static_typing.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "expect_errors": True, + "hidden_cleanup": "ex1-cleanup.claro", + }, + ], +) diff --git a/static_typing/aliases/BUILD b/static_typing/aliases/BUILD new file mode 100644 index 00000000..6d7bcad3 --- /dev/null +++ b/static_typing/aliases/BUILD @@ -0,0 +1,14 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "aliases", + doc_template = "aliases.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + { + "example": "ex3.claro", + "hidden_setup": "ex2.claro", + } + ], +) diff --git a/static_typing/aliases/aliases.generated_docs.html b/static_typing/aliases/aliases.generated_docs.html new file mode 100644 index 00000000..7372acb0 --- /dev/null +++ b/static_typing/aliases/aliases.generated_docs.html @@ -0,0 +1,304 @@ + + + + + + Aliases - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static_typing/aliases/ex1.claro b/static_typing/aliases/ex1.claro new file mode 100644 index 00000000..5aff7315 --- /dev/null +++ b/static_typing/aliases/ex1.claro @@ -0,0 +1,13 @@ +# You can imagine that typing this out could be verbose/annoying. +alias IntsToTupleFn: function<|int, int| -> tuple> + +consumer prettyPrint(name: string, fn: IntsToTupleFn, arg1: int, arg2: int) { + var res = fn(arg1, arg2); + print("{name}({arg1}, {arg2}) -> {res}"); +} + +var swapped: IntsToTupleFn = lambda (a, b) -> (b, a); +prettyPrint("swapped", swapped, 1, 2); + +var doubled: IntsToTupleFn = lambda (a, b) -> (2*a, 2*b); +prettyPrint("doubled", doubled, 1, 2); \ No newline at end of file diff --git a/static_typing/aliases/ex2.claro b/static_typing/aliases/ex2.claro new file mode 100644 index 00000000..59388bd7 --- /dev/null +++ b/static_typing/aliases/ex2.claro @@ -0,0 +1,11 @@ +alias MPH : double +alias Hours : double # Arguably you should be using `duration::Duration`. +alias Miles : double + +function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours { + return distanceTraveled / speed; +} + +var speed: MPH = 15.0; +var distance: Miles = 60.0; +print(timeTraveled(speed, distance)); \ No newline at end of file diff --git a/static_typing/aliases/ex3.claro b/static_typing/aliases/ex3.claro new file mode 100644 index 00000000..0a3cf76a --- /dev/null +++ b/static_typing/aliases/ex3.claro @@ -0,0 +1,6 @@ +var mySpeed: MPH = 15.0; +var myDistance: Miles = 60.0; + +# Aliases provide zero compile-time protection from mistakenly passing these +# args out-of-order. +print(timeTraveled(myDistance, mySpeed)); diff --git a/static_typing/aliases/not_a_new_type_decl/BUILD b/static_typing/aliases/not_a_new_type_decl/BUILD new file mode 100644 index 00000000..9503c273 --- /dev/null +++ b/static_typing/aliases/not_a_new_type_decl/BUILD @@ -0,0 +1,9 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "not_a_new_type_decl", + doc_template = "not_a_new_type_decl.tmpl.md", + examples = [ + "ex1.claro", + ], +) diff --git a/static_typing/aliases/not_a_new_type_decl/ex1.claro b/static_typing/aliases/not_a_new_type_decl/ex1.claro new file mode 100644 index 00000000..7d6feae0 --- /dev/null +++ b/static_typing/aliases/not_a_new_type_decl/ex1.claro @@ -0,0 +1,13 @@ +alias IntList1 : [int] +alias IntList2 : [int] + +var i1: IntList1 = [1]; +var i2: IntList2 = [2]; +var i3: [int] = [3]; + +i2 = i3; # <-- IntList2 is equivalent to [int]. +i1 = i2; # <-- IntList1 is equivalent to IntList2. + +print(i1); +print(i2); +print(i3); \ No newline at end of file diff --git a/static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html b/static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html new file mode 100644 index 00000000..72ee6d8e --- /dev/null +++ b/static_typing/aliases/not_a_new_type_decl/not_a_new_type_decl.generated_docs.html @@ -0,0 +1,268 @@ + + + + + + Aliases are Not a New Type Declaration - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Aliases are Not a New Type Declaration

    +

    It's important to know that, in general, defining an Alias does not declare a "new type", instead it is just providing +a shorthand for referring to some type. With an Alias definition, you are simply defining an alternative, more +convenient way to refer to a type that is semantically equivalent to typing out the explicit type itself.

    +

    The example below demonstrates how variables with types declared using equivalent aliases, will in fact type-check as +having the same type:

    +

    Fig 1:

    +
    +
    alias IntList1 : [int]
    +alias IntList2 : [int]
    +
    +var i1: IntList1 = [1];
    +var i2: IntList2 = [2];
    +var i3: [int] = [3];
    +
    +i2 = i3;   # <-- IntList2 is equivalent to [int].
    +i1 = i2;   # <-- IntList1 is equivalent to IntList2.
    +
    +print(i1);
    +print(i2);
    +print(i3);
    +
    +

    Output:

    +
    [3]
    +[3]
    +[3]
    +
    +
    +

    Note on "Nominal Typing"

    +

    Nominal typing can actually be very useful for enforcing maintenance of semantic interpretations of even simple data +types, and even for maintaining inter-field invariants of more complex structured data types. So, of course, Claro also +provides a mechanism to define new, "nominally typed" type definitions. This will allow making a semantic distinction +between two "structurally equivalent" types that have different names.

    +

    For more on this, see: User Defined Types.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/atoms/BUILD b/static_typing/atoms/BUILD new file mode 100644 index 00000000..d9176eed --- /dev/null +++ b/static_typing/atoms/BUILD @@ -0,0 +1,26 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "atoms", + doc_template = "atoms.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex1.claro", + }, + { + "example": "ex3.claro", + "hidden_setup": "ex1.claro", + "expect_errors": True, + }, + { + "example": "ex4.claro", + "hidden_setup": "ex1.claro", + "append_output": False, + }, + ] +) diff --git a/static_typing/atoms/atoms.generated_docs.html b/static_typing/atoms/atoms.generated_docs.html new file mode 100644 index 00000000..d6750404 --- /dev/null +++ b/static_typing/atoms/atoms.generated_docs.html @@ -0,0 +1,316 @@ + + + + + + Atoms - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Atoms

    +

    Sometimes it's useful to represent a concept that doesn't necessarily have any meaningful "data" apart from a name. For +example, you may want to represent the states of a simple street-light (i.e. red, yellow, or green).

    +

    Claro's atoms provide a clean solution for modelling these states:

    +

    Fig 1:

    +
    +
    atom Red
    +atom Yellow
    +atom Green
    +
    +
    +

    Now, you can write code that directly uses these Red, Yellow and Green as values.

    +

    Fig 2:

    +
    +
    random::forSeed(1)
    +  |> random::nextNonNegativeBoundedInt(^, 3)
    +  |> var r = ^;
    +
    +var lightColor: oneof<Red, Yellow, Green>;
    +match (r) {
    +  case 0 -> lightColor = Red;
    +  case 1 -> lightColor = Yellow;
    +  case _ -> lightColor = Green;
    +}
    +print(lightColor);
    +
    +

    Output:

    +
    Red
    +
    +
    +

    Static Validation

    +
    +You could try to use strings for this purpose, but then you would need to do runtime string equality checks throughout +your codebase to distinguish one state from another as their types would all be the same, `string`, and even worse you +open yourself to simple typo bugs. +
    +

    Using atoms, Claro will catch any accidental typos for you at compile-time:

    +

    Fig 3:

    +
    +
    random::forSeed(1)
    +  |> random::nextNonNegativeBoundedInt(^, 3)
    +  |> var r = ^;
    +
    +var lightColor: oneof<Red, Yellow, Green>;
    +match (r) {
    +  case 0 -> lightColor = Red;
    +  case 1 -> lightColor = Yelow;  # <-- Claro will catch this misspelling for you.
    +  case _ -> lightColor = Green;
    +}
    +print(lightColor);
    +
    +

    Compilation Errors:

    +
    atoms_EX3_example.claro:8: No variable <Yelow> within the current scope!
    +  case 1 -> lightColor = Yelow;  # <-- Claro will catch this misspelling for you.
    +                         ^^^^^
    +atoms_EX3_example.claro:8: Invalid type: found <<UNKNOWABLE DUE TO PRIOR TYPE VALIDATION ERROR>>, but expected one of (<Red, Yellow, Green, oneof<Red, Yellow, Green>>).
    +  case 1 -> lightColor = Yelow;  # <-- Claro will catch this misspelling for you.
    +                         ^^^^^
    +2 Errors
    +
    +
    +

    Ad-Hoc "Enums"

    +

    Unlike many other languages, if you want to define a type that has only a limited set of possible values you don't have +to declare an "enum" ahead of time. Instead, Claro encourages modeling this using the builtin oneof<...> type as in +the example above. It can be useful to define an alias to represent the "enum" in a concise way if it's widely used:

    +

    Fig 4:

    +
    +
    alias LightColor : oneof<Red, Yellow, Green>
    +
    +random::forSeed(1)
    +  |> random::nextNonNegativeBoundedInt(^, 3)
    +  |> var r = ^;
    +
    +var lightColor: LightColor;
    +match (r) {
    +  case 0 -> lightColor = Red;
    +  case 1 -> lightColor = Yellow;
    +  case _ -> lightColor = Green;
    +}
    +print(lightColor);
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/atoms/ex1.claro b/static_typing/atoms/ex1.claro new file mode 100644 index 00000000..093d93b2 --- /dev/null +++ b/static_typing/atoms/ex1.claro @@ -0,0 +1,3 @@ +atom Red +atom Yellow +atom Green \ No newline at end of file diff --git a/static_typing/atoms/ex2.claro b/static_typing/atoms/ex2.claro new file mode 100644 index 00000000..880cba4e --- /dev/null +++ b/static_typing/atoms/ex2.claro @@ -0,0 +1,11 @@ +random::forSeed(1) + |> random::nextNonNegativeBoundedInt(^, 3) + |> var r = ^; + +var lightColor: oneof; +match (r) { + case 0 -> lightColor = Red; + case 1 -> lightColor = Yellow; + case _ -> lightColor = Green; +} +print(lightColor); diff --git a/static_typing/atoms/ex3.claro b/static_typing/atoms/ex3.claro new file mode 100644 index 00000000..347d1d53 --- /dev/null +++ b/static_typing/atoms/ex3.claro @@ -0,0 +1,11 @@ +$$random::forSeed(1) +$$ |> random::nextNonNegativeBoundedInt(^, 3) +$$ |> var r = ^; +$$ +$$var lightColor: oneof; +$$match (r) { +$$ case 0 -> lightColor = Red; + case 1 -> lightColor = Yelow; # <-- Claro will catch this misspelling for you. +$$ case _ -> lightColor = Green; +$$} +$$print(lightColor); diff --git a/static_typing/atoms/ex4.claro b/static_typing/atoms/ex4.claro new file mode 100644 index 00000000..263120cb --- /dev/null +++ b/static_typing/atoms/ex4.claro @@ -0,0 +1,13 @@ +alias LightColor : oneof + +$$random::forSeed(1) +$$ |> random::nextNonNegativeBoundedInt(^, 3) +$$ |> var r = ^; +$$ +var lightColor: LightColor; +$$match (r) { +$$ case 0 -> lightColor = Red; +$$ case 1 -> lightColor = Yellow; +$$ case _ -> lightColor = Green; +$$} +$$print(lightColor); diff --git a/static_typing/builtin_colls/BUILD b/static_typing/builtin_colls/BUILD new file mode 100644 index 00000000..f5d4861a --- /dev/null +++ b/static_typing/builtin_colls/BUILD @@ -0,0 +1,13 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "builtin_collections", + doc_template = "builtin_collections.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + "ex3.claro", + "ex4.claro", + "ex5.claro", + ], +) diff --git a/static_typing/builtin_colls/builtin_collections.generated_docs.html b/static_typing/builtin_colls/builtin_collections.generated_docs.html new file mode 100644 index 00000000..65dfc40d --- /dev/null +++ b/static_typing/builtin_colls/builtin_collections.generated_docs.html @@ -0,0 +1,342 @@ + + + + + + Builtin Collections - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    + +

    Builtin Collections

    +

    Claro also rounds out its builtin types with a small set of convenient collection types that allow you to manipulate +many values using a single variable. These are provided as builtins for your convenience, but their implementations have +been hand selected to cover the majority of your general purpose programming use cases.

    +

    Ad-Hoc Declarations

    +

    Unlike many other languages (e.g. Java/C++/etc.) that require a formal declaration of any type before it can be +instantiated, Claro's builtin collections can all be simply instantiated at will as if the type already exists. For +example, any struct-like collection of named fields in Java would first require the declaration of a class, and +potentially the declaration of other things like a constructor, hashCode() and equals() implementations. In Claro, you +simply skip all the boilerplate.

    +

    For example, the following Claro procedure declares a struct {row: int, col: int} inline as the function's return type +and doesn't need any top-level declaration of that type before it's used:

    +

    Fig 1:

    +
    +
    function findInNestedList<T>(l: [[T]], t: T) -> struct {row: int, col: int} {
    +  var r = 0;
    +  for (row in l) {
    +    var c = 0;
    +    for (elem in row) {
    +      if (elem == t) {
    +        return {row = r, col = c};  # <-- Just instantiate the struct.
    +      }
    +      ++c;
    +    }
    +    ++r;
    +  }
    +  return {row = -1, col = -1};
    +}
    +
    +[[1, 2],
    + [3, 4],
    + [5, 6]]
    +  |> findInNestedList(^, 4)
    +  |> print(^);
    +
    +

    Output:

    +
    {row = 1, col = 1}
    +
    +
    +

    Mutability

    +

    All of Claro's builtin collection types come in either a mutable or immutable variant - by default, Claro will +assume that any collection literals are intended to be immutable.

    +

    Fig 2:

    +
    +
    var l = [1, 2, 3]; # Immutable list of ints.
    +print(l);
    +
    +# The below line would be illegal as `lists::add` expects a mutable list.
    +# lists::add(l, 4);
    +
    +

    Output:

    +
    [1, 2, 3]
    +
    +
    +

    The following example demonstrates initialization of a mutable list of integers:

    +

    Fig 3:

    +
    +
    var l = mut [1, 2, 3];
    +print("Before: {l}");
    +
    +lists::add(l, 4);      # <-- Mutation happens here.
    +print("After:  {l}");
    +
    +

    Output:

    +
    Before: mut [1, 2, 3]
    +After:  mut [1, 2, 3, 4]
    +
    +
    +

    Mutability Annotations are Shallow

    +

    Claro's mutability annotations are shallow by design so that you maintain fine-grained control over creating arbitrarily +complex nested data structures that mix mutability and immutability as needed. The following examples demonstrate +different combinations of nested mutability annotations:

    +

    This example demonstrates a mutable list whose elements are immutable lists.

    +

    Fig 4:

    +
    +
    var l: mut [[int]] = mut [];
    +for (i in [1, 2, 3]) {
    +  lists::add(l, [i, i]); # <-- Add an immutable list to the mutable list.
    +}
    +print(l);
    +
    +

    Output:

    +
    mut [[1, 1], [2, 2], [3, 3]]
    +
    +
    +

    This example demonstrates an immutable list whose elements are mutable lists.

    +

    Fig 5:

    +
    +
    var l: [mut [int]] = [mut [], mut [], mut []];
    +var i = 1;
    +for (mutList in l) {
    +  lists::add(mutList, i); # <-- Append an int to this inner mutable list.
    +  lists::add(mutList, i++);
    +}
    +print(l);
    +
    +

    Output:

    +
    [mut [1, 1], mut [2, 2], mut [3, 3]]
    +
    +
    +

    Data Race Safety via Deep Immutability

    +
    +This builtin support for mutability annotations allows Claro to enforce some very strong safety guarantees in concurrent +contexts, so this is about more than just providing a convenient library of data types. +
    +

    See the Concurrency section in this book for more details on how Claro will statically leverage +knowledge of whether a type is deeply immutable or not to prevent unsafe data races.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/builtin_colls/ex1.claro b/static_typing/builtin_colls/ex1.claro new file mode 100644 index 00000000..ea62c727 --- /dev/null +++ b/static_typing/builtin_colls/ex1.claro @@ -0,0 +1,20 @@ +function findInNestedList(l: [[T]], t: T) -> struct {row: int, col: int} { + var r = 0; + for (row in l) { + var c = 0; + for (elem in row) { + if (elem == t) { + return {row = r, col = c}; # <-- Just instantiate the struct. + } + ++c; + } + ++r; + } + return {row = -1, col = -1}; +} + +[[1, 2], + [3, 4], + [5, 6]] + |> findInNestedList(^, 4) + |> print(^); diff --git a/static_typing/builtin_colls/ex2.claro b/static_typing/builtin_colls/ex2.claro new file mode 100644 index 00000000..a9112248 --- /dev/null +++ b/static_typing/builtin_colls/ex2.claro @@ -0,0 +1,5 @@ +var l = [1, 2, 3]; # Immutable list of ints. +print(l); + +# The below line would be illegal as `lists::add` expects a mutable list. +# lists::add(l, 4); \ No newline at end of file diff --git a/static_typing/builtin_colls/ex3.claro b/static_typing/builtin_colls/ex3.claro new file mode 100644 index 00000000..781c852b --- /dev/null +++ b/static_typing/builtin_colls/ex3.claro @@ -0,0 +1,5 @@ +var l = mut [1, 2, 3]; +print("Before: {l}"); + +lists::add(l, 4); # <-- Mutation happens here. +print("After: {l}"); \ No newline at end of file diff --git a/static_typing/builtin_colls/ex4.claro b/static_typing/builtin_colls/ex4.claro new file mode 100644 index 00000000..deb800df --- /dev/null +++ b/static_typing/builtin_colls/ex4.claro @@ -0,0 +1,5 @@ +var l: mut [[int]] = mut []; +for (i in [1, 2, 3]) { + lists::add(l, [i, i]); # <-- Add an immutable list to the mutable list. +} +print(l); \ No newline at end of file diff --git a/static_typing/builtin_colls/ex5.claro b/static_typing/builtin_colls/ex5.claro new file mode 100644 index 00000000..7251daaa --- /dev/null +++ b/static_typing/builtin_colls/ex5.claro @@ -0,0 +1,7 @@ +var l: [mut [int]] = [mut [], mut [], mut []]; +var i = 1; +for (mutList in l) { + lists::add(mutList, i); # <-- Append an int to this inner mutable list. + lists::add(mutList, i++); +} +print(l); \ No newline at end of file diff --git a/static_typing/builtin_colls/list_type/BUILD b/static_typing/builtin_colls/list_type/BUILD new file mode 100644 index 00000000..9c393eb4 --- /dev/null +++ b/static_typing/builtin_colls/list_type/BUILD @@ -0,0 +1,7 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "list_type", + doc_template = "list_type.tmpl.md", + examples = ["ex1.claro", "ex2.claro", "ex3.claro"], +) diff --git a/static_typing/builtin_colls/list_type/ex1.claro b/static_typing/builtin_colls/list_type/ex1.claro new file mode 100644 index 00000000..91412a21 --- /dev/null +++ b/static_typing/builtin_colls/list_type/ex1.claro @@ -0,0 +1,5 @@ +var l: mut [int] = mut [1, 3, 7, 2, -115, 0]; +lists::add(l, 99); +print(len(l)); # 7 +print(l[1] == l[0]); # false +print(l[6] == 99); # true diff --git a/static_typing/builtin_colls/list_type/ex2.claro b/static_typing/builtin_colls/list_type/ex2.claro new file mode 100644 index 00000000..3f421cb0 --- /dev/null +++ b/static_typing/builtin_colls/list_type/ex2.claro @@ -0,0 +1,3 @@ +var l = [1, 2]; +print(l[0]); +print(l[1]); \ No newline at end of file diff --git a/static_typing/builtin_colls/list_type/ex3.claro b/static_typing/builtin_colls/list_type/ex3.claro new file mode 100644 index 00000000..adf710a2 --- /dev/null +++ b/static_typing/builtin_colls/list_type/ex3.claro @@ -0,0 +1,3 @@ +var l = mut [1, 2]; +l[0] = 99; +print(l); \ No newline at end of file diff --git a/static_typing/builtin_colls/list_type/list_type.generated_docs.html b/static_typing/builtin_colls/list_type/list_type.generated_docs.html new file mode 100644 index 00000000..85ad92fc --- /dev/null +++ b/static_typing/builtin_colls/list_type/list_type.generated_docs.html @@ -0,0 +1,317 @@ + + + + + + Lists - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Lists

    +

    The simplest collection type allows you to keep an arbitrary number of values in some ordering. The list is very much +like a Python list in that it allows arbitrary appends, and random access to read values at a O-based index. Unlike +Python, as Claro is statically typed, all values in the list must be of the same type, and this type must be +pre-determined upon declaration of the variable which reference the list.

    +

    Fig 1:

    +
    +
    var l: mut [int] = mut [1, 3, 7, 2, -115, 0];
    +lists::add(l, 99);
    +print(len(l)); # 7
    +print(l[1] == l[0]); # false
    +print(l[6] == 99); # true
    +
    +

    Output:

    +
    7
    +false
    +true
    +
    +
    +

    Accessing List Elements

    +

    Lists support random-access indexing via traditional C-like syntax:

    +

    Fig 2:

    +
    +
    var l = [1, 2];
    +print(l[0]);
    +print(l[1]);
    +
    +

    Output:

    +
    1
    +2
    +
    +
    +

    Mutable List Element Reassignment

    +

    You can update the individual values stored at a particular list index via traditional C-like syntax:

    +

    Fig 3:

    +
    +
    var l = mut [1, 2];
    +l[0] = 99;
    +print(l);
    +
    +

    Output:

    +
    mut [99, 2]
    +
    +
    +

    Index-Out-Of-Bounds

    +

    As with most other languages that allow random-access to lists, you must be careful to always index into lists at valid +positions. Any accesses of index, i, where i < 0 or i >= len(l) will result in the program Panicking (exiting in an +unrecoverable way).

    +
    var l = mut [1, 2];
    +l[99] = 0;    # <-- Panic: Index-out-of-Bounds!
    +
    +

    (Note: it's possible that as the language evolves, Claro may instead opt to make all list subscripting operations +inherently safe by returning some structured result that models the possibility that the list index was invalid. This is +ideal for safety, however, this would impose a global runtime overhead so the tradeoff is still being evaluated.)

    +

    Stdlib lists Module

    +

    A large variety of list operations are available in the +stdlib's lists module. For example, the previous exapmle +added an element to the end of a mutable list by using the lists::add procedure whose signature is the following in +the lists.claro_module_api file:

    +
    # Appends the specified element to the end of this list.
    +consumer add<T>(l: mut [T], toAdd: T);
    +
    +

    Empty Lists

    +

    It's worth noting that Claro has no way of inferring the correct element type of an empty list when it's type is not +constrained by context. For example, the below variable declaration would be a compile-error:

    +
    var l = []; # Compiler Error: ambiguous type.
    +
    +

    Empty List Type Inference By Later Usage (Will Never Be Supported)

    +

    You might think that Claro should be able to infer the type intended for this empty list based on the later usage of the +variable it's assigned to. Claro takes the opinionated stance that this would be inherently undesirable behavior. +Type inference shouldn't follow some esoteric resolution rules. It would be all too easy to implement a complex type +inference system that can infer types far better than any real world human reader could - the end result would simply be +enabling code to be written that is intrinsically difficult for your colleagues (and your future self) to read later on. +This is an anti-goal of Claro.

    +

    The following will never be supported:

    +
    # Hypothetically, Claro could infer that the type of `l` is `mut [string]` based
    +# solely on the usage of `l` later on.
    +var l = mut [];
    +
    +...a bunch of code...
    +
    +append(l, "foo");
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/builtin_colls/map_type/BUILD b/static_typing/builtin_colls/map_type/BUILD new file mode 100644 index 00000000..b1b0e034 --- /dev/null +++ b/static_typing/builtin_colls/map_type/BUILD @@ -0,0 +1,17 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "map_type", + doc_template = "map_type.tmpl.md", + examples = [ + "ex1.claro", + "ex2.claro", + "ex3.claro", + { + "example": "ex4.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + "ex5.claro", + ], +) diff --git a/static_typing/builtin_colls/map_type/ex1.claro b/static_typing/builtin_colls/map_type/ex1.claro new file mode 100644 index 00000000..8df0e9f3 --- /dev/null +++ b/static_typing/builtin_colls/map_type/ex1.claro @@ -0,0 +1,5 @@ +var myMap: mut {string: int} = mut {}; +myMap["Jason"] = 28; +print("Jason" in myMap); # true +myMap["Kenny"] = 29; +print(myMap); # mut {"Jason": 28, "Kenny": 29} diff --git a/static_typing/builtin_colls/map_type/ex2.claro b/static_typing/builtin_colls/map_type/ex2.claro new file mode 100644 index 00000000..28206fae --- /dev/null +++ b/static_typing/builtin_colls/map_type/ex2.claro @@ -0,0 +1,5 @@ +var m = {"a": 1, "b": 2}; + +for (k in ["a", "b", "c"]) { + print("{k} in map: {k in m}"); +} \ No newline at end of file diff --git a/static_typing/builtin_colls/map_type/ex3.claro b/static_typing/builtin_colls/map_type/ex3.claro new file mode 100644 index 00000000..5204dfc1 --- /dev/null +++ b/static_typing/builtin_colls/map_type/ex3.claro @@ -0,0 +1,7 @@ +var m = {"a": 1, "b": 2}; + +for (entry in m) { + var k = entry[0]; + var v = entry[1]; + print("{k} -> {v}"); +} \ No newline at end of file diff --git a/static_typing/builtin_colls/map_type/ex4.claro b/static_typing/builtin_colls/map_type/ex4.claro new file mode 100644 index 00000000..238c2b89 --- /dev/null +++ b/static_typing/builtin_colls/map_type/ex4.claro @@ -0,0 +1,2 @@ +# Returns the value to which the specified key is mapped, or `defaultValue` if this map contains no mapping for the key. +function getOrDefault(m: {K:V}, k: K, defaultValue: V) -> V; \ No newline at end of file diff --git a/static_typing/builtin_colls/map_type/ex5.claro b/static_typing/builtin_colls/map_type/ex5.claro new file mode 100644 index 00000000..5a26d38d --- /dev/null +++ b/static_typing/builtin_colls/map_type/ex5.claro @@ -0,0 +1,5 @@ +var m = {"a": 1, "b": 2}; + +for (k in ["a", "b", "c"]) { + print(maps::getOrDefault(m, k, -1)); +} \ No newline at end of file diff --git a/static_typing/builtin_colls/map_type/map_type.generated_docs.html b/static_typing/builtin_colls/map_type/map_type.generated_docs.html new file mode 100644 index 00000000..37ca5ac6 --- /dev/null +++ b/static_typing/builtin_colls/map_type/map_type.generated_docs.html @@ -0,0 +1,307 @@ + + + + + + Maps - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Maps

    +

    A mapping of keys of a fixed value type, to values of a fixed type.

    +

    Fig 1:

    +
    +
    var myMap: mut {string: int} = mut {};
    +myMap["Jason"] = 28;
    +print("Jason" in myMap); # true
    +myMap["Kenny"] = 29;
    +print(myMap); # mut {"Jason": 28, "Kenny": 29}
    +
    +

    Output:

    +
    true
    +mut {Jason: 28, Kenny: 29}
    +
    +
    +

    Checking if a Key Exists

    +

    You can check for the existence of a key in a map by using the in keyword.

    +

    Fig 2:

    +
    +
    var m = {"a": 1, "b": 2};
    +
    +for (k in ["a", "b", "c"]) {
    +  print("{k} in map: {k in m}");
    +}
    +
    +

    Output:

    +
    a in map: true
    +b in map: true
    +c in map: false
    +
    +
    +

    Iterating Over the Entries of a Map

    +

    Claro's for loop supports iterating over the entries of a map, with each entry modeled as tuple<K, V>:

    +

    Fig 3:

    +
    +
    var m = {"a": 1, "b": 2};
    +
    +for (entry in m) {
    +  var k = entry[0];
    +  var v = entry[1];
    +  print("{k} -> {v}");
    +}
    +
    +

    Output:

    +
    a -> 1
    +b -> 2
    +
    +
    +

    Stdlib maps Module

    +

    A large variety of map operations are available in the +stdlib's maps module. For example, you can +declare a default value that will be used as fallback if the read key doesn't exist in the map by using the following +function declared in the maps.claro_module_api file:

    +

    Fig 4:

    +
    +
    # Returns the value to which the specified key is mapped, or `defaultValue` if this map contains no mapping for the key.
    +function getOrDefault<K,V>(m: {K:V}, k: K, defaultValue: V) -> V;
    +
    +
    +

    Fig 5:

    +
    +
    var m = {"a": 1, "b": 2};
    +
    +for (k in ["a", "b", "c"]) {
    +  print(maps::getOrDefault(m, k, -1));
    +}
    +
    +

    Output:

    +
    1
    +2
    +-1
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/builtin_colls/set_type/BUILD b/static_typing/builtin_colls/set_type/BUILD new file mode 100644 index 00000000..7aa3b30f --- /dev/null +++ b/static_typing/builtin_colls/set_type/BUILD @@ -0,0 +1,15 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "set_type", + doc_template = "set_type.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "ex2.claro", + "executable": False, + "codeblock_css_class": "claro", + }, + "ex3.claro", + ], +) diff --git a/static_typing/builtin_colls/set_type/ex1.claro b/static_typing/builtin_colls/set_type/ex1.claro new file mode 100644 index 00000000..b31c56b9 --- /dev/null +++ b/static_typing/builtin_colls/set_type/ex1.claro @@ -0,0 +1,3 @@ +var mySet: {int} = {1, 6, -12}; +print(10 in mySet); +print(6 in mySet); \ No newline at end of file diff --git a/static_typing/builtin_colls/set_type/ex2.claro b/static_typing/builtin_colls/set_type/ex2.claro new file mode 100644 index 00000000..720fce17 --- /dev/null +++ b/static_typing/builtin_colls/set_type/ex2.claro @@ -0,0 +1,5 @@ +# Adds the specified element to this set if it is not already present. If this set already contains the element, the +# call leaves the set unchanged and returns false. This ensures that sets never contain duplicate elements. +# +# Returns: true if this set did not already contain the specified element. +function add(s: mut {T}, t: T) -> boolean; \ No newline at end of file diff --git a/static_typing/builtin_colls/set_type/ex3.claro b/static_typing/builtin_colls/set_type/ex3.claro new file mode 100644 index 00000000..06f75493 --- /dev/null +++ b/static_typing/builtin_colls/set_type/ex3.claro @@ -0,0 +1,4 @@ +var s = mut {1, 2}; +print(10 in s); +_ = sets::add(s, 10); # <-- Explicitly ignoring output of function call. +print(10 in s); \ No newline at end of file diff --git a/static_typing/builtin_colls/set_type/set_type.generated_docs.html b/static_typing/builtin_colls/set_type/set_type.generated_docs.html new file mode 100644 index 00000000..73123104 --- /dev/null +++ b/static_typing/builtin_colls/set_type/set_type.generated_docs.html @@ -0,0 +1,272 @@ + + + + + + Sets - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Sets

    +

    Claro sets are much like Python sets, with a fixed, single type for all elements. You may initialize them with many +elements and then check for membership in the set later.

    +

    Fig 1:

    +
    +
    var mySet: {int} = {1, 6, -12};
    +print(10 in mySet);
    +print(6 in mySet);
    +
    +

    Output:

    +
    false
    +true
    +
    +
    +

    Adding Elements to a Mutable Set

    +

    Elements can be added to a set by making use of the sets::add function from the +stdlib's sets module.

    +

    Fig 2:

    +
    +
    # Adds the specified element to this set if it is not already present. If this set already contains the element, the
    +# call leaves the set unchanged and returns false. This ensures that sets never contain duplicate elements.
    +#
    +# Returns: true if this set did not already contain the specified element.
    +function add<T>(s: mut {T}, t: T) -> boolean;
    +
    +
    +

    Fig 3:

    +
    +
    var s = mut {1, 2};
    +print(10 in s);
    +_ = sets::add(s, 10);  # <-- Explicitly ignoring output of function call.
    +print(10 in s);
    +
    +

    Output:

    +
    false
    +true
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/builtin_colls/struct_type/BUILD b/static_typing/builtin_colls/struct_type/BUILD new file mode 100644 index 00000000..2aed15ec --- /dev/null +++ b/static_typing/builtin_colls/struct_type/BUILD @@ -0,0 +1,7 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "struct_type", + doc_template = "struct_type.tmpl.md", + examples = ["ex1.claro", "ex2.claro", "ex3.claro"], +) diff --git a/static_typing/builtin_colls/struct_type/ex1.claro b/static_typing/builtin_colls/struct_type/ex1.claro new file mode 100644 index 00000000..e07a6503 --- /dev/null +++ b/static_typing/builtin_colls/struct_type/ex1.claro @@ -0,0 +1,2 @@ +var myStruct: struct {x: int, y: int} = {x = 1, y = 2}; +print(myStruct); \ No newline at end of file diff --git a/static_typing/builtin_colls/struct_type/ex2.claro b/static_typing/builtin_colls/struct_type/ex2.claro new file mode 100644 index 00000000..92728862 --- /dev/null +++ b/static_typing/builtin_colls/struct_type/ex2.claro @@ -0,0 +1,3 @@ +var myStruct: struct {x: int, y: int} = {x = 1, y = 2}; +print(myStruct.x); +print(myStruct.y); \ No newline at end of file diff --git a/static_typing/builtin_colls/struct_type/ex3.claro b/static_typing/builtin_colls/struct_type/ex3.claro new file mode 100644 index 00000000..03b7eeec --- /dev/null +++ b/static_typing/builtin_colls/struct_type/ex3.claro @@ -0,0 +1,6 @@ +var myStruct = mut {name = "Jason", age = 29}; # <-- Omitting optional type annotation. +print(myStruct); + +myStruct.name = "Claro"; # <-- Mutation happens here. +myStruct.age = 3; # <-- Mutation happens here. +print(myStruct); \ No newline at end of file diff --git a/static_typing/builtin_colls/struct_type/struct_type.generated_docs.html b/static_typing/builtin_colls/struct_type/struct_type.generated_docs.html new file mode 100644 index 00000000..2ff8a8ae --- /dev/null +++ b/static_typing/builtin_colls/struct_type/struct_type.generated_docs.html @@ -0,0 +1,276 @@ + + + + + + Structs - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Structs

    +

    Structs are similar to tuples with named field values of arbitrary pre-declared types.

    +

    Fig 1:

    +
    +
    var myStruct: struct {x: int, y: int} = {x = 1, y = 2};
    +print(myStruct);
    +
    +

    Output:

    +
    {x = 1, y = 2}
    +
    +
    +

    Field Access

    +

    Struct field values can be directly accessed using "dot-notation" as below:

    +

    Fig 2:

    +
    +
    var myStruct: struct {x: int, y: int} = {x = 1, y = 2};
    +print(myStruct.x);
    +print(myStruct.y);
    +
    +

    Output:

    +
    1
    +2
    +
    +
    +

    Mutable Structs

    +

    Just like any other builtin collection type, a Claro struct may be declared mutable using the mut keyword when +declaring a variable or initializing the value. You may then update element values at will as long as the initial type +declaration for each element is honored.

    +

    Fig 3:

    +
    +
    var myStruct = mut {name = "Jason", age = 29};  # <-- Omitting optional type annotation.
    +print(myStruct);
    +
    +myStruct.name = "Claro";  # <-- Mutation happens here.
    +myStruct.age = 3;         # <-- Mutation happens here.
    +print(myStruct);
    +
    +

    Output:

    +
    mut {name = Jason, age = 29}
    +mut {name = Claro, age = 3}
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/builtin_colls/tuple_type/BUILD b/static_typing/builtin_colls/tuple_type/BUILD new file mode 100644 index 00000000..73020831 --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/BUILD @@ -0,0 +1,23 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "tuple_type", + doc_template = "tuple_type.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "expect_errors": True, + }, + "ex2.claro", + { + "example": "ex3.claro", + "expect_errors": True, + }, + "ex4.claro", + { + "example": "ex5.claro", + "expect_errors": True, + }, + "ex6.claro", + ], +) diff --git a/static_typing/builtin_colls/tuple_type/ex1.claro b/static_typing/builtin_colls/tuple_type/ex1.claro new file mode 100644 index 00000000..9133ff51 --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/ex1.claro @@ -0,0 +1,7 @@ +var myPair: tuple = (1, "one"); + +# Claro will interpret literal int subscripts at compile-time for type validation. +var myInt: int = myPair[1]; # <-- Wrong index. +print(myInt); +var myStr: string = myPair[3]; # <-- Out-of-bounds index. +print(myStr); \ No newline at end of file diff --git a/static_typing/builtin_colls/tuple_type/ex2.claro b/static_typing/builtin_colls/tuple_type/ex2.claro new file mode 100644 index 00000000..98ab275f --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/ex2.claro @@ -0,0 +1,7 @@ +var myPair: tuple = (1, "one"); + +# Claro will interpret literal int subscripts at compile-time for type validation. +var myInt: int = myPair[0]; # <-- Correct index. +print(myInt); +var myStr: string = myPair[1]; # <-- Correct index. +print(myStr); \ No newline at end of file diff --git a/static_typing/builtin_colls/tuple_type/ex3.claro b/static_typing/builtin_colls/tuple_type/ex3.claro new file mode 100644 index 00000000..4b6aa334 --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/ex3.claro @@ -0,0 +1,6 @@ +var myPair: tuple = (1, "one"); + +# Claro requires a type cast for non-literal index. +var index: int = 0; +var myInt = myPair[index]; +print(myInt); \ No newline at end of file diff --git a/static_typing/builtin_colls/tuple_type/ex4.claro b/static_typing/builtin_colls/tuple_type/ex4.claro new file mode 100644 index 00000000..f4866f5f --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/ex4.claro @@ -0,0 +1,7 @@ +var myPair: tuple = (1, "one"); + +# Claro requires a type cast for non-literal index. +var index: int = 0; +var myInt = cast(int, myPair[index]); # OK, opting into runtime type validation. +print(myInt); + diff --git a/static_typing/builtin_colls/tuple_type/ex5.claro b/static_typing/builtin_colls/tuple_type/ex5.claro new file mode 100644 index 00000000..3f7303c5 --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/ex5.claro @@ -0,0 +1,5 @@ +var myPair = (1, "one"); # <-- This is an **immutable** tuple. +print(myPair); + +myPair[0] = 99; # <-- Illegal attempted mutation happens here. +print(myPair); diff --git a/static_typing/builtin_colls/tuple_type/ex6.claro b/static_typing/builtin_colls/tuple_type/ex6.claro new file mode 100644 index 00000000..c974b70f --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/ex6.claro @@ -0,0 +1,5 @@ +var myPair = mut (1, "one"); # <-- This is now a **mutable** tuple. +print(myPair); + +myPair[0] = 99; # <-- Mutation happens here. +print(myPair); diff --git a/static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html b/static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html new file mode 100644 index 00000000..d69f3ef8 --- /dev/null +++ b/static_typing/builtin_colls/tuple_type/tuple_type.generated_docs.html @@ -0,0 +1,362 @@ + + + + + + Tuples - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Tuples

    +

    Tuples are a fixed-order, fixed-size collection of values which do not all have to be of the same type.

    +

    Compile-Time Validated Indexing

    +

    You can see in the example below, tuples interact w/ type validation in an interesting way worth making note of. When +you index into a tuple, you should generally prefer to use a literal int constant. When you do, Claro can statically +determine the type of the value you're accessing at compile time, which allows safer and more efficient code.

    +

    For example, Claro is able to statically find the bugs in the below program:

    +

    Fig 1:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro will interpret literal int subscripts at compile-time for type validation.
    +var myInt: int = myPair[1];     # <-- Wrong index.
    +print(myInt);
    +var myStr: string = myPair[3];  # <-- Out-of-bounds index.
    +print(myStr);
    +
    +

    Compilation Errors:

    +
    tuple_type_EX1_example.claro:4: Invalid type:
    +	Found:
    +		string
    +	Expected:
    +		int
    +var myInt: int = myPair[1];     # <-- Wrong index.
    +                 ^^^^^^^^^
    +tuple_type_EX1_example.claro:6: Tuple Subscript Literal Out of Bounds:
    +	For subscript on tuple of type: tuple<int, string>
    +	Found:
    +		3
    +	Expected:
    +		index in range [0, 2)
    +var myStr: string = myPair[3];  # <-- Out-of-bounds index.
    +                    ^^^^^^^^^
    +2 Errors
    +
    +
    +

    Making it easy to apply the fix:

    +

    Fig 2:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro will interpret literal int subscripts at compile-time for type validation.
    +var myInt: int = myPair[0];     # <-- Correct index.
    +print(myInt);
    +var myStr: string = myPair[1];  # <-- Correct index.
    +print(myStr);
    +
    +

    Output:

    +
    1
    +one
    +
    +
    +

    Runtime Validated Indexing

    +

    If your index value is hidden behind some indirection, Claro can't know the type at compile-time and will require a +runtime type cast (which is slow & opens the door to runtime Panics if the actual type doesn't match the asserted type).

    +

    Claro will warn you at compile-time when this is necessary:

    +

    Fig 3:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro requires a type cast for non-literal index.
    +var index: int = 0;
    +var myInt = myPair[index];
    +print(myInt);
    +
    +

    Compilation Errors:

    +
    tuple_type_EX3_example.claro:5: The type of this expression is UNDECIDED at compile-time! You must explicitly cast the Expr to the expected type to assert this type at compile-time.
    +var myInt = myPair[index];
    +            ^^^^^^^^^^^^^
    +tuple_type_EX3_example.claro:6: No variable <myInt> within the current scope!
    +print(myInt);
    +      ^^^^^
    +2 Errors
    +
    +
    +

    Fix the error by explicitly asserting the expected type by casting:

    +

    Fig 4:

    +
    +
    var myPair: tuple<int, string> = (1, "one");
    +
    +# Claro requires a type cast for non-literal index.
    +var index: int = 0;
    +var myInt = cast(int, myPair[index]); # OK, opting into runtime type validation.
    +print(myInt);
    +
    +

    Output:

    +
    1
    +
    +
    +

    Mutable Tuples

    +

    Unlike some other languages with tuple support, Claro imposes no arbitrary restriction that all tuples must necessarily +be immutable. Just like any other builtin collection type, a Claro tuple may be declared mutable using the mut +keyword when declaring a variable or initializing the value. You may then update element values at will as long as the +initial type declaration for each element is honored.

    +

    Claro won't allow you to mutate a tuple that isn't explicitly declared mutable:

    +

    Fig 5:

    +
    +
    var myPair = (1, "one"); # <-- This is an **immutable** tuple.
    +print(myPair);
    +
    +myPair[0] = 99;  # <-- Illegal attempted mutation happens here.
    +print(myPair);
    +
    +

    Compilation Errors:

    +
    tuple_type_EX5_example.claro:4: Illegal Mutation of Immutable Value: Mutation of immutable values is forbidden!
    +	Found the immutable type:
    +		tuple<int, string>
    +	In order to mutate this value, the value's type would need to be updated to:
    +		mut tuple<int, string>
    +myPair[0] = 99;  # <-- Illegal attempted mutation happens here.
    +^^^^^^
    +1 Error
    +
    +
    +

    The mutation is legal when the tuple is explicitly annotated mut:

    +

    Fig 6:

    +
    +
    var myPair = mut (1, "one");  # <-- This is now a **mutable** tuple.
    +print(myPair);
    +
    +myPair[0] = 99;  # <-- Mutation happens here.
    +print(myPair);
    +
    +

    Output:

    +
    mut (1, one)
    +mut (99, one)
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/ex1-cleanup.claro b/static_typing/ex1-cleanup.claro new file mode 100644 index 00000000..a3c8fdee --- /dev/null +++ b/static_typing/ex1-cleanup.claro @@ -0,0 +1 @@ +_ = s; \ No newline at end of file diff --git a/static_typing/ex1.claro b/static_typing/ex1.claro new file mode 100644 index 00000000..2259758d --- /dev/null +++ b/static_typing/ex1.claro @@ -0,0 +1 @@ +var s: string = 100.55; \ No newline at end of file diff --git a/static_typing/oneofs/BUILD b/static_typing/oneofs/BUILD new file mode 100644 index 00000000..5387de21 --- /dev/null +++ b/static_typing/oneofs/BUILD @@ -0,0 +1,18 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "oneofs", + doc_template = "oneofs.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "hidden_cleanup": "ex1-cleanup.claro", + "append_output": False, + }, + "ex2.claro", + { + "example": "ex3.claro", + "expect_errors": True, + }, + ] +) diff --git a/static_typing/oneofs/ex1-cleanup.claro b/static_typing/oneofs/ex1-cleanup.claro new file mode 100644 index 00000000..2802bba4 --- /dev/null +++ b/static_typing/oneofs/ex1-cleanup.claro @@ -0,0 +1,2 @@ +intOrStr = -1; +_ = intOrStr; # Throw away the value. diff --git a/static_typing/oneofs/ex1.claro b/static_typing/oneofs/ex1.claro new file mode 100644 index 00000000..e9f290e8 --- /dev/null +++ b/static_typing/oneofs/ex1.claro @@ -0,0 +1 @@ +var intOrStr: oneof; \ No newline at end of file diff --git a/static_typing/oneofs/ex2.claro b/static_typing/oneofs/ex2.claro new file mode 100644 index 00000000..53335645 --- /dev/null +++ b/static_typing/oneofs/ex2.claro @@ -0,0 +1,17 @@ +$$var intOrStr: oneof; +$$ +$$random::forSeed(20000) +$$ |> random::nextNonNegativeBoundedInt(^, 2) +$$ |> var r = ^; +$$ +match (r) { + case 0 -> intOrStr = 10; + case _ -> intOrStr = "ten"; +} +print("intOrStr: {intOrStr}"); + +if (intOrStr instanceof int) { + print("Found an int!"); +} else { + print("Found a string!"); +} \ No newline at end of file diff --git a/static_typing/oneofs/ex3.claro b/static_typing/oneofs/ex3.claro new file mode 100644 index 00000000..61875c41 --- /dev/null +++ b/static_typing/oneofs/ex3.claro @@ -0,0 +1,6 @@ +if (10 instanceof int) { + print("Obviously an int"); +} +if (10 instanceof string) { + print("Obviously not a string"); +} diff --git a/static_typing/oneofs/narrowing/BUILD b/static_typing/oneofs/narrowing/BUILD new file mode 100644 index 00000000..82be0a1c --- /dev/null +++ b/static_typing/oneofs/narrowing/BUILD @@ -0,0 +1,14 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "narrowing", + doc_template = "narrowing.tmpl.md", + examples = [ + "ex1.claro", + { + "example": "ex2.claro", + "expect_errors": True, + }, + "ex3.claro", + ] +) diff --git a/static_typing/oneofs/narrowing/ex1.claro b/static_typing/oneofs/narrowing/ex1.claro new file mode 100644 index 00000000..cf5823cc --- /dev/null +++ b/static_typing/oneofs/narrowing/ex1.claro @@ -0,0 +1,7 @@ +$$var intOrStr: oneof = 10; +$$ +if (intOrStr instanceof int) { + # Claro automatically "narrows" the variable to have type `int`. + var addRes = intOrStr + 10; + print("{intOrStr} + 10 = {addRes}"); +} \ No newline at end of file diff --git a/static_typing/oneofs/narrowing/ex2.claro b/static_typing/oneofs/narrowing/ex2.claro new file mode 100644 index 00000000..59e44b40 --- /dev/null +++ b/static_typing/oneofs/narrowing/ex2.claro @@ -0,0 +1,11 @@ +$$var intOrStr: oneof = 10; +$$ +if (intOrStr instanceof int) { + # Claro automatically "narrows" the variable to have type `int`. + var addRes = intOrStr + 10; + print("{intOrStr} + 10 = {addRes}"); + + # Claro automatically "widens" the variable to `oneof`. + intOrStr = "ten"; + addRes = intOrStr + 10; # <-- This is no longer valid. +} \ No newline at end of file diff --git a/static_typing/oneofs/narrowing/ex3.claro b/static_typing/oneofs/narrowing/ex3.claro new file mode 100644 index 00000000..fbcf59b8 --- /dev/null +++ b/static_typing/oneofs/narrowing/ex3.claro @@ -0,0 +1,22 @@ +newtype LinkedNode : struct { + val: T, + next: oneof, std::Nothing> +} + +alias SB : string_builder::StringBuilder +function renderLinkedList(head: LinkedNode, sb: SB) -> SB { + _ = string_builder::add(sb, "{unwrap(head).val} -> "); + var next = unwrap(head).next; + if (next instanceof LinkedNode) { + return renderLinkedList(next, sb); # <-- Type of `next` was "narrowed" to `LinkedNode`. + } else { + return string_builder::add(sb, "*END*"); + } +} + +var linkedList = LinkedNode({val = 1, next = LinkedNode({val = 2, next = LinkedNode({val = 3, next = std::Nothing})})}); + +string_builder::create() + |> renderLinkedList(linkedList, ^) + |> string_builder::build(^) + |> print(^); \ No newline at end of file diff --git a/static_typing/oneofs/narrowing/narrowing.generated_docs.html b/static_typing/oneofs/narrowing/narrowing.generated_docs.html new file mode 100644 index 00000000..0e8aeac1 --- /dev/null +++ b/static_typing/oneofs/narrowing/narrowing.generated_docs.html @@ -0,0 +1,313 @@ + + + + + + "Narrowing" / Type Guards - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    "Narrowing" / Type Guards

    +

    Inspired by TypeScript's support for this, when you perform an instanceof check on a variable with a oneof type +within a conditional statement, Claro automatically "narrows" the type of the variable to the checked type. This is +logically valid because the only way that control-flow could possibly reach that context is if that was actually the +type at runtime.

    +

    Fig 1:

    +
    +
    var intOrStr: oneof<int, string> = 10;
    +
    +if (intOrStr instanceof int) {
    +  # Claro automatically "narrows" the variable to have type `int`.
    +  var addRes = intOrStr + 10;
    +  print("{intOrStr} + 10 = {addRes}");
    +}
    +
    +

    Output:

    +
    10 + 10 = 20
    +
    +
    +
    +Note: Claro is not implementing full "flow typing" here. The type will be "widened" again to its originally declared +type if you assign a value of any type other than the narrowed type to a variable in a context where it's been narrowed. +
    +

    Fig 2:

    +
    +
    var intOrStr: oneof<int, string> = 10;
    +
    +if (intOrStr instanceof int) {
    +  # Claro automatically "narrows" the variable to have type `int`.
    +  var addRes = intOrStr + 10;
    +  print("{intOrStr} + 10 = {addRes}");
    +
    +  # Claro automatically "widens" the variable to `oneof<int, string>`.
    +  intOrStr = "ten";
    +  addRes = intOrStr + 10;  # <-- This is no longer valid.
    +}
    +
    +

    Compilation Errors:

    +
    narrowing_EX2_example.claro:10: Invalid type: found <oneof<int, string>>, but expected one of (<int, long, float, double>).
    +  addRes = intOrStr + 10;  # <-- This is no longer valid.
    +           ^^^^^^^^
    +1 Error
    +
    +
    +

    Non-Trivial Example Usage

    +

    For a less trivial example of working with oneof types, the below function is able to pretty-print a linked list by +checking if the current node is the end of the list or not by branching on the type of the next reference:

    +

    Fig 3:

    +
    +
    newtype LinkedNode<T> : struct {
    +  val: T,
    +  next: oneof<LinkedNode<T>, std::Nothing>
    +}
    +
    +alias SB : string_builder::StringBuilder
    +function renderLinkedList<T>(head: LinkedNode<T>, sb: SB) -> SB {
    +  _ = string_builder::add(sb, "{unwrap(head).val} -> ");
    +  var next = unwrap(head).next;
    +  if (next instanceof LinkedNode<T>) {
    +    return renderLinkedList(next, sb);   # <-- Type of `next` was "narrowed" to `LinkedNode<T>`.
    +  } else {
    +    return string_builder::add(sb, "*END*");
    +  }
    +}
    +
    +var linkedList = LinkedNode({val = 1, next = LinkedNode({val = 2, next = LinkedNode({val = 3, next = std::Nothing})})});
    +
    +string_builder::create()
    +  |> renderLinkedList(linkedList, ^)
    +  |> string_builder::build(^)
    +  |> print(^);
    +
    +

    Output:

    +
    1 -> 2 -> 3 -> *END*
    +
    +
    +

    The above example relies on concepts described in later sections, so consider checking out +User Defined Types and Generics +for some more info.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/oneofs/oneofs.generated_docs.html b/static_typing/oneofs/oneofs.generated_docs.html new file mode 100644 index 00000000..085d74a4 --- /dev/null +++ b/static_typing/oneofs/oneofs.generated_docs.html @@ -0,0 +1,298 @@ + + + + + + Oneofs - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Oneofs

    +

    Something that's often left unaddressed by statically typed programming languages is the ability to model a value that +can take on one of an arbitrary set of types. Many other languages approximate this sort of ability through a notion of +"sub-typing" relationships between a hierarchy of types. While sub-typing as found broad use and much support throughout +the programming languages ecosystem, Claro has been designed under the belief that sub-typing leaves much to be desired +and opens the door to all sorts of unwanted and unnecessary complexity and leads to error-prone coding patterns. So, +on principle, Claro will never support sub-typing, and instead provides support for oneof types (also known as +tagged-unions in other languages).

    +

    Fig 1:

    +
    +
    var intOrStr: oneof<int, string>;
    +
    +
    +

    Check the Concrete Type of a Oneof With the instanceof Operator

    +

    The entire point of a oneof type is to be able to write branching logic on the concrete type that is actually +represented by the oneof at runtime. One way of achieving this is with the instanceof boolean operator that allows +you to check the concrete type at runtime:

    +

    Fig 2:

    +
    +
    var intOrStr: oneof<int, string>;
    +
    +random::forSeed(20000)
    +  |> random::nextNonNegativeBoundedInt(^, 2)
    +  |> var r = ^;
    +
    +match (r) {
    +  case 0 -> intOrStr = 10;
    +  case _ -> intOrStr = "ten";
    +}
    +print("intOrStr: {intOrStr}");
    +
    +if (intOrStr instanceof int) {
    +  print("Found an int!");
    +} else {
    +  print("Found a string!");
    +}
    +
    +

    Output:

    +
    intOrStr: 10
    +Found an int!
    +
    +
    +
    +It's somewhat nonsensical to do an instanceof check on any concrete type so Claro statically rejects that. +
    +

    Fig 3:

    +
    +
    if (10 instanceof int) {
    +  print("Obviously an int");
    +}
    +if (10 instanceof string) {
    +  print("Obviously not a string");
    +}
    +
    +

    Compilation Errors:

    +
    oneofs_EX3_example.claro:1: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.
    +if (10 instanceof int) {
    +    ^^^^^^^^^^^^^^^^^
    +oneofs_EX3_example.claro:4: Illegal instanceof Check: int is a statically known concrete type! Using instanceof over a statically known concrete type is never necessary.
    +if (10 instanceof string) {
    +    ^^^^^^^^^^^^^^^^^^^^
    +2 Errors
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/static_typing.generated_docs.html b/static_typing/static_typing.generated_docs.html new file mode 100644 index 00000000..406437db --- /dev/null +++ b/static_typing/static_typing.generated_docs.html @@ -0,0 +1,253 @@ + + + + + + Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Types

    +

    Claro is a statically typed, compiled programming language. This means that if you attempt to assign a value of the +wrong type to a variable, Claro will emit a compiler error asking for a correction before your program will be able to +run. This will prevent you from waiting until runtime to find many program errors.

    +

    Fig 1:

    +
    +
    var s: string = 100.55;
    +
    +

    Compilation Errors:

    +
    static_typing_EX1_example.claro:1: Invalid type:
    +	Found:
    +		double
    +	Expected:
    +		string
    +var s: string = 100.55;
    +                ^^^^^^
    +1 Error
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/user_defined_types/BUILD b/static_typing/user_defined_types/BUILD new file mode 100644 index 00000000..e24be9f1 --- /dev/null +++ b/static_typing/user_defined_types/BUILD @@ -0,0 +1,40 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "user_defined_types", + doc_template = "user_defined_types.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False + }, + { + "example": "ex2.claro", + "append_output": False + }, + { + "example": "ex3.claro", + "hidden_setup": "ex1.claro", + }, + { + "example": "ex4.claro", + "expect_errors": True, + }, + "ex5.claro", + { + "example": "ex6-bad-concat.claro", + "expect_errors": True, + }, + { + "example": "ex6-good.claro", + "hidden_setup": "ex6.claro", + }, + ] +) + +genrule( + name = "ex6-bad-concat", + srcs = ["ex6.claro", "ex6-bad.claro"], + outs = ["ex6-bad-concat.claro"], + cmd = "cat $(location ex6.claro) $(location ex6-bad.claro) > $(OUTS)" +) \ No newline at end of file diff --git a/static_typing/user_defined_types/ex1.claro b/static_typing/user_defined_types/ex1.claro new file mode 100644 index 00000000..25a1129d --- /dev/null +++ b/static_typing/user_defined_types/ex1.claro @@ -0,0 +1 @@ +newtype Foo : int \ No newline at end of file diff --git a/static_typing/user_defined_types/ex2.claro b/static_typing/user_defined_types/ex2.claro new file mode 100644 index 00000000..3ab3069c --- /dev/null +++ b/static_typing/user_defined_types/ex2.claro @@ -0,0 +1,4 @@ +# The order of `newtype` declarations is unimportant. +newtype Baz : int +newtype Foo : Bar +newtype Bar : Baz diff --git a/static_typing/user_defined_types/ex3.claro b/static_typing/user_defined_types/ex3.claro new file mode 100644 index 00000000..154d8bbd --- /dev/null +++ b/static_typing/user_defined_types/ex3.claro @@ -0,0 +1,2 @@ +var f = Foo(1); +print(f); \ No newline at end of file diff --git a/static_typing/user_defined_types/ex4.claro b/static_typing/user_defined_types/ex4.claro new file mode 100644 index 00000000..008f9178 --- /dev/null +++ b/static_typing/user_defined_types/ex4.claro @@ -0,0 +1,3 @@ +newtype Foo : int +var f = Foo(1); +print(f + 9); \ No newline at end of file diff --git a/static_typing/user_defined_types/ex5.claro b/static_typing/user_defined_types/ex5.claro new file mode 100644 index 00000000..6a267d88 --- /dev/null +++ b/static_typing/user_defined_types/ex5.claro @@ -0,0 +1,3 @@ +newtype Foo : int +var f = Foo(1); +print(unwrap(f) + 9); \ No newline at end of file diff --git a/static_typing/user_defined_types/ex6-bad.claro b/static_typing/user_defined_types/ex6-bad.claro new file mode 100644 index 00000000..8e0317b2 --- /dev/null +++ b/static_typing/user_defined_types/ex6-bad.claro @@ -0,0 +1,4 @@ + + +# Claro can identify this type mismatch. +print(timeTraveled(Miles(60.0), MPH(15.0))); \ No newline at end of file diff --git a/static_typing/user_defined_types/ex6-good.claro b/static_typing/user_defined_types/ex6-good.claro new file mode 100644 index 00000000..3157260a --- /dev/null +++ b/static_typing/user_defined_types/ex6-good.claro @@ -0,0 +1 @@ +print(timeTraveled(MPH(15.0), Miles(60.0))); \ No newline at end of file diff --git a/static_typing/user_defined_types/ex6.claro b/static_typing/user_defined_types/ex6.claro new file mode 100644 index 00000000..883adbf1 --- /dev/null +++ b/static_typing/user_defined_types/ex6.claro @@ -0,0 +1,7 @@ +newtype MPH : double +newtype Hours : double # Arguably you should be using `duration::Duration`. +newtype Miles : double + +function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours { + return Hours(unwrap(distanceTraveled) / unwrap(speed)); +} \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/BUILD b/static_typing/user_defined_types/parameterized_types/BUILD new file mode 100644 index 00000000..977962e6 --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/BUILD @@ -0,0 +1,20 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "parameterized_types", + doc_template = "parameterized_types.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex1.claro", + }, + { + "example": "ex3.claro", + "expect_errors": True, + }, + ] +) diff --git a/static_typing/user_defined_types/parameterized_types/concrete_type_inference/BUILD b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/BUILD new file mode 100644 index 00000000..1f48f721 --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/BUILD @@ -0,0 +1,25 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "concrete_type_inference", + doc_template = "concrete_type_inference.tmpl.md", + examples = [ + "ex1_concat.claro", + { + "example": "ex2.claro", + "hidden_setup": "ex-setup.claro", + "expect_errors": True, + }, + { + "example": "ex3.claro", + "hidden_setup": "ex-setup.claro", + }, + ] +) + +genrule( + name = "ex1_concat", + srcs = ["ex-setup.claro", "ex1.claro"], + outs = ["ex1_concat.claro"], + cmd = "cat $(location ex-setup.claro) $(location ex1.claro) > $(OUTS)" +) \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/concrete_type_inference/concrete_type_inference.generated_docs.html b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/concrete_type_inference.generated_docs.html new file mode 100644 index 00000000..7adc272c --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/concrete_type_inference.generated_docs.html @@ -0,0 +1,280 @@ + + + + + + Concrete Type Inference - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Concrete Type Inference

    +

    Claro is able to automatically infer the type of maybeStr whenever it would be possible to do so. Generally speaking, +this is possible when the concrete type is actually referenced in the initialization.

    +

    Fig 1:

    +
    +
    newtype Maybe<T> : oneof<T, std::Error<std::Nothing>>
    +
    +var maybeStr = Maybe("hi");
    +type(maybeStr);
    +print(maybeStr);
    +
    +

    Output:

    +
    Maybe<string>
    +Maybe(hi)
    +
    +
    +
    +It's not always possible to automatically infer the type of an instance of a parameterized type. In particular, the +below example is impossible to automatically infer as the concrete type is not actually referenced in the +initialization: +
    +

    Note: Claro's error messaging is a work in progress - the below error message will be improved.

    +

    Fig 2:

    +
    +
    var maybeStr = Maybe(std::Error(std::Nothing));
    +print(maybeStr);
    +
    +

    Compilation Errors:

    +
    concrete_type_inference_EX2_example.claro:1: Invalid Generic Procedure Call: For the call to the following generic procedure `Maybe$constructor` with the following signature:
    +		`function<oneof<T, [module at //stdlib:std]::Error<Nothing>> -> Maybe<T>> Generic Over {T} Requiring Impls for Contracts {}`
    +	The output types cannot be fully inferred by the argument types alone. The output type must be contextually constrained by either a type annotation or a static cast.
    +var maybeStr = Maybe(std::Error(std::Nothing));
    +               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    +1 Error
    +
    +
    +

    In these situations Claro will require you to provide an explicit type annotation to disambiguate your intentions:

    +

    Fig 3:

    +
    +
    var maybeStr: Maybe<string> = Maybe(std::Error(std::Nothing));
    +print(maybeStr);
    +
    +

    Output:

    +
    Maybe(Error(Nothing))
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex-setup.claro b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex-setup.claro new file mode 100644 index 00000000..6eccdf1e --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex-setup.claro @@ -0,0 +1 @@ +newtype Maybe : oneof> \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex1.claro b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex1.claro new file mode 100644 index 00000000..31df775c --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex1.claro @@ -0,0 +1,5 @@ + + +var maybeStr = Maybe("hi"); +type(maybeStr); +print(maybeStr); \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex2.claro b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex2.claro new file mode 100644 index 00000000..9c0d340f --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex2.claro @@ -0,0 +1,2 @@ +var maybeStr = Maybe(std::Error(std::Nothing)); +print(maybeStr); \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex3.claro b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex3.claro new file mode 100644 index 00000000..cf3fb0f6 --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/concrete_type_inference/ex3.claro @@ -0,0 +1,2 @@ +var maybeStr: Maybe = Maybe(std::Error(std::Nothing)); +print(maybeStr); \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/ex1.claro b/static_typing/user_defined_types/parameterized_types/ex1.claro new file mode 100644 index 00000000..6eccdf1e --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/ex1.claro @@ -0,0 +1 @@ +newtype Maybe : oneof> \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/ex2.claro b/static_typing/user_defined_types/parameterized_types/ex2.claro new file mode 100644 index 00000000..10369ce9 --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/ex2.claro @@ -0,0 +1,5 @@ +var maybeInt: Maybe = Maybe(10); +print(maybeInt); + +var maybeStr = Maybe("hi"); +print(maybeStr); \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/ex3.claro b/static_typing/user_defined_types/parameterized_types/ex3.claro new file mode 100644 index 00000000..334cdf1f --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/ex3.claro @@ -0,0 +1 @@ +newtype Invalid : struct {row: int, col: int} \ No newline at end of file diff --git a/static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html b/static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html new file mode 100644 index 00000000..1fd514af --- /dev/null +++ b/static_typing/user_defined_types/parameterized_types/parameterized_types.generated_docs.html @@ -0,0 +1,272 @@ + + + + + + Parameterized Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Parameterized Types

    +

    Claro supports the definition of types that may be parameterized with a generic type so that they can be used to contain +arbitrary types. For example the following is a definition of a type Maybe<T> that has the generic type param T:

    +

    Fig 1:

    +
    +
    newtype Maybe<T> : oneof<T, std::Error<std::Nothing>>
    +
    +
    +

    This type definition is useful for describing the generic concept of a value that may or may not be present, without +needing to define repeated declarations for each specific type that may or may not be present:

    +

    Note: Claro's error messaging is a work in progress - the below error message will be improved.

    +

    Fig 2:

    +
    +
    var maybeInt: Maybe<int> = Maybe(10);
    +print(maybeInt);
    +
    +var maybeStr = Maybe("hi");
    +print(maybeStr);
    +
    +

    Output:

    +
    Maybe(10)
    +Maybe(hi)
    +
    +
    +

    Generic Type Param Must be Referenced in Type Declaration

    +
    +The generic type param must be referenced somewhere in the type definition or Claro will statically reject the +definition with an explanation of the problem. +
    +

    Fig 3:

    +
    +
    newtype Invalid<X> : struct {row: int, col: int}
    +
    +

    Compilation Errors:

    +
    Warning! The following declared symbols are unused! [X]
    +1 Error
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/user_defined_types/recursive_types/BUILD b/static_typing/user_defined_types/recursive_types/BUILD new file mode 100644 index 00000000..a01bb5e7 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/BUILD @@ -0,0 +1,24 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "recursive_types", + doc_template = "recursive_types.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "hidden_setup": "ex1.claro", + }, + { + "example": "ex3.claro", + "append_output": False, + }, + { + "example": "ex4.claro", + "hidden_setup": "ex3.claro", + }, + ] +) diff --git a/static_typing/user_defined_types/recursive_types/ex1.claro b/static_typing/user_defined_types/recursive_types/ex1.claro new file mode 100644 index 00000000..e6046e33 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/ex1.claro @@ -0,0 +1,5 @@ +newtype IntNode : struct { + val: int, + left: oneof, + right: oneof +} \ No newline at end of file diff --git a/static_typing/user_defined_types/recursive_types/ex2.claro b/static_typing/user_defined_types/recursive_types/ex2.claro new file mode 100644 index 00000000..f9835d35 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/ex2.claro @@ -0,0 +1,7 @@ +var tree = + IntNode({ + val = 1, + left = IntNode({val = 2, left = std::Nothing, right = std::Nothing}), + right = IntNode({val = 3, left = std::Nothing, right = std::Nothing}) + }); +print(tree); \ No newline at end of file diff --git a/static_typing/user_defined_types/recursive_types/ex3.claro b/static_typing/user_defined_types/recursive_types/ex3.claro new file mode 100644 index 00000000..47219919 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/ex3.claro @@ -0,0 +1,5 @@ +newtype Node : struct { + val: T, + left: oneof, std::Nothing>, + right: oneof, std::Nothing> +} \ No newline at end of file diff --git a/static_typing/user_defined_types/recursive_types/ex4.claro b/static_typing/user_defined_types/recursive_types/ex4.claro new file mode 100644 index 00000000..05337858 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/ex4.claro @@ -0,0 +1,7 @@ +var tree = + Node({ + val = 1, + left = Node({val = 2, left = std::Nothing, right = std::Nothing}), + right = Node({val = 3, left = std::Nothing, right = std::Nothing}) + }); +print(tree); \ No newline at end of file diff --git a/static_typing/user_defined_types/recursive_types/impossible_recursive_types/BUILD b/static_typing/user_defined_types/recursive_types/impossible_recursive_types/BUILD new file mode 100644 index 00000000..258db907 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/impossible_recursive_types/BUILD @@ -0,0 +1,12 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "impossible_recursive_types", + doc_template = "impossible_recursive_types.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "expect_errors": True, + }, + ] +) diff --git a/static_typing/user_defined_types/recursive_types/impossible_recursive_types/ex1.claro b/static_typing/user_defined_types/recursive_types/impossible_recursive_types/ex1.claro new file mode 100644 index 00000000..734192d5 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/impossible_recursive_types/ex1.claro @@ -0,0 +1,3 @@ +newtype IllegalUnboundedRecursiveAlias : tuple +newtype InfiniteRecursion : InfiniteRecursion +newtype PartialUnbounded : tuple diff --git a/static_typing/user_defined_types/recursive_types/impossible_recursive_types/impossible_recursive_types.generated_docs.html b/static_typing/user_defined_types/recursive_types/impossible_recursive_types/impossible_recursive_types.generated_docs.html new file mode 100644 index 00000000..b2810f1a --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/impossible_recursive_types/impossible_recursive_types.generated_docs.html @@ -0,0 +1,260 @@ + + + + + + Impossible Recursive Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Impossible-to-Initialize Recursive Alias Type Definitions

    +
    +Some recursive type definitions are rejected at compile-time because they would be impossible to instantiate. +
    +

    The issue with these type definitions is that the type recursion has no implicit "bottom" and implies an infinitely +nested value. Because it's impossible to ever initialize a value composed of infinitely many values (you'd never finish +typing the code), Claro lets you know right away at compile time that the infinitely recursive type is rejected for +being unusable.

    +

    The below recursive type definitions all trigger compile-time warnings from Claro indicating that these types aren't +usable and are therefore illegal.

    +

    Fig 1:

    +
    +
    newtype IllegalUnboundedRecursiveAlias : tuple<int, IllegalUnboundedRecursiveAlias>
    +newtype InfiniteRecursion : InfiniteRecursion
    +newtype PartialUnbounded : tuple<PartialUnbounded, [PartialUnbounded]>
    +
    +

    Compilation Errors:

    +
    Impossible Recursive Alias Type Definition: Alias `IllegalUnboundedRecursiveAlias` represents a type that is impossible to initialize in a finite number of steps. To define a recursive type you must ensure that there is an implicit "bottom" type to terminate the recursion. Try wrapping the Alias self-reference in some builtin empty-able collection:
    +	E.g.
    +		Instead of:
    +			alias BadType : tuple<int, BadType>
    +		Try something like:
    +			alias GoodType : tuple<int, [GoodType]>
    +1 Error
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html b/static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html new file mode 100644 index 00000000..a9efdaa3 --- /dev/null +++ b/static_typing/user_defined_types/recursive_types/recursive_types.generated_docs.html @@ -0,0 +1,290 @@ + + + + + + Recursive Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Recursive Types

    +

    Claro supports the definition of new types that contain recursive self-references. For example a binary tree structure +is a classic recursive data structure where each Node in the tree contains a left and right child that may either be +another Node or nothing. The below is the definition of a Node that can only hold ints:

    +

    Fig 1:

    +
    +
    newtype IntNode : struct {
    +  val: int,
    +  left: oneof<IntNode, std::Nothing>,
    +  right: oneof<IntNode, std::Nothing>
    +}
    +
    +
    +

    For example, the following initializes a simple tree with the root pointing to two children that have no children of +their own:

    +

    Fig 2:

    +
    +
    var tree =
    +  IntNode({
    +    val = 1,
    +    left = IntNode({val = 2, left = std::Nothing, right = std::Nothing}),
    +    right = IntNode({val = 3, left = std::Nothing, right = std::Nothing})
    +  });
    +print(tree);
    +
    +

    Output:

    +
    IntNode({val = 1, left = IntNode({val = 2, left = Nothing, right = Nothing}), right = IntNode({val = 3, left = Nothing, right = Nothing})})
    +
    +
    +

    Parameterized Recursive Types

    +

    Of course, the above IntNode definition is too constrained, so ideally we'd define a single Node type that's able to +represent trees of arbitrary data types. So, a better Node type definition looks like:

    +

    Fig 3:

    +
    +
    newtype Node<T> : struct {
    +  val: T,
    +  left: oneof<Node<T>, std::Nothing>,
    +  right: oneof<Node<T>, std::Nothing>
    +}
    +
    +
    +

    Initialization looks exactly the same as in the concrete IntNode example above:

    +

    Fig 4:

    +
    +
    var tree =
    +  Node({
    +    val = 1,
    +    left = Node({val = 2, left = std::Nothing, right = std::Nothing}),
    +    right = Node({val = 3, left = std::Nothing, right = std::Nothing})
    +  });
    +print(tree);
    +
    +

    Output:

    +
    Node({val = 1, left = Node({val = 2, left = Nothing, right = Nothing}), right = Node({val = 3, left = Nothing, right = Nothing})})
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/static_typing/user_defined_types/user_defined_types.generated_docs.html b/static_typing/user_defined_types/user_defined_types.generated_docs.html new file mode 100644 index 00000000..7f38758f --- /dev/null +++ b/static_typing/user_defined_types/user_defined_types.generated_docs.html @@ -0,0 +1,346 @@ + + + + + + User Defined Types - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    User Defined Types

    +

    Claro's type system already provides a very expansive expressive power to represent arbitrarily complex data structures, +so, technically speaking, there is no hard requirement for a user to ever define any new types in order write any +program. However, by using only the builtin primitive and collection types, you will not be able to leverage Claro's +static type validation to ensure that semantic differences between values with structurally equivalent types are +actually maintained.

    +

    This section will attempt to clarify how you can make use of user defined types to enforce semantic constraints +throughout your program.

    +

    Declaring a New Type

    +

    The example below demonstrates the declaration of a new type that wraps int.

    +

    Fig 1:

    +
    +
    newtype Foo : int
    +
    +
    +

    In fact, user defined types can wrap any type - even other user defined types:

    +

    Fig 2:

    +
    +
    # The order of `newtype` declarations is unimportant.
    +newtype Baz : int
    +newtype Foo : Bar
    +newtype Bar : Baz
    +
    +
    +

    Instantiating an Instance of a User Defined Type

    +

    Claro automatically provides a one-arg constructor that allows the user defined type to be instantiated by wrapping the +declared type.

    +

    Fig 3:

    +
    +
    var f = Foo(1);
    +print(f);
    +
    +

    Output:

    +
    Foo(1)
    +
    +
    +

    User Defined Types "Wrap" an Instance of Another Type

    +

    Because Claro's builtin types already enable modelling any arbitrary data structure, the purpose of user defined types +is solely to "wrap" an existing type in a statically enforceable, semantic layer that distinguishes instances of the +user defined type, from the type that is being wrapped. As such, Claro does not do any automatic conversions from the +wrapped type to the unwrapped type.

    +

    So, although newtype Foo : int simply wraps int, it is not interchangeable with int and therefore operations like ++ are not supported for Foo even though they are for int.

    +

    Fig 4:

    +
    +
    newtype Foo : int
    +var f = Foo(1);
    +print(f + 9);
    +
    +

    Compilation Errors:

    +
    user_defined_types_EX4_example.claro:3: Invalid type: found <Foo>, but expected one of (<int, long, float, double>).
    +print(f + 9);
    +      ^
    +1 Error
    +
    +
    +

    "Unwrapping" a User Defined Type

    +

    The wrapped type can be accessed by explicitly using the builtin unwrap() function.

    +

    Fig 5:

    +
    +
    newtype Foo : int
    +var f = Foo(1);
    +print(unwrap(f) + 9);
    +
    +

    Output:

    +
    10
    +
    +
    +

    Compile Time Enforcement

    +

    In the Aliases section an example was given that demonstrates the pitfall of the overuse of aliases. +One primary source of errors could be addressed by simply declaring a new type for each of MPH, Hours, and Miles. +In this case, this statically prevents accidentally passing args to the function out of order:

    +

    Fig 6:

    +
    +
    newtype MPH : double
    +newtype Hours : double # Arguably you should be using `duration::Duration`.
    +newtype Miles : double
    +
    +function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours {
    +  return Hours(unwrap(distanceTraveled) / unwrap(speed));
    +}
    +
    +# Claro can identify this type mismatch.
    +print(timeTraveled(Miles(60.0), MPH(15.0)));
    +
    +

    Compilation Errors:

    +
    user_defined_types_EX6_example.claro:10: Invalid type:
    +	Found:
    +		Miles
    +	Expected:
    +		MPH
    +print(timeTraveled(Miles(60.0), MPH(15.0)));
    +                   ^^^^^^^^^^^
    +user_defined_types_EX6_example.claro:10: Invalid type:
    +	Found:
    +		MPH
    +	Expected:
    +		Miles
    +print(timeTraveled(Miles(60.0), MPH(15.0)));
    +                                ^^^^^^^^^
    +2 Errors
    +
    +
    +

    The above error message would lead you to correct the order of arguments and thereby fix the problem:

    +

    Fig 7:

    +
    +
    print(timeTraveled(MPH(15.0), Miles(60.0)));
    +
    +

    Output:

    +
    Hours(4.0)
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/tomorrow-night.css b/tomorrow-night.css new file mode 100644 index 00000000..81fe276e --- /dev/null +++ b/tomorrow-night.css @@ -0,0 +1,102 @@ +/* Tomorrow Night Theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* https://github.com/jmblog/color-themes-for-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-attribute, +.hljs-tag, +.hljs-regexp, +.ruby .hljs-constant, +.xml .hljs-tag .hljs-title, +.xml .hljs-pi, +.xml .hljs-doctype, +.html .hljs-doctype, +.css .hljs-id, +.css .hljs-class, +.css .hljs-pseudo { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-preprocessor, +.hljs-pragma, +.hljs-built_in, +.hljs-literal, +.hljs-params, +.hljs-constant { + color: #de935f; +} + +/* Tomorrow Yellow */ +.ruby .hljs-class .hljs-title, +.css .hljs-rule .hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-value, +.hljs-inheritance, +.hljs-header, +.hljs-name, +.ruby .hljs-symbol, +.xml .hljs-cdata { + color: #b5bd68; +} + +/* Tomorrow Aqua */ +.hljs-title, +.css .hljs-hexcolor { + color: #8abeb7; +} + +/* Tomorrow Blue */ +.hljs-function, +.python .hljs-decorator, +.python .hljs-title, +.ruby .hljs-function .hljs-title, +.ruby .hljs-title .hljs-keyword, +.perl .hljs-sub, +.javascript .hljs-title, +.coffeescript .hljs-title { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.javascript .hljs-function { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; +} + +.coffeescript .javascript, +.javascript .xml, +.tex .hljs-formula, +.xml .javascript, +.xml .vbscript, +.xml .css, +.xml .hljs-cdata { + opacity: 0.5; +} + +.hljs-addition { + color: #718c00; +} + +.hljs-deletion { + color: #c82829; +} diff --git a/type_inference/BUILD b/type_inference/BUILD new file mode 100644 index 00000000..3504a216 --- /dev/null +++ b/type_inference/BUILD @@ -0,0 +1,18 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +doc_with_validated_examples( + name = "type_inference", + doc_template = "type_inference.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + "hidden_cleanup": "ex-cleanup.claro", + }, + { + "example": "ex2.claro", + "append_output": False, + "hidden_cleanup": "ex-cleanup.claro", + }, + ], +) diff --git a/type_inference/ex-cleanup.claro b/type_inference/ex-cleanup.claro new file mode 100644 index 00000000..012bfe8f --- /dev/null +++ b/type_inference/ex-cleanup.claro @@ -0,0 +1,3 @@ +_ = i; +_ = b; +_ = l; \ No newline at end of file diff --git a/type_inference/ex1.claro b/type_inference/ex1.claro new file mode 100644 index 00000000..fc8802b7 --- /dev/null +++ b/type_inference/ex1.claro @@ -0,0 +1,3 @@ +var i: int = 1; +var b: boolean = true; +var l: [tuple] = [(1, true), (2, false)]; \ No newline at end of file diff --git a/type_inference/ex2.claro b/type_inference/ex2.claro new file mode 100644 index 00000000..2eb32dd3 --- /dev/null +++ b/type_inference/ex2.claro @@ -0,0 +1,3 @@ +var i = 1; +var b = true; +var l = [(1, true), (2, false)]; diff --git a/type_inference/required_type_annotations/BUILD b/type_inference/required_type_annotations/BUILD new file mode 100644 index 00000000..a273f7ac --- /dev/null +++ b/type_inference/required_type_annotations/BUILD @@ -0,0 +1,42 @@ +load("//mdbook_docs:docs_with_validated_examples.bzl", "doc_with_validated_examples") + +exports_files( + ["ex3.claro", "ex2-cleanup.claro"], + visibility = ["//mdbook_docs/src/lambdas_and_first_class_procedures:__pkg__"] +) + +doc_with_validated_examples( + name = "required_type_annotations", + doc_template = "required_type_annotations.tmpl.md", + examples = [ + { + "example": "ex1.claro", + "append_output": False, + }, + { + "example": "ex2.claro", + "append_output": False, + "hidden_cleanup": "ex2-cleanup.claro", + }, + { + "example": "ex3.claro", + "append_output": False, + "hidden_cleanup": "ex2-cleanup.claro", + }, + { + "example": "ex4.claro", + "append_output": False, + "hidden_cleanup": "ex4-cleanup.claro", + }, + { + "example": "ex5.claro", + "append_output": False, + }, + "ex6.claro", + { + "example": "ex7.claro", + "append_output": False, + }, + "ex8.claro", + ], +) diff --git a/type_inference/required_type_annotations/ex1.claro b/type_inference/required_type_annotations/ex1.claro new file mode 100644 index 00000000..c6f6b52f --- /dev/null +++ b/type_inference/required_type_annotations/ex1.claro @@ -0,0 +1,4 @@ +function add(lhs: int, rhs: int) -> int { + # ... +$$ return lhs + rhs; +} \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex2-cleanup.claro b/type_inference/required_type_annotations/ex2-cleanup.claro new file mode 100644 index 00000000..854f2cb5 --- /dev/null +++ b/type_inference/required_type_annotations/ex2-cleanup.claro @@ -0,0 +1 @@ +_ = add; \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex2.claro b/type_inference/required_type_annotations/ex2.claro new file mode 100644 index 00000000..53d648ea --- /dev/null +++ b/type_inference/required_type_annotations/ex2.claro @@ -0,0 +1 @@ +var add: function<|int, int| -> int> = lambda (lhs, rhs) -> lhs + rhs; \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex3.claro b/type_inference/required_type_annotations/ex3.claro new file mode 100644 index 00000000..e9c1d028 --- /dev/null +++ b/type_inference/required_type_annotations/ex3.claro @@ -0,0 +1 @@ +var add = (lhs: int, rhs: int) -> int { return lhs + rhs; }; \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex4-cleanup.claro b/type_inference/required_type_annotations/ex4-cleanup.claro new file mode 100644 index 00000000..edddc8fe --- /dev/null +++ b/type_inference/required_type_annotations/ex4-cleanup.claro @@ -0,0 +1 @@ +_ = l; \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex4.claro b/type_inference/required_type_annotations/ex4.claro new file mode 100644 index 00000000..f797e55e --- /dev/null +++ b/type_inference/required_type_annotations/ex4.claro @@ -0,0 +1 @@ +var l: [int] = []; \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex5.claro b/type_inference/required_type_annotations/ex5.claro new file mode 100644 index 00000000..a7f01ec8 --- /dev/null +++ b/type_inference/required_type_annotations/ex5.claro @@ -0,0 +1,6 @@ +var t = (1, "one", 1.1); +var i = random::nextNonNegativeBoundedInt(random::create(), 3); + +# This program crashes at runtime a third of the time... +var t_int = cast(int , t[i]); +print(t_int); \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex6.claro b/type_inference/required_type_annotations/ex6.claro new file mode 100644 index 00000000..ae7bc47b --- /dev/null +++ b/type_inference/required_type_annotations/ex6.claro @@ -0,0 +1,14 @@ +function assertVariant(o: oneof) -> oneof> { + if (o instanceof Asserted) { + return o; + } + return std::Error(std::Nothing); +} + +var myOneof: oneof = "hello"; + +var assertedInt = cast(oneof>, assertVariant(myOneof)); +var assertedStr = cast(oneof>, assertVariant(myOneof)); + +print(assertedInt); +print(assertedStr); diff --git a/type_inference/required_type_annotations/ex7.claro b/type_inference/required_type_annotations/ex7.claro new file mode 100644 index 00000000..a327a30b --- /dev/null +++ b/type_inference/required_type_annotations/ex7.claro @@ -0,0 +1,10 @@ +consumer foo(a: A) { + # ... +$$ print(a); +} + +var t = (1, "one"); +var i: int = # ... +$$ random::nextNonNegativeBoundedInt(random::create(), 2); + +foo(cast(int, t[i])); \ No newline at end of file diff --git a/type_inference/required_type_annotations/ex8.claro b/type_inference/required_type_annotations/ex8.claro new file mode 100644 index 00000000..50bedb78 --- /dev/null +++ b/type_inference/required_type_annotations/ex8.claro @@ -0,0 +1,5 @@ +consumer apply(a: A, c: consumer) { + c(a); +} + +apply(1, x -> { print(x + 10); }); \ No newline at end of file diff --git a/type_inference/required_type_annotations/required_type_annotations.generated_docs.html b/type_inference/required_type_annotations/required_type_annotations.generated_docs.html new file mode 100644 index 00000000..82dd8be5 --- /dev/null +++ b/type_inference/required_type_annotations/required_type_annotations.generated_docs.html @@ -0,0 +1,360 @@ + + + + + + Required Type Annotations - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Required Type Annotations

    +

    There are same specific situations where Claro will require a type annotation to understand your intent. Note that these +situations are not just a limitation of the compiler, even if Claro would somehow implicitly decide a type for you in +these situations, your colleagues (or your future self) would struggle to comprehend what type was being inferred.

    +

    For clarity and correctness in the following situations, you will be required to write an explicit type annotation:

    +

    Procedure Signatures

    +

    Most obvious is the fact that all procedure signatures must fully encode the types of any +arguments and, if the procedure returns a value, its return type.

    +

    Fig 1:

    +
    +
    function add(lhs: int, rhs: int) -> int {
    +  # ...
    +  return lhs + rhs;
    +}
    +
    +
    +
    +

    If you're thinking, "but sometimes I want to write procedures that can accept values of more than one type!", then you +have a couple options:

    +
      +
    • If you know the possible set of types ahead of time: use +oneof<...>
    • +
    • Otherwise: use generics
    • +
    +
    +

    Lambda Expressions assigned to variables

    +

    As lambdas are just anonymous procedures, they must either be used in a context that already "asserts" the lambda's +signature, such as in this variable declaration:

    +

    Fig 2:

    +
    +
    var add: function<|int, int| -> int> = lambda (lhs, rhs) -> lhs + rhs;
    +
    +
    +

    Note: Claro does support an alternative syntax sugar to bake the type annotation directly into the lambda expression:

    +

    Fig 3:

    +
    +
    var add = (lhs: int, rhs: int) -> int { return lhs + rhs; };
    +
    +
    +

    Initializing Empty Builtin Collections

    +

    Claro would have no way of knowing what type the below list was intended to be without an explicit type annotation:

    +

    Fig 4:

    +
    +
    var l: [int] = [];
    +
    +
    +

    Non-literal Tuple Subscript

    +

    Unlike with literal integer tuple subscript indices, when you use a non-literal tuple subscript index value, you have +hidden the index from Claro's type inference behind a layer of indirection that Claro will not attempt to follow. In +these cases you'll be required to assert your intent via a runtime type cast:

    +

    Fig 5:

    +
    +
    var t = (1, "one", 1.1);
    +var i = random::nextNonNegativeBoundedInt(random::create(), 3);
    +
    +# This program crashes at runtime a third of the time...
    +var t_int = cast(int , t[i]);
    +print(t_int);
    +
    +
    +
    +

    Warning: Claro allows this simply to avoid being too restrictive, but you should arguably take these runtime casts +as a code-smell and find a statically safe way to rewrite your code to avoid this sort of dynamic tuple subscripting.

    +
    +

    (Advanced) Calls to Generic Procedure With Unconstrained Return Type

    +

    When a generic return type can't be inferred from arg(s) referencing the same generic type, you must explicitly assert +the type that you intend for the procedure to return.

    +

    This is something that will likely only come up in more advanced usage of the language. Getting into this situation +requires using multiple language features together in a rather intentional way, but for completeness here's an example +of how this may happen:

    +

    Fig 6:

    +
    +
    function assertVariant<A, B, Asserted>(o: oneof<A, B>) -> oneof<Asserted, std::Error<std::Nothing>> {
    +  if (o instanceof Asserted) {
    +    return o;
    +  }
    +  return std::Error(std::Nothing);
    +}
    +
    +var myOneof: oneof<int, string> = "hello";
    +
    +var assertedInt = cast(oneof<int, std::Error<std::Nothing>>, assertVariant(myOneof));
    +var assertedStr = cast(oneof<string, std::Error<std::Nothing>>, assertVariant(myOneof));
    +
    +print(assertedInt);
    +print(assertedStr);
    +
    +

    Output:

    +
    Error(Nothing)
    +hello
    +
    +
    +

    See the Generic Return Type Inference +section for more on this.

    +

    Any Ambiguously-Typed Expression Passed to a Generic Function Arg Position

    +

    Because Claro monomorphizes generic procedures, Claro must determine the called +procedure's concrete types based on the types of the arguments. In the case that the type of an argument expression is +ambiguous, it must be explicitly annotated with a cast:

    +

    Fig 7:

    +
    +
    consumer foo<A>(a: A) {
    +  # ...
    +  print(a);
    +}
    +
    +var t = (1, "one");
    +var i: int = # ...
    +  random::nextNonNegativeBoundedInt(random::create(), 2);
    +
    +foo(cast(int, t[i]));
    +
    +
    +

    However, the effect of this can be limited in generic procedures with multiple arguments. The type cast may not be +necessary if the type parameter is already constrained by another preceding argument:

    +

    Fig 8:

    +
    +
    consumer apply<A>(a: A, c: consumer<A>) {
    +  c(a);
    +}
    +
    +apply(1, x -> { print(x + 10); });
    +
    +

    Output:

    +
    11
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + diff --git a/type_inference/type_inference.generated_docs.html b/type_inference/type_inference.generated_docs.html new file mode 100644 index 00000000..556141d1 --- /dev/null +++ b/type_inference/type_inference.generated_docs.html @@ -0,0 +1,266 @@ + + + + + + Type Inference - The Claro Programming Language (DRAFT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Type Inference

    +

    So far, through each code snippet you've seen, each variable has always included an explicit type declaration. This may +be useful for the sake of very explicit readability, however, these type annotations littering your entire codebase may +begin to feel very clunky and inconvenient - particularly when the type is very obvious to the reader, or sometimes if +it becomes very long to type (as the result of many layers of nested collections for example). In almost every case, +however, these explicit type annotations are optional in Claro!

    +

    Claro is smart enough to be able to infer the vast majority of types in any given program. So, unless you feel that the +type annotation being present makes the code more readable in a particular situation, then you can generally omit it +entirely! Please keep in mind, however, that while this may indeed make your code visually resemble something like +Python or JavaScript, Claro is 100% statically typed. Therefor, in this regard, Claro is much more alike +Rust/Java/Haskell than it is like any dynamic language. And, importantly, Claro is not an "Optionally Statically +Typed" language like Typescript - the compiler must always statically know the type of every value, you may at times +simply choose to avoid explicitly including the type annotation in the source code.

    +

    Examples

    +

    Instead of:

    +

    Fig 1:

    +
    +
    var i: int = 1;
    +var b: boolean = true;
    +var l: [tuple<int, boolean>] = [(1, true), (2, false)];
    +
    +
    +

    You could write:

    +

    Fig 2:

    +
    +
    var i = 1;
    +var b = true;
    +var l = [(1, true), (2, false)];
    +
    +
    +

    Each corresponding statement has exactly the same meaning. They differ only syntactically. Each variable is still +declared to have the same static type you'd expect.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Aliases

    +

    Aliases are a powerful feature that allow the expression of arbitrary types. In their simplest form, they may be used as +syntactic sugar to reduce keystrokes and cognitive overhead from typing out a full type literal.

    +

    Fig 1:

    +
    +
    # You can imagine that typing this out could be verbose/annoying.
    +alias IntsToTupleFn: function<|int, int| -> tuple<int, int>>
    +
    +consumer prettyPrint(name: string, fn: IntsToTupleFn, arg1: int, arg2: int) {
    +  var res = fn(arg1, arg2);
    +  print("{name}({arg1}, {arg2}) -> {res}");
    +}
    +
    +var swapped: IntsToTupleFn = lambda (a, b) -> (b, a);
    +prettyPrint("swapped", swapped, 1, 2);
    +
    +var doubled: IntsToTupleFn = lambda (a, b) -> (2*a, 2*b);
    +prettyPrint("doubled", doubled, 1, 2);
    +
    +

    Output:

    +
    swapped(1, 2) -> (2, 1)
    +doubled(1, 2) -> (2, 4)
    +
    +
    +

    Aliases are Syntactic Sugar

    +

    To be absolutely clear, Aliases are simply syntactic sugar as shown in the example above. They provide a mechanism for +reducing the amount of boilerplate code that may need to be written where full type annotations are explicitly required. +They also allow you to communicate some sort of "intent" where you would like to communicate the purpose of a value to +other developers (or your future self) without actually committing to defining a fully new custom type (though aliases +should be used for this purpose with caution). For example, below you'll see an example of using aliases to indicate +that different int values have different interpretations.

    +

    Fig 2:

    +
    +
    alias MPH : double
    +alias Hours : double # Arguably you should be using `duration::Duration`.
    +alias Miles : double
    +
    +function timeTraveled(speed: MPH, distanceTraveled: Miles) -> Hours {
    +  return distanceTraveled / speed;
    +}
    +
    +var speed: MPH = 15.0;
    +var distance: Miles = 60.0;
    +print(timeTraveled(speed, distance));
    +
    +

    Output:

    +
    4.0
    +
    +
    +

    Overuse of Aliases Can be a Code Smell

    +
    +Keep in mind that excessive use of aliases can be a code smell. If you are using an alias to try to encode some semantic +distinction between values, it's very likely that you are writing highly bug-prone code as aliases do not provide any +level of compile time verification that values of different alias types don't get accidentally conflated. +
    +

    Fig 3:

    +
    +
    var mySpeed: MPH = 15.0;
    +var myDistance: Miles = 60.0;
    +
    +# Aliases provide zero compile-time protection from mistakenly passing these
    +# args out-of-order.
    +print(timeTraveled(myDistance, mySpeed));
    +
    +

    Output:

    +
    0.25
    +
    +
    +

    See User Defined Types for an example of how to +address this issue.

    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    +
    +

    Generics

    +

    Oftentimes, you'll find that some code patterns keep coming up over and over and you'll want to find same way to factor +out the major commonalities in logic from the minor specific details that you'd want to just plug in as needed. For +example, you might realize that you're writing loops to filter lists based on conditions all over your code; the only +difference between the implementation in any of these occurrences of filtering being the element types and the specific +condition. But because you want to filter lists of all kinds of types you might not immediately think you could write a +single function that could be called wherever filtering is needed. Enter Generics!

    +

    Fig 1:

    +
    +
    function reduce<A, B>(l: [A], fn: function<|B, A| -> B>, accum: B) -> B {
    +  for (e in l) {
    +    accum = fn(accum, e);
    +  }
    +  return accum;
    +}
    +
    +
    +

    The function reduce<A, B>(...) is defined to take a list of elements of some arbitrary (generic) type, A, and an +accumulation function that takes in the current accumulated value, of type B, and the current element of that generic +type, A. In this example, the particular types A and B are "unconstrained". The only constraint is the typical +constraint that the given function's first arg must have the same type as the initial accumulated value, and the second +arg must have the same type as the elements of the reduced list.

    +

    So, the generic types take on the "concrete" types of the data that happens to be passed into the function's callsite:

    +

    Fig 2:

    +
    +
    var sum: int = reduce([1, 2, 3, 4], lambda (accum, x) -> accum + x, 0);
    +
    +var totalChars: int =
    +  reduce(
    +    ["Count", "the", "total", "chars", "in", "these", "strings"],
    +    lambda (accum, s) -> accum + len(s),
    +    0
    +  );
    +
    +print(sum);
    +print(totalChars);
    +
    +

    Output:

    +
    10
    +32
    +
    +
    + +
    + + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + +